/* Generated by Cython 3.0.11 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h",
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayscalars.h",
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h",
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h",
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/ufuncobject.h",
            "dearcygui/backends/backend.h",
            "src/mvMath.h"
        ],
        "extra_compile_args": [
            "-DIMGUI_DEFINE_MATH_OPERATORS",
            "-DMVDIST_ONLY",
            "-D_CRT_SECURE_NO_WARNINGS",
            "-D_USE_MATH_DEFINES",
            "-DMV_DPG_MAJOR_VERSION=1",
            "-DMV_DPG_MINOR_VERSION=0",
            "-DIMGUI_IMPL_OPENGL_LOADER_GL3W",
            "-DIMGUI_USER_CONFIG=\"mvImGuiLinuxConfig.h\"",
            "-DMV_SANDBOX_VERSION=\"master\"",
            "-DNDEBUG",
            "-fwrapv",
            "-O2",
            "-DUNIX",
            "-DLINUX",
            "-DCUSTOM_IMGUIFILEDIALOG_CONFIG=\"ImGuiFileDialogConfigUnix.h\""
        ],
        "extra_link_args": [
            "-O2"
        ],
        "include_dirs": [
            "dearcygui/backends",
            "src",
            "thirdparty/imgui",
            "thirdparty/imgui/backends",
            "thirdparty/ImGuiFileDialog",
            "thirdparty/imnodes",
            "thirdparty/implot",
            "thirdparty/gl3w",
            "/tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/_core/include",
            "/usr/include/freetype2/"
        ],
        "language": "c++",
        "libraries": [
            "freetype",
            "crypt",
            "pthread",
            "dl",
            "util",
            "m",
            "GL",
            "glfw"
        ],
        "name": "dearcygui.core",
        "sources": [
            "dearcygui/core.pyx",
            "dearcygui/backends/glfw_gl3_backend.cpp",
            "thirdparty/imnodes/imnodes.cpp",
            "thirdparty/implot/implot.cpp",
            "thirdparty/implot/implot_items.cpp",
            "thirdparty/implot/implot_demo.cpp",
            "thirdparty/ImGuiFileDialog/ImGuiFileDialog.cpp",
            "thirdparty/imgui/misc/cpp/imgui_stdlib.cpp",
            "thirdparty/imgui/imgui.cpp",
            "thirdparty/imgui/imgui_demo.cpp",
            "thirdparty/imgui/imgui_draw.cpp",
            "thirdparty/imgui/imgui_widgets.cpp",
            "thirdparty/imgui/imgui_tables.cpp",
            "thirdparty/imgui/backends/imgui_impl_glfw.cpp",
            "thirdparty/imgui/backends/imgui_impl_opengl3.cpp",
            "thirdparty/imgui/misc/freetype/imgui_freetype.cpp",
            "thirdparty/gl3w/GL/gl3w.c"
        ]
    },
    "module_name": "dearcygui.core"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
#if defined(CYTHON_LIMITED_API) && 0
  #ifndef Py_LIMITED_API
    #if CYTHON_LIMITED_API+0 > 0x03030000
      #define Py_LIMITED_API CYTHON_LIMITED_API
    #else
      #define Py_LIMITED_API 0x03030000
    #endif
  #endif
#endif

#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.7+ or Python 3.3+.
#else
#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
#else
#define __PYX_EXTRA_ABI_MODULE_NAME ""
#endif
#define CYTHON_ABI "3_0_11" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
#define CYTHON_HEX_VERSION 0x03000BF0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
  #define HAVE_LONG_LONG
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
     The existence of this section does not imply that anything works or is even tested */
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 1
  #define CYTHON_COMPILING_IN_NOGIL 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
  #endif
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#elif defined(PYPY_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_NOGIL 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
  #endif
  #if PY_VERSION_HEX < 0x03090000
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#elif defined(CYTHON_LIMITED_API)
  #ifdef Py_LIMITED_API
    #undef __PYX_LIMITED_VERSION_HEX
    #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
  #endif
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 1
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_NOGIL 0
  #undef CYTHON_CLINE_IN_TRACEBACK
  #define CYTHON_CLINE_IN_TRACEBACK 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 1
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #endif
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 1
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #endif
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_NOGIL 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #ifndef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL 1
  #endif
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
  #endif
  #ifndef CYTHON_USE_FREELISTS
    #define CYTHON_USE_FREELISTS 0
  #endif
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_NOGIL 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #ifndef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_GIL
    #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6)
  #endif
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1)
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #if PY_VERSION_HEX < 0x030400a1
    #undef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #elif !defined(CYTHON_USE_TP_FINALIZE)
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #if PY_VERSION_HEX < 0x030600B1
    #undef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS 0
  #elif !defined(CYTHON_USE_DICT_VERSIONS)
    #define CYTHON_USE_DICT_VERSIONS  (PY_VERSION_HEX < 0x030C00A5)
  #endif
  #if PY_VERSION_HEX < 0x030700A3
    #undef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK 0
  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
    #define CYTHON_USE_EXC_INFO_STACK 1
  #endif
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
  #endif
  #ifndef CYTHON_USE_FREELISTS
    #define CYTHON_USE_FREELISTS 1
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if !defined(CYTHON_VECTORCALL)
#define CYTHON_VECTORCALL  (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
#endif
#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_MAJOR_VERSION < 3
    #include "longintrepr.h"
  #endif
  #undef SHIFT
  #undef BASE
  #undef MASK
  #ifdef SIZEOF_VOID_P
    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  #endif
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(maybe_unused)
        #define CYTHON_UNUSED [[maybe_unused]]
      #endif
    #endif
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_USE_CPP_STD_MOVE
  #if defined(__cplusplus) && (\
    __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
    #define CYTHON_USE_CPP_STD_MOVE 1
  #else
    #define CYTHON_USE_CPP_STD_MOVE 0
  #endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
            typedef unsigned char     uint8_t;
            typedef unsigned short    uint16_t;
            typedef unsigned int      uint32_t;
        #else
            typedef unsigned __int8   uint8_t;
            typedef unsigned __int16  uint16_t;
            typedef unsigned __int32  uint32_t;
        #endif
    #endif
    #if _MSC_VER < 1300
        #ifdef _WIN64
            typedef unsigned long long  __pyx_uintptr_t;
        #else
            typedef unsigned int        __pyx_uintptr_t;
        #endif
    #else
        #ifdef _WIN64
            typedef unsigned __int64    __pyx_uintptr_t;
        #else
            typedef unsigned __int32    __pyx_uintptr_t;
        #endif
    #endif
#else
    #include <stdint.h>
    typedef uintptr_t  __pyx_uintptr_t;
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(fallthrough)
        #define CYTHON_FALLTHROUGH [[fallthrough]]
      #endif
    #endif
    #ifndef CYTHON_FALLTHROUGH
      #if __has_cpp_attribute(clang::fallthrough)
        #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
      #elif __has_cpp_attribute(gnu::fallthrough)
        #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
      #endif
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif
#ifdef __cplusplus
  template <typename T>
  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
#else
  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
#endif
#if CYTHON_COMPILING_IN_PYPY == 1
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
#endif
#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))

#ifndef __cplusplus
  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
#endif
#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #else
    #define CYTHON_INLINE inline
  #endif
#endif
template<typename T>
void __Pyx_call_destructor(T& x) {
    x.~T();
}
template<typename T>
class __Pyx_FakeReference {
  public:
    __Pyx_FakeReference() : ptr(NULL) { }
    __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
    T *operator->() { return ptr; }
    T *operator&() { return ptr; }
    operator T&() { return *ptr; }
    template<typename U> bool operator ==(const U& other) const { return *ptr == other; }
    template<typename U> bool operator !=(const U& other) const { return *ptr != other; }
    template<typename U> bool operator==(const __Pyx_FakeReference<U>& other) const { return *ptr == *other.ptr; }
    template<typename U> bool operator!=(const __Pyx_FakeReference<U>& other) const { return *ptr != *other.ptr; }
  private:
    T *ptr;
};

#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_DefaultClassType PyClass_Type
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_DefaultClassType PyType_Type
#if CYTHON_COMPILING_IN_LIMITED_API
    static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                                    PyObject *fv, PyObject *cell, PyObject* fn,
                                                    PyObject *name, int fline, PyObject *lnos) {
        PyObject *exception_table = NULL;
        PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
        #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
        PyObject *version_info;
        PyObject *py_minor_version = NULL;
        #endif
        long minor_version = 0;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
        minor_version = 11;
        #else
        if (!(version_info = PySys_GetObject("version_info"))) goto end;
        if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
        minor_version = PyLong_AsLong(py_minor_version);
        Py_DECREF(py_minor_version);
        if (minor_version == -1 && PyErr_Occurred()) goto end;
        #endif
        if (!(types_module = PyImport_ImportModule("types"))) goto end;
        if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
        if (minor_version <= 7) {
            (void)p;
            result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else if (minor_version <= 10) {
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else {
            if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
        }
    end:
        Py_XDECREF(code_type);
        Py_XDECREF(exception_table);
        Py_XDECREF(types_module);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return result;
    }
    #ifndef CO_OPTIMIZED
    #define CO_OPTIMIZED 0x0001
    #endif
    #ifndef CO_NEWLOCALS
    #define CO_NEWLOCALS 0x0002
    #endif
    #ifndef CO_VARARGS
    #define CO_VARARGS 0x0004
    #endif
    #ifndef CO_VARKEYWORDS
    #define CO_VARKEYWORDS 0x0008
    #endif
    #ifndef CO_ASYNC_GENERATOR
    #define CO_ASYNC_GENERATOR 0x0200
    #endif
    #ifndef CO_GENERATOR
    #define CO_GENERATOR 0x0020
    #endif
    #ifndef CO_COROUTINE
    #define CO_COROUTINE 0x0080
    #endif
#elif PY_VERSION_HEX >= 0x030B0000
  static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                                    PyObject *fv, PyObject *cell, PyObject* fn,
                                                    PyObject *name, int fline, PyObject *lnos) {
    PyCodeObject *result;
    PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);
    if (!empty_bytes) return NULL;
    result =
      #if PY_VERSION_HEX >= 0x030C0000
        PyUnstable_Code_NewWithPosOnlyArgs
      #else
        PyCode_NewWithPosOnlyArgs
      #endif
        (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
    Py_DECREF(empty_bytes);
    return result;
  }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
#endif
#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
  #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
#else
  #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
  #define __Pyx_Py_Is(x, y)  Py_Is(x, y)
#else
  #define __Pyx_Py_Is(x, y) ((x) == (y))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
  #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
#else
  #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
  #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
#else
  #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
  #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
#else
  #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
#endif
#define __Pyx_NoneAsNull(obj)  (__Pyx_Py_IsNone(obj) ? NULL : (obj))
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
#else
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
#endif
#ifndef CO_COROUTINE
  #define CO_COROUTINE 0x80
#endif
#ifndef CO_ASYNC_GENERATOR
  #define CO_ASYNC_GENERATOR 0x200
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef Py_TPFLAGS_SEQUENCE
  #define Py_TPFLAGS_SEQUENCE 0
#endif
#ifndef Py_TPFLAGS_MAPPING
  #define Py_TPFLAGS_MAPPING 0
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #if PY_VERSION_HEX >= 0x030d00A4
  #  define __Pyx_PyCFunctionFast PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
  #else
  #  define __Pyx_PyCFunctionFast _PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
  #endif
#endif
#if CYTHON_METH_FASTCALL
  #define __Pyx_METH_FASTCALL METH_FASTCALL
  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
#else
  #define __Pyx_METH_FASTCALL METH_VARARGS
  #define __Pyx_PyCFunction_FastCall PyCFunction
  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
#endif
#if CYTHON_VECTORCALL
  #define __pyx_vectorcallfunc vectorcallfunc
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  PY_VECTORCALL_ARGUMENTS_OFFSET
  #define __Pyx_PyVectorcall_NARGS(n)  PyVectorcall_NARGS((size_t)(n))
#elif CYTHON_BACKPORT_VECTORCALL
  typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
                                            size_t nargsf, PyObject *kwnames);
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  ((size_t)1 << (8 * sizeof(size_t) - 1))
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
#else
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  0
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(n))
#endif
#if PY_MAJOR_VERSION >= 0x030900B1
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_CheckExact(func)
#else
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_Check(func)
#endif
#define __Pyx_CyOrPyCFunction_Check(func)  PyCFunction_Check(func)
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  (((PyCFunctionObject*)(func))->m_ml->ml_meth)
#elif !CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  PyCFunction_GET_FUNCTION(func)
#endif
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FLAGS(func)  (((PyCFunctionObject*)(func))->m_ml->ml_flags)
static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
    return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
}
#endif
static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
#else
    return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
#endif
}
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCFunction(func, cfunc)
#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  ((void)m, PyType_FromSpecWithBases(s, b))
  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  PyType_FromModuleAndSpec(m, s, b)
  #define __Pyx_PyCMethod  PyCMethod
#endif
#ifndef METH_METHOD
  #define METH_METHOD 0x200
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op)
{
    void *result;
    result = PyModule_GetState(op);
    if (!result)
        Py_FatalError("Couldn't find the module state");
    return result;
}
#endif
#define __Pyx_PyObject_GetSlot(obj, name, func_ctype)  __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype)
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((func_ctype) PyType_GetSlot((type), Py_##name))
#else
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((type)->name)
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
typedef int Py_tss_t;
static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  *key = PyThread_create_key();
  return 0;
}
static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  *key = Py_tss_NEEDS_INIT;
  return key;
}
static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  PyObject_Free(key);
}
static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  return *key != Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  PyThread_delete_key(*key);
  *key = Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  return PyThread_set_key_value(*key, value);
}
static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  return PyThread_get_key_value(*key);
}
#endif
#if PY_MAJOR_VERSION < 3
    #if CYTHON_COMPILING_IN_PYPY
        #if PYPY_VERSION_NUM < 0x07030600
            #if defined(__cplusplus) && __cplusplus >= 201402L
                [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]]
            #elif defined(__GNUC__) || defined(__clang__)
                __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")))
            #elif defined(_MSC_VER)
                __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))
            #endif
            static CYTHON_INLINE int PyGILState_Check(void) {
                return 0;
            }
        #else  // PYPY_VERSION_NUM < 0x07030600
        #endif  // PYPY_VERSION_NUM < 0x07030600
    #else
        static CYTHON_INLINE int PyGILState_Check(void) {
            PyThreadState * tstate = _PyThreadState_Current;
            return tstate && (tstate == PyGILState_GetThisThreadState());
        }
    #endif
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
    PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
    if (res == NULL) PyErr_Clear();
    return res;
}
#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000)
#define __Pyx_PyDict_GetItemStrWithError  PyDict_GetItemWithError
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#else
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
#if CYTHON_COMPILING_IN_PYPY
    return PyDict_GetItem(dict, name);
#else
    PyDictEntry *ep;
    PyDictObject *mp = (PyDictObject*) dict;
    long hash = ((PyStringObject *) name)->ob_shash;
    assert(hash != -1);
    ep = (mp->ma_lookup)(mp, name, hash);
    if (ep == NULL) {
        return NULL;
    }
    return ep->me_value;
#endif
}
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#endif
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetFlags(tp)   (((PyTypeObject *)tp)->tp_flags)
  #define __Pyx_PyType_HasFeature(type, feature)  ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
  #define __Pyx_PyObject_GetIterNextFunc(obj)  (Py_TYPE(obj)->tp_iternext)
#else
  #define __Pyx_PyType_GetFlags(tp)   (PyType_GetFlags((PyTypeObject *)tp))
  #define __Pyx_PyType_HasFeature(type, feature)  PyType_HasFeature(type, feature)
  #define __Pyx_PyObject_GetIterNextFunc(obj)  PyIter_Next
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
#else
  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  {\
    PyTypeObject *type = Py_TYPE((PyObject*)obj);\
    assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
    PyObject_GC_Del(obj);\
    Py_DECREF(type);\
}
#else
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  PyObject_GC_Del(obj)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GetLength(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((void)u, 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((void)u, (0))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)u)
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GetLength(u))
#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_READY(op)       (0)
  #else
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
  #endif
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         ((int)PyUnicode_KIND(u))
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #else
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
    #else
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
    #endif
  #endif
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((int)sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #if !defined(PyUnicode_DecodeUnicodeEscape)
    #define PyUnicode_DecodeUnicodeEscape(s, size, errors)  PyUnicode_Decode(s, size, "unicode_escape", errors)
  #endif
  #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500)
    #undef PyUnicode_Contains
    #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
  #endif
  #if !defined(PyByteArray_Check)
    #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
  #endif
  #if !defined(PyObject_Format)
    #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
  #endif
#endif
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#ifndef PyObject_Unicode
  #define PyObject_Unicode             PyObject_Str
#endif
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#if CYTHON_COMPILING_IN_CPYTHON
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#else
  #define __Pyx_PySequence_ListKeepNew(obj)  PySequence_List(obj)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        __Pyx_IS_TYPE(obj, &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
  #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
  #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
#endif
#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#else
  static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *module = PyImport_AddModule(name);
      Py_XINCREF(module);
      return module;
  }
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define __Pyx_Py3Int_Check(op)       PyLong_Check(op)
  #define __Pyx_Py3Int_CheckExact(op)  PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#else
  #define __Pyx_Py3Int_Check(op)       (PyLong_Check(op) || PyInt_Check(op))
  #define __Pyx_Py3Int_CheckExact(op)  (PyLong_CheckExact(op) || PyInt_CheckExact(op))
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
#endif

#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
  #if !defined(_USE_MATH_DEFINES)
    #define _USE_MATH_DEFINES
  #endif
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif

#define __PYX_MARK_ERR_POS(f_index, lineno) \
    { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__;  (void)__pyx_clineno; }
#define __PYX_ERR(f_index, lineno, Ln_error) \
    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }

#ifdef CYTHON_EXTERN_C
    #undef __PYX_EXTERN_C
    #define __PYX_EXTERN_C CYTHON_EXTERN_C
#elif defined(__PYX_EXTERN_C)
    #ifdef _MSC_VER
    #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
    #else
    #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
    #endif
#else
    #define __PYX_EXTERN_C extern "C++"
#endif

#define __PYX_HAVE__dearcygui__core
#define __PYX_HAVE_API__dearcygui__core
/* Early includes */
#include "imgui.h"
#include "imgui_internal.h"
#include "implot.h"
#include "implot_internal.h"
#include "imnodes.h"
#include "mvMath.h"

    struct float4 {
        float p[4];
    };
    typedef struct float4 float4;
    struct double4 {
        double p[4];
    };
    typedef struct double4 double4;
    
#include <mutex>
#include <atomic>
#include <string.h>
#include <string>
#include "ios"
#include "new"
#include "stdexcept"
#include "typeinfo"
#include "backend.h"
#include <stddef.h>
#include <time.h>
#include <utility>

    #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
    // move should be defined for these versions of MSVC, but __cplusplus isn't set usefully
    #include <type_traits>

    namespace cython_std {
    template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
    template <typename T> typename std::remove_reference<T>::type&& move(T&& t) noexcept { return std::move(t); }
    }

    #endif
    
#include <map>
#include <vector>
#include <stdio.h>

    /* Using NumPy API declarations from "numpy/__init__.cython-30.pxd" */
    
#include "numpy/arrayobject.h"
#include "numpy/ndarrayobject.h"
#include "numpy/ndarraytypes.h"
#include "numpy/arrayscalars.h"
#include "numpy/ufuncobject.h"
#include <algorithm>
#include <cmath>
#include <set>
#include <math.h>
#include <stdint.h>

    #if PY_VERSION_HEX >= 0x030d00b1 || defined(PyTime_t)
        #define __Pyx_PyTime_t PyTime_t
    #else
        #define __Pyx_PyTime_t _PyTime_t
    #endif

    #if PY_VERSION_HEX >= 0x030d00b1 || defined(PyTime_TimeRaw)
        static CYTHON_INLINE __Pyx_PyTime_t __Pyx_PyTime_TimeRaw(void) {
            __Pyx_PyTime_t tic;
            (void) PyTime_TimeRaw(&tic);
            return tic;
        }
    #else
        #define __Pyx_PyTime_TimeRaw()  _PyTime_GetSystemClock()
    #endif

    #if PY_VERSION_HEX >= 0x030d00b1 || defined(PyTime_MonotonicRaw)
        static CYTHON_INLINE __Pyx_PyTime_t __Pyx_PyTime_MonotonicRaw(void) {
            __Pyx_PyTime_t tic;
            (void) PyTime_MonotonicRaw(&tic);
            return tic;
        }
    #elif CYTHON_COMPILING_IN_PYPY && !defined(_PyTime_GetMonotonicClock)
        #define __Pyx_PyTime_MonotonicRaw()  _PyTime_GetSystemClock()
    #else
        #define __Pyx_PyTime_MonotonicRaw()  _PyTime_GetMonotonicClock()
    #endif

    #if PY_VERSION_HEX >= 0x030d00b1 || defined(PyTime_PerfCounterRaw)
        static CYTHON_INLINE __Pyx_PyTime_t __Pyx_PyTime_PerfCounterRaw(void) {
            __Pyx_PyTime_t tic;
            (void) PyTime_PerfCounterRaw(&tic);
            return tic;
        }
    #elif CYTHON_COMPILING_IN_PYPY && !defined(_PyTime_GetPerfCounter)
        #define __Pyx_PyTime_PerfCounterRaw()  __Pyx_PyTime_MonotonicRaw()
    #else
        #define __Pyx_PyTime_PerfCounterRaw()  _PyTime_GetPerfCounter()
    #endif

    #if PY_VERSION_HEX >= 0x030d00b1 || defined(PyTime_AsSecondsDouble)
        #define __Pyx_PyTime_AsSecondsDouble(t)  PyTime_AsSecondsDouble(t)
    #else
        #define __Pyx_PyTime_AsSecondsDouble(t)  _PyTime_AsSecondsDouble(t)
    #endif
    

    bool InvisibleDrawButton(int uuid, const ImVec2& pos, const ImVec2& size,
                                           ImGuiButtonFlags flags,
                                           bool catch_if_hovered,
                                           bool *out_hovered, bool *out_held)
    {
        ImGuiContext& g = *GImGui;
        ImGuiWindow* window = ImGui::GetCurrentWindow();
        const ImRect bb(pos, pos + size);

        const ImGuiID id = window->GetID(uuid);
        ImGui::KeepAliveID(id);

        // Catch mouse if we are just in front of it
        if (catch_if_hovered && ImGui::IsMouseHoveringRect(bb.Min, bb.Max)) {
            // If we are in front of a window, and the button is not
            // made inside the window (for example viewport front drawlist),
            // the will catch hovering and prevent activation. This is why we
            // need to set HoveredWindow.
            // After we have activation, or if the click initiated outside of any
            // window, this is not needed anymore.
            g.HoveredWindow = window;
            // Replace any item that thought was hovered
            ImGui::SetHoveredID(id);
            // Enable ourselves to catch activation if clicked.
            ImGui::ClearActiveID();
            // Ignore if another item had registered the click for
            // themselves
            flags |= ImGuiButtonFlags_NoTestKeyOwner;
        }

        flags |= ImGuiButtonFlags_AllowOverlap | ImGuiButtonFlags_PressedOnClick;

        bool pressed = ImGui::ButtonBehavior(bb, id, out_hovered, out_held, flags);

        return pressed;
    }
    

    ImVec2 GetDefaultItemSize(ImVec2 requested_size)
    {
        return ImTrunc(ImGui::CalcItemSize(requested_size, ImGui::CalcItemWidth(), ImGui::GetTextLineHeightWithSpacing() * 7.25f + ImGui::GetStyle().FramePadding.y * 2.0f));
    }
    

    ImPlotAxisFlags GetAxisConfig(int axis)
    {
        return ImPlot::GetCurrentContext()->CurrentPlot->Axes[axis].Flags;
    }
    ImPlotLocation GetLegendConfig(ImPlotLegendFlags &flags)
    {
        flags = ImPlot::GetCurrentContext()->CurrentPlot->Items.Legend.Flags;
        return ImPlot::GetCurrentContext()->CurrentPlot->Items.Legend.Location;
    }
    ImPlotFlags GetPlotConfig()
    {
        return ImPlot::GetCurrentContext()->CurrentPlot->Flags;
    }
    bool IsItemHidden(const char* label_id)
    {
        ImPlotItem* item = ImPlot::GetItem(label_id);
        return item != nullptr && !item->Show;
    }
    
#include "pythread.h"
#include <stdlib.h>
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
    return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyObject_AsWritableString(s)    ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#define __Pyx_PyUnicode_FromOrdinal(o)       PyUnicode_FromOrdinal((int)o)
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_VERSION_HEX >= 0x030C00A7
  #ifndef _PyLong_SIGN_MASK
    #define _PyLong_SIGN_MASK 3
  #endif
  #ifndef _PyLong_NON_SIZE_BITS
    #define _PyLong_NON_SIZE_BITS 3
  #endif
  #define __Pyx_PyLong_Sign(x)  (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
  #define __Pyx_PyLong_IsNeg(x)  ((__Pyx_PyLong_Sign(x) & 2) != 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (!__Pyx_PyLong_IsNeg(x))
  #define __Pyx_PyLong_IsZero(x)  (__Pyx_PyLong_Sign(x) & 1)
  #define __Pyx_PyLong_IsPos(x)  (__Pyx_PyLong_Sign(x) == 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  (__Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
  #define __Pyx_PyLong_SignedDigitCount(x)\
        ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
  #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
    #define __Pyx_PyLong_IsCompact(x)     PyUnstable_Long_IsCompact((PyLongObject*) x)
    #define __Pyx_PyLong_CompactValue(x)  PyUnstable_Long_CompactValue((PyLongObject*) x)
  #else
    #define __Pyx_PyLong_IsCompact(x)     (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
    #define __Pyx_PyLong_CompactValue(x)  ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
  #endif
  typedef Py_ssize_t  __Pyx_compact_pylong;
  typedef size_t  __Pyx_compact_upylong;
  #else
  #define __Pyx_PyLong_IsNeg(x)  (Py_SIZE(x) < 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (Py_SIZE(x) >= 0)
  #define __Pyx_PyLong_IsZero(x)  (Py_SIZE(x) == 0)
  #define __Pyx_PyLong_IsPos(x)  (Py_SIZE(x) > 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  __Pyx_sst_abs(Py_SIZE(x))
  #define __Pyx_PyLong_SignedDigitCount(x)  Py_SIZE(x)
  #define __Pyx_PyLong_IsCompact(x)  (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
  #define __Pyx_PyLong_CompactValue(x)\
        ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
  typedef sdigit  __Pyx_compact_pylong;
  typedef digit  __Pyx_compact_upylong;
  #endif
  #if PY_VERSION_HEX >= 0x030C00A5
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->long_value.ob_digit)
  #else
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->ob_digit)
  #endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
#include <string.h>
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = (char) c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#include <string.h>
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }

#if !CYTHON_USE_MODULE_STATE
static PyObject *__pyx_m = NULL;
#endif
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm = __FILE__;
static const char *__pyx_filename;

/* Header.proto */
#if !defined(CYTHON_CCOMPLEX)
  #if defined(__cplusplus)
    #define CYTHON_CCOMPLEX 1
  #elif (defined(_Complex_I) && !defined(_MSC_VER)) || ((defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) && !defined(__STDC_NO_COMPLEX__) && !defined(_MSC_VER))
    #define CYTHON_CCOMPLEX 1
  #else
    #define CYTHON_CCOMPLEX 0
  #endif
#endif
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #include <complex>
  #else
    #include <complex.h>
  #endif
#endif
#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
  #undef _Complex_I
  #define _Complex_I 1.0fj
#endif

/* #### Code section: filename_table ### */

static const char *__pyx_f[] = {
  "dearcygui/core.pxd",
  "dearcygui/core.pyx",
  "<stringsource>",
  "__init__.cython-30.pxd",
  "dearcygui/backends/time.pxd",
  "type.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* ForceInitThreads.proto */
#ifndef __PYX_FORCE_INIT_THREADS
  #define __PYX_FORCE_INIT_THREADS 0
#endif

/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
#define __Pyx_FastGIL_Remember()
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()

/* BufferFormatStructs.proto */
struct __Pyx_StructField_;
#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
typedef struct {
  const char* name;
  struct __Pyx_StructField_* fields;
  size_t size;
  size_t arraysize[8];
  int ndim;
  char typegroup;
  char is_unsigned;
  int flags;
} __Pyx_TypeInfo;
typedef struct __Pyx_StructField_ {
  __Pyx_TypeInfo* type;
  const char* name;
  size_t offset;
} __Pyx_StructField;
typedef struct {
  __Pyx_StructField* field;
  size_t parent_offset;
} __Pyx_BufFmt_StackElem;
typedef struct {
  __Pyx_StructField root;
  __Pyx_BufFmt_StackElem* head;
  size_t fmt_offset;
  size_t new_count, enc_count;
  size_t struct_alignment;
  int is_complex;
  char enc_type;
  char new_packmode;
  char enc_packmode;
  char is_valid_array;
} __Pyx_BufFmt_Context;

/* Atomics.proto */
#include <pythread.h>
#ifndef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 1
#endif
#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS
#define __pyx_atomic_int_type int
#define __pyx_nonatomic_int_type int
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__))
    #include <stdatomic.h>
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)))
    #include <atomic>
#endif
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__) &&\
                       ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type atomic_int
    #define __pyx_atomic_incr_aligned(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed)
    #define __pyx_atomic_decr_aligned(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C atomics"
    #endif
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\
                    ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type std::atomic_int
    #define __pyx_atomic_incr_aligned(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed)
    #define __pyx_atomic_decr_aligned(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C++ atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C++ atomics"
    #endif
#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\
                    (__GNUC_MINOR__ > 1 ||\
                    (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2))))
    #define __pyx_atomic_incr_aligned(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_decr_aligned(value) __sync_fetch_and_sub(value, 1)
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Using GNU atomics"
    #endif
#elif CYTHON_ATOMICS && defined(_MSC_VER)
    #include <intrin.h>
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type long
    #undef __pyx_nonatomic_int_type
    #define __pyx_nonatomic_int_type long
    #pragma intrinsic (_InterlockedExchangeAdd)
    #define __pyx_atomic_incr_aligned(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_decr_aligned(value) _InterlockedExchangeAdd(value, -1)
    #ifdef __PYX_DEBUG_ATOMICS
        #pragma message ("Using MSVC atomics")
    #endif
#else
    #undef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 0
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Not using atomics"
    #endif
#endif
#if CYTHON_ATOMICS
    #define __pyx_add_acquisition_count(memview)\
             __pyx_atomic_incr_aligned(__pyx_get_slice_count_pointer(memview))
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_atomic_decr_aligned(__pyx_get_slice_count_pointer(memview))
#else
    #define __pyx_add_acquisition_count(memview)\
            __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
#endif

/* MemviewSliceStruct.proto */
struct __pyx_memoryview_obj;
typedef struct {
  struct __pyx_memoryview_obj *memview;
  char *data;
  Py_ssize_t shape[8];
  Py_ssize_t strides[8];
  Py_ssize_t suboffsets[8];
} __Pyx_memviewslice;
#define __Pyx_MemoryView_Len(m)  (m.shape[0])

/* #### Code section: numeric_typedefs ### */

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":769
 * # in Cython to enable them only on the right systems.
 * 
 * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
 */
typedef npy_int8 __pyx_t_5numpy_int8_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":770
 * 
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t
 */
typedef npy_int16 __pyx_t_5numpy_int16_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":771
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int64      int64_t
 * #ctypedef npy_int96      int96_t
 */
typedef npy_int32 __pyx_t_5numpy_int32_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":772
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_int96      int96_t
 * #ctypedef npy_int128     int128_t
 */
typedef npy_int64 __pyx_t_5numpy_int64_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":776
 * #ctypedef npy_int128     int128_t
 * 
 * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
 */
typedef npy_uint8 __pyx_t_5numpy_uint8_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":777
 * 
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t
 */
typedef npy_uint16 __pyx_t_5numpy_uint16_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":778
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint64     uint64_t
 * #ctypedef npy_uint96     uint96_t
 */
typedef npy_uint32 __pyx_t_5numpy_uint32_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":779
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_uint96     uint96_t
 * #ctypedef npy_uint128    uint128_t
 */
typedef npy_uint64 __pyx_t_5numpy_uint64_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":783
 * #ctypedef npy_uint128    uint128_t
 * 
 * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_float64    float64_t
 * #ctypedef npy_float80    float80_t
 */
typedef npy_float32 __pyx_t_5numpy_float32_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":784
 * 
 * ctypedef npy_float32    float32_t
 * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_float80    float80_t
 * #ctypedef npy_float128   float128_t
 */
typedef npy_float64 __pyx_t_5numpy_float64_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":791
 * ctypedef double complex complex128_t
 * 
 * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
 * ctypedef npy_ulonglong  ulonglong_t
 * 
 */
typedef npy_longlong __pyx_t_5numpy_longlong_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":792
 * 
 * ctypedef npy_longlong   longlong_t
 * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_intp       intp_t
 */
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":794
 * ctypedef npy_ulonglong  ulonglong_t
 * 
 * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uintp      uintp_t
 * 
 */
typedef npy_intp __pyx_t_5numpy_intp_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":795
 * 
 * ctypedef npy_intp       intp_t
 * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_double     float_t
 */
typedef npy_uintp __pyx_t_5numpy_uintp_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":797
 * ctypedef npy_uintp      uintp_t
 * 
 * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t
 */
typedef npy_double __pyx_t_5numpy_float_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":798
 * 
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
 * ctypedef npy_longdouble longdouble_t
 * 
 */
typedef npy_double __pyx_t_5numpy_double_t;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":799
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef float complex       cfloat_t
 */
typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
/* #### Code section: complex_type_declarations ### */
/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< float > __pyx_t_float_complex;
  #else
    typedef float _Complex __pyx_t_float_complex;
  #endif
#else
    typedef struct { float real, imag; } __pyx_t_float_complex;
#endif
static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);

/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< double > __pyx_t_double_complex;
  #else
    typedef double _Complex __pyx_t_double_complex;
  #endif
#else
    typedef struct { double real, imag; } __pyx_t_double_complex;
#endif
static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);

/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< long double > __pyx_t_long_double_complex;
  #else
    typedef long double _Complex __pyx_t_long_double_complex;
  #endif
#else
    typedef struct { long double real, imag; } __pyx_t_long_double_complex;
#endif
static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double, long double);

/* #### Code section: type_declarations ### */

/*--- Type declarations ---*/
struct __pyx_obj_9dearcygui_4core_Context;
struct __pyx_obj_9dearcygui_4core_baseItem;
struct __pyx_obj_9dearcygui_4core_Viewport;
struct __pyx_obj_9dearcygui_4core_Callback;
struct __pyx_obj_9dearcygui_4core_drawingItem;
struct __pyx_obj_9dearcygui_4core_DrawingList;
struct __pyx_obj_9dearcygui_4core_DrawingListScale;
struct __pyx_obj_9dearcygui_4core_DrawArrow_;
struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_;
struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_;
struct __pyx_obj_9dearcygui_4core_DrawCircle_;
struct __pyx_obj_9dearcygui_4core_DrawEllipse_;
struct __pyx_obj_9dearcygui_4core_DrawImage_;
struct __pyx_obj_9dearcygui_4core_DrawImageQuad_;
struct __pyx_obj_9dearcygui_4core_DrawLine_;
struct __pyx_obj_9dearcygui_4core_DrawPolyline_;
struct __pyx_obj_9dearcygui_4core_DrawPolygon_;
struct __pyx_obj_9dearcygui_4core_DrawQuad_;
struct __pyx_obj_9dearcygui_4core_DrawRect_;
struct __pyx_obj_9dearcygui_4core_DrawText_;
struct __pyx_obj_9dearcygui_4core_DrawTriangle_;
struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton;
struct __pyx_obj_9dearcygui_4core_ViewportDrawList_;
struct __pyx_obj_9dearcygui_4core_SharedValue;
struct __pyx_obj_9dearcygui_4core_SharedBool;
struct __pyx_obj_9dearcygui_4core_SharedFloat;
struct __pyx_obj_9dearcygui_4core_SharedInt;
struct __pyx_obj_9dearcygui_4core_SharedColor;
struct __pyx_obj_9dearcygui_4core_SharedDouble;
struct __pyx_obj_9dearcygui_4core_SharedStr;
struct __pyx_obj_9dearcygui_4core_SharedFloat4;
struct __pyx_obj_9dearcygui_4core_SharedInt4;
struct __pyx_obj_9dearcygui_4core_SharedDouble4;
struct __pyx_obj_9dearcygui_4core_SharedFloatVect;
struct __pyx_obj_9dearcygui_4core_baseHandler;
struct __pyx_obj_9dearcygui_4core_KeyDownHandler_;
struct __pyx_obj_9dearcygui_4core_KeyPressHandler_;
struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_;
struct __pyx_obj_9dearcygui_4core_MouseClickHandler_;
struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_;
struct __pyx_obj_9dearcygui_4core_MouseDownHandler_;
struct __pyx_obj_9dearcygui_4core_MouseDragHandler_;
struct __pyx_obj_9dearcygui_4core_MouseMoveHandler;
struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_;
struct __pyx_obj_9dearcygui_4core_MouseWheelHandler;
struct __pyx_obj_9dearcygui_4core_uiItem;
struct __pyx_obj_9dearcygui_4core_DrawInWindow;
struct __pyx_obj_9dearcygui_4core_SimplePlot;
struct __pyx_obj_9dearcygui_4core_Button;
struct __pyx_obj_9dearcygui_4core_Combo;
struct __pyx_obj_9dearcygui_4core_Checkbox;
struct __pyx_obj_9dearcygui_4core_Slider;
struct __pyx_obj_9dearcygui_4core_ListBox;
struct __pyx_obj_9dearcygui_4core_RadioButton;
struct __pyx_obj_9dearcygui_4core_InputText;
struct __pyx_obj_9dearcygui_4core_InputValue;
struct __pyx_obj_9dearcygui_4core_Text;
struct __pyx_obj_9dearcygui_4core_Selectable;
struct __pyx_obj_9dearcygui_4core_MenuItem;
struct __pyx_obj_9dearcygui_4core_ProgressBar;
struct __pyx_obj_9dearcygui_4core_Image;
struct __pyx_obj_9dearcygui_4core_ImageButton;
struct __pyx_obj_9dearcygui_4core_Separator;
struct __pyx_obj_9dearcygui_4core_Spacer;
struct __pyx_obj_9dearcygui_4core_MenuBar;
struct __pyx_obj_9dearcygui_4core_Menu;
struct __pyx_obj_9dearcygui_4core_Tooltip;
struct __pyx_obj_9dearcygui_4core_TabButton;
struct __pyx_obj_9dearcygui_4core_Tab;
struct __pyx_obj_9dearcygui_4core_TabBar;
struct __pyx_obj_9dearcygui_4core_Layout;
struct __pyx_obj_9dearcygui_4core_HorizontalLayout;
struct __pyx_obj_9dearcygui_4core_VerticalLayout;
struct __pyx_obj_9dearcygui_4core_TreeNode;
struct __pyx_obj_9dearcygui_4core_CollapsingHeader;
struct __pyx_obj_9dearcygui_4core_ChildWindow;
struct __pyx_obj_9dearcygui_4core_ColorButton;
struct __pyx_obj_9dearcygui_4core_ColorEdit;
struct __pyx_obj_9dearcygui_4core_ColorPicker;
struct __pyx_obj_9dearcygui_4core_TimeWatcher;
struct __pyx_obj_9dearcygui_4core_Window;
struct __pyx_obj_9dearcygui_4core_Texture;
struct __pyx_obj_9dearcygui_4core_Font;
struct __pyx_obj_9dearcygui_4core_FontTexture;
struct __pyx_obj_9dearcygui_4core_baseTheme;
struct __pyx_obj_9dearcygui_4core_PlotAxisConfig;
struct __pyx_obj_9dearcygui_4core_PlotLegendConfig;
struct __pyx_obj_9dearcygui_4core_Plot;
struct __pyx_obj_9dearcygui_4core_plotElement;
struct __pyx_obj_9dearcygui_4core_plotElementWithLegend;
struct __pyx_obj_9dearcygui_4core_plotElementXY;
struct __pyx_obj_9dearcygui_4core_PlotLine;
struct __pyx_obj_9dearcygui_4core_plotElementXYY;
struct __pyx_obj_9dearcygui_4core_PlotShadedLine;
struct __pyx_obj_9dearcygui_4core_PlotStems;
struct __pyx_obj_9dearcygui_4core_PlotBars;
struct __pyx_obj_9dearcygui_4core_PlotStairs;
struct __pyx_obj_9dearcygui_4core_plotElementX;
struct __pyx_obj_9dearcygui_4core_PlotInfLines;
struct __pyx_obj_9dearcygui_4core_PlotScatter;
struct __pyx_obj_9dearcygui_4core_DrawInPlot;
struct __pyx_obj_9dearcygui_4core_DPGCallback;
struct __pyx_obj_9dearcygui_4core_PlaceHolderParent;
struct __pyx_obj___Pyx_EnumMeta;
struct __pyx_array_obj;
struct __pyx_MemviewEnum_obj;
struct __pyx_memoryview_obj;
struct __pyx_memoryviewslice_obj;

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1095
 * 
 * # Iterator API added in v1.6
 * ctypedef int (*NpyIter_IterNextFunc)(NpyIter* it) noexcept nogil             # <<<<<<<<<<<<<<
 * ctypedef void (*NpyIter_GetMultiIndexFunc)(NpyIter* it, npy_intp* outcoords) noexcept nogil
 * 
 */
typedef int (*__pyx_t_5numpy_NpyIter_IterNextFunc)(NpyIter *);

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1096
 * # Iterator API added in v1.6
 * ctypedef int (*NpyIter_IterNextFunc)(NpyIter* it) noexcept nogil
 * ctypedef void (*NpyIter_GetMultiIndexFunc)(NpyIter* it, npy_intp* outcoords) noexcept nogil             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "numpy/arrayobject.h":
 */
typedef void (*__pyx_t_5numpy_NpyIter_GetMultiIndexFunc)(NpyIter *, npy_intp *);
struct __pyx_t_9dearcygui_4core_itemStateCapabilities;
struct __pyx_t_9dearcygui_4core_itemStateValues;
struct __pyx_t_9dearcygui_4core_itemState;
union __pyx_t_9dearcygui_4core_theme_value;
typedef union __pyx_t_9dearcygui_4core_theme_value __pyx_t_9dearcygui_4core_theme_value;
struct __pyx_t_9dearcygui_4core_theme_action;
typedef struct __pyx_t_9dearcygui_4core_theme_action __pyx_t_9dearcygui_4core_theme_action;

/* "dearcygui/core.pxd":214
 *     cdef void set_hidden_no_handler_and_propagate_to_children_with_handlers(self) noexcept nogil
 * 
 * cdef enum child_type:             # <<<<<<<<<<<<<<
 *     cat_drawing
 *     cat_viewport_drawlist
 */
enum __pyx_t_9dearcygui_4core_child_type {
  __pyx_e_9dearcygui_4core_cat_drawing,
  __pyx_e_9dearcygui_4core_cat_viewport_drawlist,
  __pyx_e_9dearcygui_4core_cat_handler,
  __pyx_e_9dearcygui_4core_cat_menubar,
  __pyx_e_9dearcygui_4core_cat_payload,
  __pyx_e_9dearcygui_4core_cat_plot_element,
  __pyx_e_9dearcygui_4core_cat_tab,
  __pyx_e_9dearcygui_4core_cat_theme,
  __pyx_e_9dearcygui_4core_cat_widget,
  __pyx_e_9dearcygui_4core_cat_window
};

/* "dearcygui/core.pxd":267
 * 
 * 
 * cpdef enum mouse_cursor:             # <<<<<<<<<<<<<<
 *     CursorNone = -1,
 *     CursorArrow = 0,
 */
enum __pyx_t_9dearcygui_4core_mouse_cursor {
  __pyx_e_9dearcygui_4core_CursorNone = -1L,
  __pyx_e_9dearcygui_4core_CursorArrow = 0,
  __pyx_e_9dearcygui_4core_CursorTextInput,
  __pyx_e_9dearcygui_4core_ResizeAll,
  __pyx_e_9dearcygui_4core_ResizeNS,
  __pyx_e_9dearcygui_4core_ResizeEW,
  __pyx_e_9dearcygui_4core_ResizeNESW,
  __pyx_e_9dearcygui_4core_ResizeNWSE,
  __pyx_e_9dearcygui_4core_Hand,
  __pyx_e_9dearcygui_4core_NotAllowed
};

/* "dearcygui/core.pxd":646
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cpdef enum positioning:             # <<<<<<<<<<<<<<
 *     DEFAULT,
 *     REL_DEFAULT,
 */
enum __pyx_t_9dearcygui_4core_positioning {
  __pyx_e_9dearcygui_4core_DEFAULT,
  __pyx_e_9dearcygui_4core_REL_DEFAULT,
  __pyx_e_9dearcygui_4core_REL_PARENT,
  __pyx_e_9dearcygui_4core_REL_WINDOW,
  __pyx_e_9dearcygui_4core_REL_VIEWPORT
};

/* "dearcygui/core.pxd":852
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cpdef enum alignment:             # <<<<<<<<<<<<<<
 *     LEFT=0,
 *     TOP=0,
 */
enum __pyx_t_9dearcygui_4core_alignment {
  __pyx_e_9dearcygui_4core_LEFT = 0,
  __pyx_e_9dearcygui_4core_TOP = 0,
  __pyx_e_9dearcygui_4core_RIGHT = 1,
  __pyx_e_9dearcygui_4core_BOTTOM = 1,
  __pyx_e_9dearcygui_4core_CENTER = 2,
  __pyx_e_9dearcygui_4core_JUSTIFIED = 3,
  __pyx_e_9dearcygui_4core_MANUAL = 4
};

/* "dearcygui/core.pxd":978
 *     cdef list fonts
 * 
 * cdef enum theme_types:             # <<<<<<<<<<<<<<
 *     t_color,
 *     t_style
 */
enum __pyx_t_9dearcygui_4core_theme_types {
  __pyx_e_9dearcygui_4core_t_color,
  __pyx_e_9dearcygui_4core_t_style
};

/* "dearcygui/core.pxd":982
 *     t_style
 * 
 * cdef enum theme_backends:             # <<<<<<<<<<<<<<
 *     t_imgui,
 *     t_implot,
 */
enum __pyx_t_9dearcygui_4core_theme_backends {
  __pyx_e_9dearcygui_4core_t_imgui,
  __pyx_e_9dearcygui_4core_t_implot,
  __pyx_e_9dearcygui_4core_t_imnodes
};

/* "dearcygui/core.pxd":987
 *     t_imnodes
 * 
 * cpdef enum theme_enablers:             # <<<<<<<<<<<<<<
 *     t_enabled_any,
 *     t_enabled_False,
 */
enum __pyx_t_9dearcygui_4core_theme_enablers {
  __pyx_e_9dearcygui_4core_t_enabled_any,
  __pyx_e_9dearcygui_4core_t_enabled_False,
  __pyx_e_9dearcygui_4core_t_enabled_True,
  __pyx_e_9dearcygui_4core_t_discarded
};

/* "dearcygui/core.pxd":993
 *     t_discarded
 * 
 * cpdef enum theme_categories:             # <<<<<<<<<<<<<<
 *     t_any,
 *     t_simpleplot,
 */
enum __pyx_t_9dearcygui_4core_theme_categories {
  __pyx_e_9dearcygui_4core_t_any,
  __pyx_e_9dearcygui_4core_t_simpleplot,
  __pyx_e_9dearcygui_4core_t_button,
  __pyx_e_9dearcygui_4core_t_combo,
  __pyx_e_9dearcygui_4core_t_checkbox,
  __pyx_e_9dearcygui_4core_t_slider,
  __pyx_e_9dearcygui_4core_t_listbox,
  __pyx_e_9dearcygui_4core_t_radiobutton,
  __pyx_e_9dearcygui_4core_t_inputtext,
  __pyx_e_9dearcygui_4core_t_inputvalue,
  __pyx_e_9dearcygui_4core_t_text,
  __pyx_e_9dearcygui_4core_t_selectable,
  __pyx_e_9dearcygui_4core_t_tab,
  __pyx_e_9dearcygui_4core_t_tabbar,
  __pyx_e_9dearcygui_4core_t_tabbutton,
  __pyx_e_9dearcygui_4core_t_menuitem,
  __pyx_e_9dearcygui_4core_t_progressbar,
  __pyx_e_9dearcygui_4core_t_image,
  __pyx_e_9dearcygui_4core_t_imagebutton,
  __pyx_e_9dearcygui_4core_t_menubar,
  __pyx_e_9dearcygui_4core_t_menu,
  __pyx_e_9dearcygui_4core_t_tooltip,
  __pyx_e_9dearcygui_4core_t_layout,
  __pyx_e_9dearcygui_4core_t_treenode,
  __pyx_e_9dearcygui_4core_t_collapsingheader,
  __pyx_e_9dearcygui_4core_t_child,
  __pyx_e_9dearcygui_4core_t_colorbutton,
  __pyx_e_9dearcygui_4core_t_coloredit,
  __pyx_e_9dearcygui_4core_t_colorpicker,
  __pyx_e_9dearcygui_4core_t_window,
  __pyx_e_9dearcygui_4core_t_plot
};

/* "dearcygui/core.pxd":1026
 *     t_plot
 * 
 * cdef enum theme_value_types:             # <<<<<<<<<<<<<<
 *     t_int,
 *     t_float,
 */
enum __pyx_t_9dearcygui_4core_theme_value_types {
  __pyx_e_9dearcygui_4core_t_int,
  __pyx_e_9dearcygui_4core_t_float,
  __pyx_e_9dearcygui_4core_t_float2,
  __pyx_e_9dearcygui_4core_t_u32
};

/* "dearcygui/core.pxd":1070
 * """
 * 
 * cpdef enum AxisScale:             # <<<<<<<<<<<<<<
 *     linear=implot.ImPlotScale_Linear
 *     time=implot.ImPlotScale_Time
 */
enum __pyx_t_9dearcygui_4core_AxisScale {

  /* "dearcygui/core.pxd":1074
 *     time=implot.ImPlotScale_Time
 *     log10=implot.ImPlotScale_Log10
 *     symlog=implot.ImPlotScale_SymLog             # <<<<<<<<<<<<<<
 * 
 * cpdef enum Axis:
 */
  __pyx_e_9dearcygui_4core_linear = ImPlotScale_Linear,
  __pyx_e_9dearcygui_4core_time = ImPlotScale_Time,
  __pyx_e_9dearcygui_4core_log10 = ImPlotScale_Log10,
  __pyx_e_9dearcygui_4core_symlog = ImPlotScale_SymLog
};

/* "dearcygui/core.pxd":1076
 *     symlog=implot.ImPlotScale_SymLog
 * 
 * cpdef enum Axis:             # <<<<<<<<<<<<<<
 *     X1=implot.ImAxis_X1
 *     X2=implot.ImAxis_X2
 */
enum __pyx_t_9dearcygui_4core_Axis {

  /* "dearcygui/core.pxd":1082
 *     Y1=implot.ImAxis_Y1
 *     Y2=implot.ImAxis_Y2
 *     Y3=implot.ImAxis_Y3             # <<<<<<<<<<<<<<
 * 
 * cpdef enum LegendLocation:
 */
  __pyx_e_9dearcygui_4core_X1 = ImAxis_X1,
  __pyx_e_9dearcygui_4core_X2 = ImAxis_X2,
  __pyx_e_9dearcygui_4core_X3 = ImAxis_X3,
  __pyx_e_9dearcygui_4core_Y1 = ImAxis_Y1,
  __pyx_e_9dearcygui_4core_Y2 = ImAxis_Y2,
  __pyx_e_9dearcygui_4core_Y3 = ImAxis_Y3
};

/* "dearcygui/core.pxd":1084
 *     Y3=implot.ImAxis_Y3
 * 
 * cpdef enum LegendLocation:             # <<<<<<<<<<<<<<
 *     center=implot.ImPlotLocation_Center
 *     north=implot.ImPlotLocation_Center
 */
enum __pyx_t_9dearcygui_4core_LegendLocation {

  /* "dearcygui/core.pxd":1093
 *     northeast=implot.ImPlotLocation_NorthEast
 *     southwest=implot.ImPlotLocation_SouthWest
 *     southeast=implot.ImPlotLocation_SouthEast             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotAxisConfig(baseItem):
 */
  __pyx_e_9dearcygui_4core_center = ImPlotLocation_Center,
  __pyx_e_9dearcygui_4core_north = ImPlotLocation_Center,
  __pyx_e_9dearcygui_4core_south = ImPlotLocation_Center,
  __pyx_e_9dearcygui_4core_west = ImPlotLocation_Center,
  __pyx_e_9dearcygui_4core_east = ImPlotLocation_Center,
  __pyx_e_9dearcygui_4core_northwest = ImPlotLocation_NorthWest,
  __pyx_e_9dearcygui_4core_northeast = ImPlotLocation_NorthEast,
  __pyx_e_9dearcygui_4core_southwest = ImPlotLocation_SouthWest,
  __pyx_e_9dearcygui_4core_southeast = ImPlotLocation_SouthEast
};

/* "dearcygui/core.pxd":226
 *     cat_window
 * 
 * cdef struct itemStateCapabilities:             # <<<<<<<<<<<<<<
 *     bint can_be_active
 *     bint can_be_clicked
 */
struct __pyx_t_9dearcygui_4core_itemStateCapabilities {
  int can_be_active;
  int can_be_clicked;
  int can_be_deactivated_after_edited;
  int can_be_dragged;
  int can_be_edited;
  int can_be_focused;
  int can_be_hovered;
  int can_be_toggled;
  int has_position;
  int has_rect_size;
  int has_content_region;
};

/* "dearcygui/core.pxd":239
 *     bint has_content_region
 * 
 * cdef struct itemStateValues:             # <<<<<<<<<<<<<<
 *     bint hovered  # Mouse is over the item + overlap rules of mouse ownership
 *     bint active # Item is 'active': mouse pressed, editing field, etc.
 */
struct __pyx_t_9dearcygui_4core_itemStateValues {
  int hovered;
  int active;
  int focused;
  int clicked[((int)ImGuiMouseButton_COUNT)];
  int double_clicked[((int)ImGuiMouseButton_COUNT)];
  int dragging[((int)ImGuiMouseButton_COUNT)];
  ImVec2 drag_deltas[((int)ImGuiMouseButton_COUNT)];
  int edited;
  int deactivated_after_edited;
  int open;
  ImVec2 pos_to_viewport;
  ImVec2 pos_to_window;
  ImVec2 pos_to_parent;
  ImVec2 pos_to_default;
  ImVec2 rect_size;
  ImVec2 content_region_size;
  int rendered;
};

/* "dearcygui/core.pxd":259
 *     bint rendered
 * 
 * cdef struct itemState:             # <<<<<<<<<<<<<<
 *     itemStateCapabilities cap
 *     itemStateValues prev
 */
struct __pyx_t_9dearcygui_4core_itemState {
  struct __pyx_t_9dearcygui_4core_itemStateCapabilities cap;
  struct __pyx_t_9dearcygui_4core_itemStateValues prev;
  struct __pyx_t_9dearcygui_4core_itemStateValues cur;
};

/* "dearcygui/core.pxd":1032
 *     t_u32
 * 
 * ctypedef union theme_value:             # <<<<<<<<<<<<<<
 *     int value_int
 *     float value_float
 */
union __pyx_t_9dearcygui_4core_theme_value {
  int value_int;
  float value_float;
  float value_float2[2];
  unsigned int value_u32;
};

/* "dearcygui/core.pxd":1038
 *     unsigned value_u32
 * 
 * ctypedef struct theme_action:             # <<<<<<<<<<<<<<
 *     theme_enablers activation_condition_enabled
 *     theme_categories activation_condition_category
 */
struct __pyx_t_9dearcygui_4core_theme_action {
  enum __pyx_t_9dearcygui_4core_theme_enablers activation_condition_enabled;
  enum __pyx_t_9dearcygui_4core_theme_categories activation_condition_category;
  enum __pyx_t_9dearcygui_4core_theme_types type;
  enum __pyx_t_9dearcygui_4core_theme_backends backend;
  int theme_index;
  enum __pyx_t_9dearcygui_4core_theme_value_types value_type;
  __pyx_t_9dearcygui_4core_theme_value value;
};

/* "dearcygui/core.pxd":54
 *     lock_gil_friendly_block(m)
 * 
 * cdef class Context:             # <<<<<<<<<<<<<<
 *     cdef recursive_mutex mutex
 *     cdef atomic[long long] next_uuid
 */
struct __pyx_obj_9dearcygui_4core_Context {
  PyObject_HEAD
  struct __pyx_vtabstruct_9dearcygui_4core_Context *__pyx_vtab;
  std::recursive_mutex mutex;
  std::atomic<PY_LONG_LONG>  next_uuid;
  PyObject *items;
  PyObject *tag_to_uuid;
  PyObject *uuid_to_tag;
  PyObject *threadlocal_data;
  int waitOneFrame;
  int started;
  std::recursive_mutex imgui_mutex;
  struct __pyx_obj_9dearcygui_4core_Viewport *_viewport;
  struct ImGuiContext *imgui_context;
  struct ImPlotContext *implot_context;
  struct ImNodesContext *imnodes_context;
  int resetTheme;
  struct __pyx_obj_9dearcygui_4core_Callback *on_close_callback;
  PyObject *queue;
};


/* "dearcygui/core.pxd":144
 * A child then points to its previous and next sibling of its category
 * """
 * cdef class baseItem:             # <<<<<<<<<<<<<<
 *     cdef recursive_mutex mutex
 *     cdef int external_lock
 */
struct __pyx_obj_9dearcygui_4core_baseItem {
  PyObject_HEAD
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem *__pyx_vtab;
  std::recursive_mutex mutex;
  int external_lock;
  struct __pyx_obj_9dearcygui_4core_Context *context;
  PY_LONG_LONG uuid;
  PyObject *__weakref__;
  PyObject *_user_data;
  int can_have_drawing_child;
  int can_have_handler_child;
  int can_have_menubar_child;
  int can_have_payload_child;
  int can_have_plot_element_child;
  int can_have_tab_child;
  int can_have_theme_child;
  int can_have_widget_child;
  int can_have_window_child;
  int can_have_sibling;
  int element_child_category;
  struct __pyx_t_9dearcygui_4core_itemState *p_state;
  std::vector<PyObject *>  _handlers;
  struct __pyx_obj_9dearcygui_4core_baseItem *_parent;
  struct __pyx_obj_9dearcygui_4core_baseItem *_prev_sibling;
  struct __pyx_obj_9dearcygui_4core_baseItem *_next_sibling;
  struct __pyx_obj_9dearcygui_4core_drawingItem *last_drawings_child;
  struct __pyx_obj_9dearcygui_4core_baseHandler *last_handler_child;
  struct __pyx_obj_9dearcygui_4core_uiItem *last_menubar_child;
  struct __pyx_obj_9dearcygui_4core_baseItem *last_payloads_child;
  struct __pyx_obj_9dearcygui_4core_plotElement *last_plot_element_child;
  struct __pyx_obj_9dearcygui_4core_uiItem *last_tab_child;
  struct __pyx_obj_9dearcygui_4core_baseTheme *last_theme_child;
  struct __pyx_obj_9dearcygui_4core_uiItem *last_widgets_child;
  struct __pyx_obj_9dearcygui_4core_Window *last_window_child;
};


/* "dearcygui/core.pxd":279
 *     NotAllowed
 * 
 * cdef class Viewport(baseItem):             # <<<<<<<<<<<<<<
 *     cdef recursive_mutex mutex_backend
 *     cdef mvViewport *viewport
 */
struct __pyx_obj_9dearcygui_4core_Viewport {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  std::recursive_mutex mutex_backend;
  struct mvViewport *viewport;
  struct mvGraphics graphics;
  int initialized;
  struct __pyx_obj_9dearcygui_4core_Callback *_resize_callback;
  struct __pyx_obj_9dearcygui_4core_Callback *_close_callback;
  struct __pyx_obj_9dearcygui_4core_Font *_font;
  struct __pyx_obj_9dearcygui_4core_baseTheme *_theme;
  struct __pyx_t_9dearcygui_4core_itemState state;
  ImGuiMouseCursor _cursor;
  PY_LONG_LONG last_t_before_event_handling;
  PY_LONG_LONG last_t_before_rendering;
  PY_LONG_LONG last_t_after_rendering;
  PY_LONG_LONG last_t_after_swapping;
  double delta_event_handling;
  double delta_rendering;
  double delta_swapping;
  double delta_frame;
  int frame_count;
  double scales[2];
  double shifts[2];
  ImVec2 window_pos;
  ImVec2 parent_pos;
  int in_plot;
  int plot_fit;
  float thickness_multiplier;
  float size_multiplier;
  int enabled_axes[((int)ImAxis_COUNT)];
  int start_pending_theme_actions;
  std::vector<__pyx_t_9dearcygui_4core_theme_action>  pending_theme_actions;
  std::vector<__pyx_t_9dearcygui_4core_theme_action>  applied_theme_actions;
  std::vector<int>  applied_theme_actions_count;
  enum __pyx_t_9dearcygui_4core_theme_enablers current_theme_activation_condition_enabled;
  enum __pyx_t_9dearcygui_4core_theme_categories current_theme_activation_condition_category;
};


/* "dearcygui/core.pxd":330
 * 
 * 
 * cdef class Callback:             # <<<<<<<<<<<<<<
 *     cdef object callback
 *     cdef int num_args
 */
struct __pyx_obj_9dearcygui_4core_Callback {
  PyObject_HEAD
  PyObject *callback;
  int num_args;
};


/* "dearcygui/core.pxd":338
 * """
 * 
 * cdef class drawingItem(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint _show
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList*) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_drawingItem {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int _show;
};


/* "dearcygui/core.pxd":344
 *     pass
 * 
 * cdef class DrawingList(drawingItem):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_9dearcygui_4core_DrawingList {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
};


/* "dearcygui/core.pxd":347
 *     pass
 * 
 * cdef class DrawingListScale(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] _scales
 *     cdef double[2] _shifts
 */
struct __pyx_obj_9dearcygui_4core_DrawingListScale {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double _scales[2];
  double _shifts[2];
  int _no_parent_scale;
};


/* "dearcygui/core.pxd":353
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawArrow_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] start
 *     cdef double[2] end
 */
struct __pyx_obj_9dearcygui_4core_DrawArrow_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double start[2];
  double end[2];
  double corner1[2];
  double corner2[2];
  ImU32 color;
  float thickness;
  float size;
};


/* "dearcygui/core.pxd":364
 *     cdef void __compute_tip(self)
 * 
 * cdef class DrawBezierCubic_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  double p3[2];
  double p4[2];
  ImU32 color;
  float thickness;
  int segments;
};


/* "dearcygui/core.pxd":374
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawBezierQuadratic_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  double p3[2];
  ImU32 color;
  float thickness;
  int segments;
};


/* "dearcygui/core.pxd":383
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawCircle_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] center
 *     cdef float radius
 */
struct __pyx_obj_9dearcygui_4core_DrawCircle_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double center[2];
  float radius;
  ImU32 color;
  ImU32 fill;
  float thickness;
  int segments;
};


/* "dearcygui/core.pxd":392
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawEllipse_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] pmin
 *     cdef double[2] pmax
 */
struct __pyx_obj_9dearcygui_4core_DrawEllipse_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double pmin[2];
  double pmax[2];
  ImU32 color;
  ImU32 fill;
  float thickness;
  int segments;
  std::vector<double4>  points;
};


/* "dearcygui/core.pxd":403
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawImage_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] pmin
 *     cdef double[2] pmax
 */
struct __pyx_obj_9dearcygui_4core_DrawImage_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double pmin[2];
  double pmax[2];
  float uv[4];
  ImU32 color_multiplier;
  struct __pyx_obj_9dearcygui_4core_Texture *texture;
};


/* "dearcygui/core.pxd":411
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawImageQuad_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  double p3[2];
  double p4[2];
  float uv1[2];
  float uv2[2];
  float uv3[2];
  float uv4[2];
  ImU32 color_multiplier;
  struct __pyx_obj_9dearcygui_4core_Texture *texture;
};


/* "dearcygui/core.pxd":424
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawLine_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawLine_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  ImU32 color;
  float thickness;
};


/* "dearcygui/core.pxd":431
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawPolyline_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color
 *     cdef float thickness
 */
struct __pyx_obj_9dearcygui_4core_DrawPolyline_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  ImU32 color;
  float thickness;
  int closed;
  std::vector<double4>  points;
};


/* "dearcygui/core.pxd":438
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawPolygon_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color
 *     cdef imgui.ImU32 fill
 */
struct __pyx_obj_9dearcygui_4core_DrawPolygon_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  ImU32 color;
  ImU32 fill;
  float thickness;
  std::vector<double4>  points;
  __Pyx_memviewslice triangulation_indices;
};


/* "dearcygui/core.pxd":447
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawQuad_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawQuad_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  double p3[2];
  double p4[2];
  ImU32 color;
  ImU32 fill;
  float thickness;
};


/* "dearcygui/core.pxd":457
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawRect_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] pmin
 *     cdef double[2] pmax
 */
struct __pyx_obj_9dearcygui_4core_DrawRect_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double pmin[2];
  double pmax[2];
  ImU32 color;
  ImU32 color_upper_left;
  ImU32 color_upper_right;
  ImU32 color_bottom_left;
  ImU32 color_bottom_right;
  ImU32 fill;
  float rounding;
  float thickness;
  int multicolor;
};


/* "dearcygui/core.pxd":471
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawText_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] pos
 *     cdef string text
 */
struct __pyx_obj_9dearcygui_4core_DrawText_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double pos[2];
  std::string text;
  ImU32 color;
  float size;
  struct __pyx_obj_9dearcygui_4core_Font *_font;
};


/* "dearcygui/core.pxd":479
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawTriangle_(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef double[2] p1
 *     cdef double[2] p2
 */
struct __pyx_obj_9dearcygui_4core_DrawTriangle_ {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  double p1[2];
  double p2[2];
  double p3[2];
  ImU32 color;
  ImU32 fill;
  float thickness;
  int cull_mode;
};


/* "dearcygui/core.pxd":489
 *     cdef void draw(self, imgui.ImDrawList*) noexcept nogil
 * 
 * cdef class DrawInvisibleButton(drawingItem):             # <<<<<<<<<<<<<<
 *     cdef itemState state
 *     cdef imgui.ImGuiButtonFlags _button
 */
struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton {
  struct __pyx_obj_9dearcygui_4core_drawingItem __pyx_base;
  struct __pyx_t_9dearcygui_4core_itemState state;
  ImGuiButtonFlags _button;
  float _min_side;
  float _max_side;
  int _no_input;
  int _capture_mouse;
  double _p1[2];
  double _p2[2];
  ImVec2 initial_mouse_position;
};


/* "dearcygui/core.pxd":500
 *     cdef imgui.ImVec2 initial_mouse_position
 * 
 * cdef class ViewportDrawList_(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint _front
 *     cdef bint _show
 */
struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int _front;
  int _show;
};


/* "dearcygui/core.pxd":511
 * Should we use cdef recursive_mutex mutex ?
 * """
 * cdef class SharedValue:             # <<<<<<<<<<<<<<
 *     cdef recursive_mutex mutex
 *     cdef Context context
 */
struct __pyx_obj_9dearcygui_4core_SharedValue {
  PyObject_HEAD
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue *__pyx_vtab;
  std::recursive_mutex mutex;
  struct __pyx_obj_9dearcygui_4core_Context *context;
  int _num_attached;
  int _last_frame_update;
  int _last_frame_change;
};


/* "dearcygui/core.pxd":521
 *     cdef void dec_num_attached(self) noexcept nogil
 * 
 * cdef class SharedBool(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef bint _value
 *     # Internal functions.
 */
struct __pyx_obj_9dearcygui_4core_SharedBool {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  int _value;
};


/* "dearcygui/core.pxd":528
 *     cdef void set(self, bint) noexcept nogil
 * 
 * cdef class SharedFloat(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef float _value
 *     cdef float get(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedFloat {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  float _value;
};


/* "dearcygui/core.pxd":533
 *     cdef void set(self, float) noexcept nogil
 * 
 * cdef class SharedInt(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef int _value
 *     cdef int get(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedInt {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  int _value;
};


/* "dearcygui/core.pxd":538
 *     cdef void set(self, int) noexcept nogil
 * 
 * cdef class SharedColor(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 _value
 *     cdef imgui.ImVec4 _value_asfloat4
 */
struct __pyx_obj_9dearcygui_4core_SharedColor {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  ImU32 _value;
  ImVec4 _value_asfloat4;
};


/* "dearcygui/core.pxd":546
 *     cdef void setF4(self, imgui.ImVec4) noexcept nogil
 * 
 * cdef class SharedDouble(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef double _value
 *     cdef double get(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedDouble {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  double _value;
};


/* "dearcygui/core.pxd":551
 *     cdef void set(self, double) noexcept nogil
 * 
 * cdef class SharedStr(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef string _value
 *     cdef void get(self, string&) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedStr {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  std::string _value;
};


/* "dearcygui/core.pxd":556
 *     cdef void set(self, string) noexcept nogil
 * 
 * cdef class SharedFloat4(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef float[4] _value
 *     cdef void get(self, float *) noexcept nogil# cython does support float[4] as return value
 */
struct __pyx_obj_9dearcygui_4core_SharedFloat4 {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  float _value[4];
};


/* "dearcygui/core.pxd":561
 *     cdef void set(self, float[4]) noexcept nogil
 * 
 * cdef class SharedInt4(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef int[4] _value
 *     cdef void get(self, int *) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedInt4 {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  int _value[4];
};


/* "dearcygui/core.pxd":566
 *     cdef void set(self, int[4]) noexcept nogil
 * 
 * cdef class SharedDouble4(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef double[4] _value
 *     cdef void get(self, double *) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_SharedDouble4 {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  double _value[4];
};


/* "dearcygui/core.pxd":571
 *     cdef void set(self, double[4]) noexcept nogil
 * 
 * cdef class SharedFloatVect(SharedValue):             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray _value_np
 *     cdef float[:] _value
 */
struct __pyx_obj_9dearcygui_4core_SharedFloatVect {
  struct __pyx_obj_9dearcygui_4core_SharedValue __pyx_base;
  PyArrayObject *_value_np;
  __Pyx_memviewslice _value;
};


/* "dearcygui/core.pxd":596
 * """
 * 
 * cdef class baseHandler(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint _enabled
 *     cdef Callback _callback
 */
struct __pyx_obj_9dearcygui_4core_baseHandler {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int _enabled;
  struct __pyx_obj_9dearcygui_4core_Callback *_callback;
};


/* "dearcygui/core.pxd":604
 *     cdef void run_callback(self, baseItem) noexcept nogil
 * 
 * cdef class KeyDownHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _key
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _key;
};


/* "dearcygui/core.pxd":608
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class KeyPressHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _key
 *     cdef bint _repeat
 */
struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _key;
  int _repeat;
};


/* "dearcygui/core.pxd":613
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class KeyReleaseHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _key
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _key;
};


/* "dearcygui/core.pxd":617
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseClickHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _button
 *     cdef bint _repeat
 */
struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _button;
  int _repeat;
};


/* "dearcygui/core.pxd":622
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseDoubleClickHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _button
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _button;
};


/* "dearcygui/core.pxd":626
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseDownHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _button
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _button;
};


/* "dearcygui/core.pxd":630
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseDragHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _button
 *     cdef float _threshold
 */
struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _button;
  float _threshold;
};


/* "dearcygui/core.pxd":635
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseMoveHandler(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_MouseMoveHandler {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
};


/* "dearcygui/core.pxd":638
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseReleaseHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef int _button
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _button;
};


/* "dearcygui/core.pxd":642
 *     cdef void run_handler(self, baseItem) noexcept nogil
 * 
 * cdef class MouseWheelHandler(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef bint _horizontal
 *     cdef void run_handler(self, baseItem) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_MouseWheelHandler {
  struct __pyx_obj_9dearcygui_4core_baseHandler __pyx_base;
  int _horizontal;
};


/* "dearcygui/core.pxd":653
 *     REL_VIEWPORT
 * 
 * cdef class uiItem(baseItem):             # <<<<<<<<<<<<<<
 *     cdef string imgui_label
 *     cdef str user_label
 */
struct __pyx_obj_9dearcygui_4core_uiItem {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  std::string imgui_label;
  PyObject *user_label;
  bool _show;
  enum __pyx_t_9dearcygui_4core_positioning _pos_policy[2];
  struct __pyx_t_9dearcygui_4core_itemState state;
  int can_be_disabled;
  int _enabled;
  int focus_update_requested;
  int show_update_requested;
  int size_update_requested;
  int pos_update_requested;
  int _no_newline;
  int enabled_update_requested;
  int last_frame_update;
  std::string payloadType;
  ImVec2 requested_size;
  float _indent;
  enum __pyx_t_9dearcygui_4core_theme_enablers theme_condition_enabled;
  enum __pyx_t_9dearcygui_4core_theme_categories theme_condition_category;
  struct __pyx_obj_9dearcygui_4core_Callback *dragCallback;
  struct __pyx_obj_9dearcygui_4core_Callback *dropCallback;
  struct __pyx_obj_9dearcygui_4core_Font *_font;
  struct __pyx_obj_9dearcygui_4core_baseTheme *_theme;
  std::vector<PyObject *>  _callbacks;
  struct __pyx_obj_9dearcygui_4core_SharedValue *_value;
};


/* "dearcygui/core.pxd":694
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class DrawInWindow(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_DrawInWindow {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":700
 * Simple UI elements
 * """
 * cdef class SimplePlot(uiItem):             # <<<<<<<<<<<<<<
 *     cdef string _overlay
 *     cdef float _scale_min
 */
struct __pyx_obj_9dearcygui_4core_SimplePlot {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::string _overlay;
  float _scale_min;
  float _scale_max;
  int _histogram;
  int _autoscale;
  int last_frame_autoscale_update;
};


/* "dearcygui/core.pxd":710
 * 
 * 
 * cdef class Button(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiDir _direction
 *     cdef bint _small
 */
struct __pyx_obj_9dearcygui_4core_Button {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  enum ImGuiDir _direction;
  int _small;
  int _arrow;
  int _repeat;
};


/* "dearcygui/core.pxd":718
 * 
 * 
 * cdef class Combo(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiComboFlags flags
 *     cdef vector[string] _items
 */
struct __pyx_obj_9dearcygui_4core_Combo {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiComboFlags flags;
  std::vector<std::string>  _items;
  std::string disabled_value;
};


/* "dearcygui/core.pxd":725
 * 
 * 
 * cdef class Checkbox(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_Checkbox {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":729
 * 
 * 
 * cdef class Slider(uiItem):             # <<<<<<<<<<<<<<
 *     cdef int _size
 *     cdef int _format
 */
struct __pyx_obj_9dearcygui_4core_Slider {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  int _size;
  int _format;
  int _drag;
  float _drag_speed;
  double _min;
  double _max;
  std::string _print_format;
  int _vertical;
  ImGuiSliderFlags flags;
};


/* "dearcygui/core.pxd":742
 * 
 * 
 * cdef class ListBox(uiItem):             # <<<<<<<<<<<<<<
 *     cdef vector[string] _items
 *     cdef int _num_items_shown_when_open
 */
struct __pyx_obj_9dearcygui_4core_ListBox {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::vector<std::string>  _items;
  int _num_items_shown_when_open;
};


/* "dearcygui/core.pxd":748
 * 
 * 
 * cdef class RadioButton(uiItem):             # <<<<<<<<<<<<<<
 *     cdef vector[string] _items
 *     cdef bint _horizontal
 */
struct __pyx_obj_9dearcygui_4core_RadioButton {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::vector<std::string>  _items;
  int _horizontal;
};


/* "dearcygui/core.pxd":754
 * 
 * 
 * cdef class InputText(uiItem):             # <<<<<<<<<<<<<<
 *     cdef string _hint
 *     cdef bint _multiline
 */
struct __pyx_obj_9dearcygui_4core_InputText {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::string _hint;
  int _multiline;
  int _max_characters;
  ImGuiInputTextFlags flags;
};


/* "dearcygui/core.pxd":762
 * 
 * 
 * cdef class InputValue(uiItem):             # <<<<<<<<<<<<<<
 *     cdef int _size
 *     cdef int _format
 */
struct __pyx_obj_9dearcygui_4core_InputValue {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  int _size;
  int _format;
  double _step;
  double _step_fast;
  double _min;
  double _max;
  std::string _print_format;
  ImGuiInputTextFlags flags;
};


/* "dearcygui/core.pxd":774
 * 
 * 
 * cdef class Text(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 _color
 *     cdef int _wrap
 */
struct __pyx_obj_9dearcygui_4core_Text {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImU32 _color;
  int _wrap;
  int _bullet;
  int _show_label;
};


/* "dearcygui/core.pxd":782
 * 
 * 
 * cdef class Selectable(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiSelectableFlags flags
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_Selectable {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiSelectableFlags flags;
};


/* "dearcygui/core.pxd":786
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class MenuItem(uiItem):             # <<<<<<<<<<<<<<
 *     cdef string _shortcut
 *     cdef bint _check
 */
struct __pyx_obj_9dearcygui_4core_MenuItem {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::string _shortcut;
  int _check;
};


/* "dearcygui/core.pxd":792
 * 
 * 
 * cdef class ProgressBar(uiItem):             # <<<<<<<<<<<<<<
 *     cdef string _overlay
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_ProgressBar {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  std::string _overlay;
};


/* "dearcygui/core.pxd":797
 * 
 * 
 * cdef class Image(uiItem):             # <<<<<<<<<<<<<<
 *     cdef float[4] _uv
 *     cdef imgui.ImU32 _color_multiplier
 */
struct __pyx_obj_9dearcygui_4core_Image {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  float _uv[4];
  ImU32 _color_multiplier;
  ImU32 _border_color;
  struct __pyx_obj_9dearcygui_4core_Texture *_texture;
};


/* "dearcygui/core.pxd":805
 * 
 * 
 * cdef class ImageButton(uiItem):             # <<<<<<<<<<<<<<
 *     cdef float[4] _uv
 *     cdef imgui.ImU32 _color_multiplier
 */
struct __pyx_obj_9dearcygui_4core_ImageButton {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  float _uv[4];
  ImU32 _color_multiplier;
  ImU32 _background_color;
  struct __pyx_obj_9dearcygui_4core_Texture *_texture;
  int _frame_padding;
};


/* "dearcygui/core.pxd":813
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class Separator(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_Separator {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":816
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class Spacer(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_Spacer {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":819
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class MenuBar(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_MenuBar {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":822
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class Menu(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_Menu {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":825
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class Tooltip(uiItem):             # <<<<<<<<<<<<<<
 *     cdef float _delay
 *     cdef bint _hide_on_activity
 */
struct __pyx_obj_9dearcygui_4core_Tooltip {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  float _delay;
  int _hide_on_activity;
  int _only_if_previous_item_hovered;
  int _only_if_;
  struct __pyx_obj_9dearcygui_4core_baseItem *_target;
  struct __pyx_obj_9dearcygui_4core_baseHandler *secondary_handler;
};


/* "dearcygui/core.pxd":834
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class TabButton(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiTabBarFlags flags
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_TabButton {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiTabBarFlags flags;
};


/* "dearcygui/core.pxd":838
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class Tab(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint _closable
 *     cdef imgui.ImGuiTabItemFlags flags
 */
struct __pyx_obj_9dearcygui_4core_Tab {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  int _closable;
  ImGuiTabItemFlags flags;
};


/* "dearcygui/core.pxd":842
 *     cdef imgui.ImGuiTabItemFlags flags
 * 
 * cdef class TabBar(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiTabBarFlags flags
 * 
 */
struct __pyx_obj_9dearcygui_4core_TabBar {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiTabBarFlags flags;
};


/* "dearcygui/core.pxd":845
 *     cdef imgui.ImGuiTabBarFlags flags
 * 
 * cdef class Layout(uiItem):             # <<<<<<<<<<<<<<
 *     cdef bint force_update
 *     cdef PyObject* previous_last_child
 */
struct __pyx_obj_9dearcygui_4core_Layout {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  int force_update;
  PyObject *previous_last_child;
  ImVec2 prev_content_area;
};


/* "dearcygui/core.pxd":861
 *     MANUAL=4
 * 
 * cdef class HorizontalLayout(Layout):             # <<<<<<<<<<<<<<
 *     cdef alignment _alignment_mode
 *     cdef float _spacing
 */
struct __pyx_obj_9dearcygui_4core_HorizontalLayout {
  struct __pyx_obj_9dearcygui_4core_Layout __pyx_base;
  enum __pyx_t_9dearcygui_4core_alignment _alignment_mode;
  float _spacing;
  std::vector<float>  _positions;
};


/* "dearcygui/core.pxd":870
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class VerticalLayout(Layout):             # <<<<<<<<<<<<<<
 *     cdef alignment _alignment_mode
 *     cdef float _spacing
 */
struct __pyx_obj_9dearcygui_4core_VerticalLayout {
  struct __pyx_obj_9dearcygui_4core_Layout __pyx_base;
  enum __pyx_t_9dearcygui_4core_alignment _alignment_mode;
  float _spacing;
  std::vector<float>  _positions;
};


/* "dearcygui/core.pxd":879
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class TreeNode(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiTreeNodeFlags flags
 *     cdef bint _selectable
 */
struct __pyx_obj_9dearcygui_4core_TreeNode {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiTreeNodeFlags flags;
  int _selectable;
};


/* "dearcygui/core.pxd":884
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class CollapsingHeader(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiTreeNodeFlags flags
 *     cdef bint _closable
 */
struct __pyx_obj_9dearcygui_4core_CollapsingHeader {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiTreeNodeFlags flags;
  int _closable;
};


/* "dearcygui/core.pxd":889
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class ChildWindow(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiWindowFlags window_flags
 *     cdef imgui.ImGuiChildFlags child_flags
 */
struct __pyx_obj_9dearcygui_4core_ChildWindow {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiWindowFlags window_flags;
  ImGuiChildFlags child_flags;
};


/* "dearcygui/core.pxd":894
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class ColorButton(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiColorEditFlags flags
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_ColorButton {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiColorEditFlags flags;
};


/* "dearcygui/core.pxd":898
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class ColorEdit(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiColorEditFlags flags
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_ColorEdit {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiColorEditFlags flags;
};


/* "dearcygui/core.pxd":902
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class ColorPicker(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiColorEditFlags flags
 *     cdef bint draw_item(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_ColorPicker {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiColorEditFlags flags;
};


/* "dearcygui/core.pxd":910
 * """
 * 
 * cdef class TimeWatcher(uiItem):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_9dearcygui_4core_TimeWatcher {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
};


/* "dearcygui/core.pxd":913
 *     pass
 * 
 * cdef class Window(uiItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImGuiWindowFlags window_flags
 *     cdef bint main_window
 */
struct __pyx_obj_9dearcygui_4core_Window {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  ImGuiWindowFlags window_flags;
  int main_window;
  int resized;
  int modal;
  int popup;
  int no_resize;
  int no_title_bar;
  int no_move;
  int no_scrollbar;
  int no_collapse;
  int horizontal_scrollbar;
  int no_focus_on_appearing;
  int no_bring_to_front_on_focus;
  int has_close_button;
  int no_background;
  int no_open_over_existing_popup;
  struct __pyx_obj_9dearcygui_4core_Callback *on_close_callback;
  ImVec2 min_size;
  ImVec2 max_size;
  float scroll_x;
  float scroll_y;
  float scroll_max_x;
  float scroll_max_y;
  int collapse_update_requested;
  int scroll_x_update_requested;
  int scroll_y_update_requested;
  ImGuiWindowFlags backup_window_flags;
  ImVec2 backup_pos;
  ImVec2 backup_rect_size;
};


/* "dearcygui/core.pxd":950
 * """
 * 
 * cdef class Texture(baseItem):             # <<<<<<<<<<<<<<
 *     cdef recursive_mutex write_mutex
 *     cdef bint _hint_dynamic
 */
struct __pyx_obj_9dearcygui_4core_Texture {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  std::recursive_mutex write_mutex;
  int _hint_dynamic;
  int dynamic;
  void *allocated_texture;
  int _width;
  int _height;
  int _num_chans;
  int filtering_mode;
  int readonly;
};


/* "dearcygui/core.pxd":962
 *     cdef void set_content(self, cnp.ndarray content)
 * 
 * cdef class Font(baseItem):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImFont *font
 *     cdef FontTexture container
 */
struct __pyx_obj_9dearcygui_4core_Font {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  ImFont *font;
  struct __pyx_obj_9dearcygui_4core_FontTexture *container;
};


/* "dearcygui/core.pxd":968
 *     cdef void pop(self) noexcept nogil
 * 
 * cdef class FontTexture(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     Packs one or several fonts into
 */
struct __pyx_obj_9dearcygui_4core_FontTexture {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  ImFontAtlas atlas;
  struct __pyx_obj_9dearcygui_4core_Texture *_texture;
  int _built;
  PyObject *fonts;
};


/* "dearcygui/core.pxd":1059
 * """
 * 
 * cdef class baseTheme(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint enabled
 *     cdef vector[int] last_push_size
 */
struct __pyx_obj_9dearcygui_4core_baseTheme {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int enabled;
  std::vector<int>  last_push_size;
};


/* "dearcygui/core.pxd":1095
 *     southeast=implot.ImPlotLocation_SouthEast
 * 
 * cdef class PlotAxisConfig(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint _enabled
 *     cdef AxisScale _scale
 */
struct __pyx_obj_9dearcygui_4core_PlotAxisConfig {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int _enabled;
  enum __pyx_t_9dearcygui_4core_AxisScale _scale;
  std::string _tick_format;
  ImPlotAxisFlags flags;
  double _min;
  double _max;
  double prev_min;
  double prev_max;
  int dirty_minmax;
  double _constraint_min;
  double _constraint_max;
  double _zoom_min;
  double _zoom_max;
  double _mouse_coord;
  int to_fit;
  struct __pyx_t_9dearcygui_4core_itemState state;
  struct __pyx_obj_9dearcygui_4core_Callback *_resize_callback;
  std::string _label;
  std::string _format;
  std::vector<std::string>  _labels;
  std::vector<char const *>  _labels_cstr;
  std::vector<double>  _labels_coord;
};


/* "dearcygui/core.pxd":1123
 *     cdef void set_hidden(self) noexcept nogil
 * 
 * cdef class PlotLegendConfig(baseItem):             # <<<<<<<<<<<<<<
 *     cdef bint _show
 *     cdef LegendLocation _location
 */
struct __pyx_obj_9dearcygui_4core_PlotLegendConfig {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  int _show;
  enum __pyx_t_9dearcygui_4core_LegendLocation _location;
  ImPlotLegendFlags flags;
};


/* "dearcygui/core.pxd":1130
 *     cdef void after_setup(self) noexcept nogil
 * 
 * cdef class Plot(uiItem):             # <<<<<<<<<<<<<<
 *     cdef PlotAxisConfig _X1
 *     cdef PlotAxisConfig _X2
 */
struct __pyx_obj_9dearcygui_4core_Plot {
  struct __pyx_obj_9dearcygui_4core_uiItem __pyx_base;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_X1;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_X2;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_X3;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_Y1;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_Y2;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *_Y3;
  struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *_legend;
  ImVec2 _content_pos;
  int _pan_button;
  ImGuiKeyChord _pan_modifier;
  int _fit_button;
  int _menu_button;
  ImGuiKeyChord _override_mod;
  ImGuiKeyChord _zoom_mod;
  float _zoom_rate;
  int _use_local_time;
  int _use_ISO8601;
  int _use_24hour_clock;
  ImPlotFlags flags;
};


/* "dearcygui/core.pxd":1152
 *     cdef bint draw_item(self) noexcept nogil
 * 
 * cdef class plotElement(baseItem):             # <<<<<<<<<<<<<<
 *     cdef string imgui_label
 *     cdef str user_label
 */
struct __pyx_obj_9dearcygui_4core_plotElement {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
  std::string imgui_label;
  PyObject *user_label;
  int flags;
  int _show;
  int _axes[2];
  struct __pyx_obj_9dearcygui_4core_baseTheme *_theme;
};


/* "dearcygui/core.pxd":1161
 *     cdef void draw(self) noexcept nogil
 * 
 * cdef class plotElementWithLegend(plotElement):             # <<<<<<<<<<<<<<
 *     cdef itemState state
 *     cdef bint _legend
 */
struct __pyx_obj_9dearcygui_4core_plotElementWithLegend {
  struct __pyx_obj_9dearcygui_4core_plotElement __pyx_base;
  struct __pyx_t_9dearcygui_4core_itemState state;
  int _legend;
  int _legend_button;
  struct __pyx_obj_9dearcygui_4core_Font *_font;
  int _enabled;
  int enabled_dirty;
};


/* "dearcygui/core.pxd":1171
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class plotElementXY(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray _X
 *     cdef cnp.ndarray _Y
 */
struct __pyx_obj_9dearcygui_4core_plotElementXY {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend __pyx_base;
  PyArrayObject *_X;
  PyArrayObject *_Y;
};


/* "dearcygui/core.pxd":1176
 *     cdef void check_arrays(self) noexcept nogil
 * 
 * cdef class PlotLine(plotElementXY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotLine {
  struct __pyx_obj_9dearcygui_4core_plotElementXY __pyx_base;
};


/* "dearcygui/core.pxd":1179
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class plotElementXYY(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray _X
 *     cdef cnp.ndarray _Y1
 */
struct __pyx_obj_9dearcygui_4core_plotElementXYY {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend __pyx_base;
  PyArrayObject *_X;
  PyArrayObject *_Y1;
  PyArrayObject *_Y2;
};


/* "dearcygui/core.pxd":1185
 *     cdef void check_arrays(self) noexcept nogil
 * 
 * cdef class PlotShadedLine(plotElementXYY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotShadedLine {
  struct __pyx_obj_9dearcygui_4core_plotElementXYY __pyx_base;
};


/* "dearcygui/core.pxd":1188
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class PlotStems(plotElementXY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotStems {
  struct __pyx_obj_9dearcygui_4core_plotElementXY __pyx_base;
};


/* "dearcygui/core.pxd":1191
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class PlotBars(plotElementXY):             # <<<<<<<<<<<<<<
 *     cdef double _weight
 *     cdef void draw_element(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_PlotBars {
  struct __pyx_obj_9dearcygui_4core_plotElementXY __pyx_base;
  double _weight;
};


/* "dearcygui/core.pxd":1195
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class PlotStairs(plotElementXY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotStairs {
  struct __pyx_obj_9dearcygui_4core_plotElementXY __pyx_base;
};


/* "dearcygui/core.pxd":1198
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class plotElementX(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray _X
 *     cdef void check_arrays(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_plotElementX {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend __pyx_base;
  PyArrayObject *_X;
};


/* "dearcygui/core.pxd":1202
 *     cdef void check_arrays(self) noexcept nogil
 * 
 * cdef class PlotInfLines(plotElementX):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotInfLines {
  struct __pyx_obj_9dearcygui_4core_plotElementX __pyx_base;
};


/* "dearcygui/core.pxd":1205
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class PlotScatter(plotElementXY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil
 * 
 */
struct __pyx_obj_9dearcygui_4core_PlotScatter {
  struct __pyx_obj_9dearcygui_4core_plotElementXY __pyx_base;
};


/* "dearcygui/core.pxd":1208
 *     cdef void draw_element(self) noexcept nogil
 * 
 * cdef class DrawInPlot(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     cdef bint _ignore_fit
 *     cdef void draw(self) noexcept nogil
 */
struct __pyx_obj_9dearcygui_4core_DrawInPlot {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend __pyx_base;
  int _ignore_fit;
};


/* "dearcygui/core.pyx":2907
 *             print(traceback.format_exc())
 * 
 * cdef class DPGCallback(Callback):             # <<<<<<<<<<<<<<
 *     """
 *     Used to run callbacks created for DPG
 */
struct __pyx_obj_9dearcygui_4core_DPGCallback {
  struct __pyx_obj_9dearcygui_4core_Callback __pyx_base;
};


/* "dearcygui/core.pyx":2942
 * Cannot have any parent. Thus cannot render.
 * """
 * cdef class PlaceHolderParent(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True
 */
struct __pyx_obj_9dearcygui_4core_PlaceHolderParent {
  struct __pyx_obj_9dearcygui_4core_baseItem __pyx_base;
};


/* "EnumBase":16
 * 
 * @cython.internal
 * cdef class __Pyx_EnumMeta(type):             # <<<<<<<<<<<<<<
 *     def __init__(cls, name, parents, dct):
 *         type.__init__(cls, name, parents, dct)
 */
struct __pyx_obj___Pyx_EnumMeta {
  PyHeapTypeObject __pyx_base;
};


/* "View.MemoryView":114
 * @cython.collection_type("sequence")
 * @cname("__pyx_array")
 * cdef class array:             # <<<<<<<<<<<<<<
 * 
 *     cdef:
 */
struct __pyx_array_obj {
  PyObject_HEAD
  struct __pyx_vtabstruct_array *__pyx_vtab;
  char *data;
  Py_ssize_t len;
  char *format;
  int ndim;
  Py_ssize_t *_shape;
  Py_ssize_t *_strides;
  Py_ssize_t itemsize;
  PyObject *mode;
  PyObject *_format;
  void (*callback_free_data)(void *);
  int free_data;
  int dtype_is_object;
};


/* "View.MemoryView":302
 * 
 * @cname('__pyx_MemviewEnum')
 * cdef class Enum(object):             # <<<<<<<<<<<<<<
 *     cdef object name
 *     def __init__(self, name):
 */
struct __pyx_MemviewEnum_obj {
  PyObject_HEAD
  PyObject *name;
};


/* "View.MemoryView":337
 * 
 * @cname('__pyx_memoryview')
 * cdef class memoryview:             # <<<<<<<<<<<<<<
 * 
 *     cdef object obj
 */
struct __pyx_memoryview_obj {
  PyObject_HEAD
  struct __pyx_vtabstruct_memoryview *__pyx_vtab;
  PyObject *obj;
  PyObject *_size;
  PyObject *_array_interface;
  PyThread_type_lock lock;
  __pyx_atomic_int_type acquisition_count;
  Py_buffer view;
  int flags;
  int dtype_is_object;
  __Pyx_TypeInfo *typeinfo;
};


/* "View.MemoryView":952
 * @cython.collection_type("sequence")
 * @cname('__pyx_memoryviewslice')
 * cdef class _memoryviewslice(memoryview):             # <<<<<<<<<<<<<<
 *     "Internal class for passing memoryview slices to Python"
 * 
 */
struct __pyx_memoryviewslice_obj {
  struct __pyx_memoryview_obj __pyx_base;
  __Pyx_memviewslice from_slice;
  PyObject *from_object;
  PyObject *(*to_object_func)(char *);
  int (*to_dtype_func)(char *, PyObject *);
};



/* "dearcygui/core.pyx":113
 * # and vice-versa
 * 
 * cdef class Context:             # <<<<<<<<<<<<<<
 *     """
 *     Main class managing the DearCyGui items and imgui context.
 */

struct __pyx_vtabstruct_9dearcygui_4core_Context {
  void (*queue_callback_noarg)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*queue_callback_arg1obj)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*queue_callback_arg1int)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int);
  void (*queue_callback_arg1float)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, float);
  void (*queue_callback_arg1value)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_SharedValue *);
  void (*queue_callback_arg1int1float)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, float);
  void (*queue_callback_arg2float)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, float, float);
  void (*queue_callback_arg2double)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, double, double);
  void (*queue_callback_arg1int2float)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, float, float);
  void (*queue_callback_arg4int)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, int, int, int);
  void (*queue_callback_arg3long1int)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG, PY_LONG_LONG, PY_LONG_LONG, int);
  void (*queue_callback_argdoubletriplet)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, double, double, double, double, double, double);
  void (*register_item)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG);
  void (*update_registered_item_tag)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG, PyObject *);
  void (*unregister_item)(struct __pyx_obj_9dearcygui_4core_Context *, PY_LONG_LONG);
  struct __pyx_obj_9dearcygui_4core_baseItem *(*get_registered_item_from_uuid)(struct __pyx_obj_9dearcygui_4core_Context *, PY_LONG_LONG);
  struct __pyx_obj_9dearcygui_4core_baseItem *(*get_registered_item_from_tag)(struct __pyx_obj_9dearcygui_4core_Context *, PyObject *);
  void (*push_next_parent)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch);
  void (*pop_next_parent)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch);
  PyObject *(*fetch_parent_queue_back)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch);
  PyObject *(*fetch_parent_queue_front)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch);
  PyObject *(*fetch_last_created_item)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch);
  PyObject *(*fetch_last_created_container)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9dearcygui_4core_Context *__pyx_vtabptr_9dearcygui_4core_Context;


/* "dearcygui/core.pyx":775
 * '''
 * 
 * cdef class baseItem:             # <<<<<<<<<<<<<<
 *     """
 *     Base class for all items (except shared values)
 */

struct __pyx_vtabstruct_9dearcygui_4core_baseItem {
  void (*lock_parent_and_item_mutex)(struct __pyx_obj_9dearcygui_4core_baseItem *, std::unique_lock<std::recursive_mutex>  &, std::unique_lock<std::recursive_mutex>  &);
  void (*lock_and_previous_siblings)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*unlock_and_previous_siblings)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  int (*_baseItem__check_rendered)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*attach_to_parent)(struct __pyx_obj_9dearcygui_4core_baseItem *, PyObject *, int __pyx_skip_dispatch);
  void (*attach_before)(struct __pyx_obj_9dearcygui_4core_baseItem *, PyObject *, int __pyx_skip_dispatch);
  void (*_baseItem__detach_item_and_lock)(struct __pyx_obj_9dearcygui_4core_baseItem *, std::unique_lock<std::recursive_mutex>  &);
  void (*detach_item)(struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch);
  void (*delete_item)(struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch);
  void (*_baseItem__delete_and_siblings)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*set_previous_states)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*run_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*update_current_state_as_hidden)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*propagate_hidden_state_to_children_with_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*propagate_hidden_state_to_children_no_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*set_hidden_and_propagate_to_siblings_with_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*set_hidden_and_propagate_to_siblings_no_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*set_hidden_no_handler_and_propagate_to_children_with_handlers)(struct __pyx_obj_9dearcygui_4core_baseItem *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_baseItem *__pyx_vtabptr_9dearcygui_4core_baseItem;
static void __pyx_f_9dearcygui_4core_8baseItem_set_previous_states(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_run_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_no_handler_and_propagate_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *);


/* "dearcygui/core.pyx":1955
 * @cython.final
 * @cython.no_gc_clear
 * cdef class Viewport(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     The viewport corresponds to the main item containing
 */

struct __pyx_vtabstruct_9dearcygui_4core_Viewport {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*_Viewport__check_initialized)(struct __pyx_obj_9dearcygui_4core_Viewport *);
  void (*_Viewport__check_not_initialized)(struct __pyx_obj_9dearcygui_4core_Viewport *);
  void (*_Viewport__on_resize)(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int);
  void (*_Viewport__on_close)(struct __pyx_obj_9dearcygui_4core_Viewport *);
  void (*_Viewport__render)(struct __pyx_obj_9dearcygui_4core_Viewport *);
  void (*apply_current_transform)(struct __pyx_obj_9dearcygui_4core_Viewport *, float *, double *);
  void (*push_pending_theme_actions)(struct __pyx_obj_9dearcygui_4core_Viewport *, enum __pyx_t_9dearcygui_4core_theme_enablers, enum __pyx_t_9dearcygui_4core_theme_categories);
  void (*push_pending_theme_actions_on_subset)(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int);
  void (*pop_applied_pending_theme_actions)(struct __pyx_obj_9dearcygui_4core_Viewport *);
  void (*cwake)(struct __pyx_obj_9dearcygui_4core_Viewport *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_Viewport *__pyx_vtabptr_9dearcygui_4core_Viewport;
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *);
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *);
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_resize(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int);
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_close(struct __pyx_obj_9dearcygui_4core_Viewport *);
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__render(struct __pyx_obj_9dearcygui_4core_Viewport *);
static void __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(struct __pyx_obj_9dearcygui_4core_Viewport *, float *, double *);
static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *, enum __pyx_t_9dearcygui_4core_theme_enablers, enum __pyx_t_9dearcygui_4core_theme_categories);
static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions_on_subset(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int);
static void __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *);
static void __pyx_f_9dearcygui_4core_8Viewport_cwake(struct __pyx_obj_9dearcygui_4core_Viewport *);


/* "dearcygui/core.pyx":2989
 * 
 * 
 * cdef class drawingItem(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     A simple item with no UI state,
 */

struct __pyx_vtabstruct_9dearcygui_4core_drawingItem {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*draw_prev_siblings)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *);
  void (*draw)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *__pyx_vtabptr_9dearcygui_4core_drawingItem;


/* "dearcygui/core.pyx":3030
 *         self.draw_prev_siblings(l)
 * 
 * cdef class DrawingList(drawingItem):             # <<<<<<<<<<<<<<
 *     """
 *     A simple drawing item that renders its children.
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawingList {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawingList *__pyx_vtabptr_9dearcygui_4core_DrawingList;


/* "dearcygui/core.pyx":3051
 *         self.last_drawings_child.draw(drawlist)
 * 
 * cdef class DrawingListScale(drawingItem):             # <<<<<<<<<<<<<<
 *     """
 *     Similar to a DrawingList, but
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawingListScale {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawingListScale *__pyx_vtabptr_9dearcygui_4core_DrawingListScale;


/* "dearcygui/core.pyx":3165
 *         self.context._viewport.in_plot = cur_in_plot
 * 
 * cdef class DrawArrow_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, p2, etc are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawArrow_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
  void (*_DrawArrow___compute_tip)(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawArrow_ *__pyx_vtabptr_9dearcygui_4core_DrawArrow_;


/* "dearcygui/core.pyx":3231
 * 
 * 
 * cdef class DrawBezierCubic_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, etc are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierCubic_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierCubic_ *__pyx_vtabptr_9dearcygui_4core_DrawBezierCubic_;


/* "dearcygui/core.pyx":3264
 *         drawlist.AddBezierCubic(ip1, ip2, ip3, ip4, self.color, self.thickness, self.segments)
 * 
 * cdef class DrawBezierQuadratic_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, etc are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierQuadratic_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_vtabptr_9dearcygui_4core_DrawBezierQuadratic_;


/* "dearcygui/core.pyx":3295
 * 
 * 
 * cdef class DrawCircle_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # center is zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawCircle_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawCircle_ *__pyx_vtabptr_9dearcygui_4core_DrawCircle_;


/* "dearcygui/core.pyx":3329
 * 
 * 
 * cdef class DrawEllipse_(drawingItem):             # <<<<<<<<<<<<<<
 *     # TODO: I adapted the original code,
 *     # But these deserves rewrite: call the imgui Ellipse functions instead
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawEllipse_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
  void (*_DrawEllipse___fill_points)(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawEllipse_ *__pyx_vtabptr_9dearcygui_4core_DrawEllipse_;


/* "dearcygui/core.pyx":3392
 * 
 * 
 * cdef class DrawImage_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.uv = [0., 0., 1., 1.]
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawImage_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawImage_ *__pyx_vtabptr_9dearcygui_4core_DrawImage_;


/* "dearcygui/core.pyx":3420
 * 
 * 
 * cdef class DrawImageQuad_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.uv1 = [0., 0.]
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawImageQuad_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawImageQuad_ *__pyx_vtabptr_9dearcygui_4core_DrawImageQuad_;


/* "dearcygui/core.pyx":3466
 * 
 * 
 * cdef class DrawLine_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, p2 are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawLine_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawLine_ *__pyx_vtabptr_9dearcygui_4core_DrawLine_;


/* "dearcygui/core.pyx":3492
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 * 
 * cdef class DrawPolyline_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # points is empty init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawPolyline_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawPolyline_ *__pyx_vtabptr_9dearcygui_4core_DrawPolyline_;


/* "dearcygui/core.pyx":3535
 *     return det > 0.
 * 
 * cdef class DrawPolygon_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # points is empty init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawPolygon_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
  void (*_DrawPolygon___triangulate)(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawPolygon_ *__pyx_vtabptr_9dearcygui_4core_DrawPolygon_;


/* "dearcygui/core.pyx":3610
 * 
 * 
 * cdef class DrawQuad_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, p2, p3, p4 are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawQuad_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawQuad_ *__pyx_vtabptr_9dearcygui_4core_DrawQuad_;


/* "dearcygui/core.pyx":3671
 * 
 * 
 * cdef class DrawRect_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.pmin = [0., 0.]
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawRect_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawRect_ *__pyx_vtabptr_9dearcygui_4core_DrawRect_;


/* "dearcygui/core.pyx":3745
 *                                 thickness)
 * 
 * cdef class DrawText_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.color = 4294967295 # 0xffffffff
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawText_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawText_ *__pyx_vtabptr_9dearcygui_4core_DrawText_;


/* "dearcygui/core.pyx":3768
 * 
 * 
 * cdef class DrawTriangle_(drawingItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # p1, p2, p3 are zero init by cython
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawTriangle_ {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawTriangle_ *__pyx_vtabptr_9dearcygui_4core_DrawTriangle_;


/* "dearcygui/core.pyx":3872
 * 
 * 
 * cdef class DrawInvisibleButton(drawingItem):             # <<<<<<<<<<<<<<
 *     """
 *     Invisible rectangular area, parallel to axes, behaving
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton {
  struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton *__pyx_vtabptr_9dearcygui_4core_DrawInvisibleButton;


/* "dearcygui/core.pyx":4472
 * 
 * 
 * cdef class ViewportDrawList_(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.element_child_category = child_type.cat_viewport_drawlist
 */

struct __pyx_vtabstruct_9dearcygui_4core_ViewportDrawList_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*draw)(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_ViewportDrawList_ *__pyx_vtabptr_9dearcygui_4core_ViewportDrawList_;


/* "dearcygui/core.pyx":4812
 * """
 * 
 * cdef class SharedValue:             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         # We create all shared objects using __new__, thus
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedValue {
  void (*on_update)(struct __pyx_obj_9dearcygui_4core_SharedValue *, int);
  void (*inc_num_attached)(struct __pyx_obj_9dearcygui_4core_SharedValue *);
  void (*dec_num_attached)(struct __pyx_obj_9dearcygui_4core_SharedValue *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedValue *__pyx_vtabptr_9dearcygui_4core_SharedValue;


/* "dearcygui/core.pyx":4880
 * 
 * 
 * cdef class SharedBool(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, bint value):
 *         self._value = value
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedBool {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  int (*get)(struct __pyx_obj_9dearcygui_4core_SharedBool *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedBool *, int);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedBool *__pyx_vtabptr_9dearcygui_4core_SharedBool;


/* "dearcygui/core.pyx":4905
 *         self.on_update(changed)
 * 
 * cdef class SharedFloat(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, float value):
 *         self._value = value
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  float (*get)(struct __pyx_obj_9dearcygui_4core_SharedFloat *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedFloat *, float);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat *__pyx_vtabptr_9dearcygui_4core_SharedFloat;


/* "dearcygui/core.pyx":4930
 *         self.on_update(changed)
 * 
 * cdef class SharedInt(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, int value):
 *         self._value = value
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedInt {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  int (*get)(struct __pyx_obj_9dearcygui_4core_SharedInt *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedInt *, int);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedInt *__pyx_vtabptr_9dearcygui_4core_SharedInt;


/* "dearcygui/core.pyx":4955
 *         self.on_update(changed)
 * 
 * cdef class SharedColor(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, value):
 *         self._value = parse_color(value)
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedColor {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  ImU32 (*getU32)(struct __pyx_obj_9dearcygui_4core_SharedColor *);
  ImVec4 (*getF4)(struct __pyx_obj_9dearcygui_4core_SharedColor *);
  void (*setU32)(struct __pyx_obj_9dearcygui_4core_SharedColor *, ImU32);
  void (*setF4)(struct __pyx_obj_9dearcygui_4core_SharedColor *, ImVec4);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedColor *__pyx_vtabptr_9dearcygui_4core_SharedColor;


/* "dearcygui/core.pyx":4992
 *         self.on_update(True)
 * 
 * cdef class SharedDouble(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, double value):
 *         self._value = value
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  double (*get)(struct __pyx_obj_9dearcygui_4core_SharedDouble *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedDouble *, double);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble *__pyx_vtabptr_9dearcygui_4core_SharedDouble;


/* "dearcygui/core.pyx":5017
 *         self.on_update(changed)
 * 
 * cdef class SharedStr(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, str value):
 *         self._value = bytes(str(value), 'utf-8')
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedStr {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  void (*get)(struct __pyx_obj_9dearcygui_4core_SharedStr *, std::string &);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedStr *, std::string);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedStr *__pyx_vtabptr_9dearcygui_4core_SharedStr;


/* "dearcygui/core.pyx":5040
 *         self.on_update(True)
 * 
 * cdef class SharedFloat4(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, value):
 *         read_vec4[float](self._value, value)
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat4 {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  void (*get)(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *, float *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *, float *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat4 *__pyx_vtabptr_9dearcygui_4core_SharedFloat4;


/* "dearcygui/core.pyx":5069
 *         self.on_update(True)
 * 
 * cdef class SharedInt4(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, value):
 *         read_vec4[int](self._value, value)
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedInt4 {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  void (*get)(struct __pyx_obj_9dearcygui_4core_SharedInt4 *, int *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedInt4 *, int *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedInt4 *__pyx_vtabptr_9dearcygui_4core_SharedInt4;


/* "dearcygui/core.pyx":5098
 *         self.on_update(True)
 * 
 * cdef class SharedDouble4(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, value):
 *         read_vec4[double](self._value, value)
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble4 {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  void (*get)(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *, double *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *, double *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble4 *__pyx_vtabptr_9dearcygui_4core_SharedDouble4;


/* "dearcygui/core.pyx":5126
 *         self.on_update(True)
 * 
 * cdef class SharedFloatVect(SharedValue):             # <<<<<<<<<<<<<<
 *     def __init__(self, Context context, value):
 *         self._value = value
 */

struct __pyx_vtabstruct_9dearcygui_4core_SharedFloatVect {
  struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_base;
  __Pyx_memviewslice (*get)(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *);
  void (*set)(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *, __Pyx_memviewslice);
};
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloatVect *__pyx_vtabptr_9dearcygui_4core_SharedFloatVect;


/* "dearcygui/core.pyx":5176
 * """
 * 
 * cdef class baseHandler(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._enabled = True
 */

struct __pyx_vtabstruct_9dearcygui_4core_baseHandler {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*check_bind)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *);
  int (*check_state)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*run_handler)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *);
  void (*run_callback)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *__pyx_vtabptr_9dearcygui_4core_baseHandler;


/* "dearcygui/core.pyx":4509
 * 
 * 
 * cdef class KeyDownHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None
 */

struct __pyx_vtabstruct_9dearcygui_4core_KeyDownHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_KeyDownHandler_ *__pyx_vtabptr_9dearcygui_4core_KeyDownHandler_;


/* "dearcygui/core.pyx":4545
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, self._key, key_info.DownDuration)
 * 
 * cdef class KeyPressHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None
 */

struct __pyx_vtabstruct_9dearcygui_4core_KeyPressHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_KeyPressHandler_ *__pyx_vtabptr_9dearcygui_4core_KeyPressHandler_;


/* "dearcygui/core.pyx":4576
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)
 * 
 * cdef class KeyReleaseHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None
 */

struct __pyx_vtabstruct_9dearcygui_4core_KeyReleaseHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_KeyReleaseHandler_ *__pyx_vtabptr_9dearcygui_4core_KeyReleaseHandler_;


/* "dearcygui/core.pyx":4607
 * 
 * 
 * cdef class MouseClickHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._button = -1
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseClickHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseClickHandler_ *__pyx_vtabptr_9dearcygui_4core_MouseClickHandler_;


/* "dearcygui/core.pyx":4634
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 * cdef class MouseDoubleClickHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._button = -1
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseDoubleClickHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_vtabptr_9dearcygui_4core_MouseDoubleClickHandler_;


/* "dearcygui/core.pyx":4661
 * 
 * 
 * cdef class MouseDownHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._button = -1
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseDownHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDownHandler_ *__pyx_vtabptr_9dearcygui_4core_MouseDownHandler_;


/* "dearcygui/core.pyx":4687
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, i, imgui.GetIO().MouseDownDuration[i])
 * 
 * cdef class MouseDragHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._button = -1
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseDragHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDragHandler_ *__pyx_vtabptr_9dearcygui_4core_MouseDragHandler_;


/* "dearcygui/core.pyx":4717
 * 
 * 
 * cdef class MouseMoveHandler(baseHandler):             # <<<<<<<<<<<<<<
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseMoveHandler {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseMoveHandler *__pyx_vtabptr_9dearcygui_4core_MouseMoveHandler;


/* "dearcygui/core.pyx":4737
 * 
 * 
 * cdef class MouseReleaseHandler_(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._button = -1
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseReleaseHandler_ {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseReleaseHandler_ *__pyx_vtabptr_9dearcygui_4core_MouseReleaseHandler_;


/* "dearcygui/core.pyx":4763
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 * cdef class MouseWheelHandler(baseHandler):             # <<<<<<<<<<<<<<
 *     def __cinit__(self, *args, **kwargs):
 *         self._horizontal = False
 */

struct __pyx_vtabstruct_9dearcygui_4core_MouseWheelHandler {
  struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MouseWheelHandler *__pyx_vtabptr_9dearcygui_4core_MouseWheelHandler;


/* "dearcygui/core.pyx":5260
 *     imgui.ImVec2 GetDefaultItemSize(imgui.ImVec2)
 * 
 * cdef class uiItem(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # mvAppItemInfo
 */

struct __pyx_vtabstruct_9dearcygui_4core_uiItem {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*update_current_state)(struct __pyx_obj_9dearcygui_4core_uiItem *);
  void (*update_current_state_subset)(struct __pyx_obj_9dearcygui_4core_uiItem *);
  void (*draw)(struct __pyx_obj_9dearcygui_4core_uiItem *);
  int (*draw_item)(struct __pyx_obj_9dearcygui_4core_uiItem *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_uiItem *__pyx_vtabptr_9dearcygui_4core_uiItem;


/* "dearcygui/core.pyx":4389
 * """
 * 
 * cdef class DrawInWindow(uiItem):             # <<<<<<<<<<<<<<
 *     """
 *     An UI item that contains a region for Draw* elements.
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawInWindow {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInWindow *__pyx_vtabptr_9dearcygui_4core_DrawInWindow;


/* "dearcygui/core.pyx":6314
 * """
 * 
 * cdef class SimplePlot(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_simpleplot
 */

struct __pyx_vtabstruct_9dearcygui_4core_SimplePlot {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_SimplePlot *__pyx_vtabptr_9dearcygui_4core_SimplePlot;


/* "dearcygui/core.pyx":6449
 *         return False
 * 
 * cdef class Button(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_button
 */

struct __pyx_vtabstruct_9dearcygui_4core_Button {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Button *__pyx_vtabptr_9dearcygui_4core_Button;


/* "dearcygui/core.pyx":6543
 * 
 * 
 * cdef class Combo(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_combo
 */

struct __pyx_vtabstruct_9dearcygui_4core_Combo {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Combo *__pyx_vtabptr_9dearcygui_4core_Combo;


/* "dearcygui/core.pyx":6748
 * 
 * 
 * cdef class Checkbox(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_checkbox
 */

struct __pyx_vtabstruct_9dearcygui_4core_Checkbox {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Checkbox *__pyx_vtabptr_9dearcygui_4core_Checkbox;


/* "dearcygui/core.pyx":6766
 *         return pressed
 * 
 * cdef class Slider(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_slider
 */

struct __pyx_vtabstruct_9dearcygui_4core_Slider {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Slider *__pyx_vtabptr_9dearcygui_4core_Slider;


/* "dearcygui/core.pyx":7212
 * 
 * 
 * cdef class ListBox(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_listbox
 */

struct __pyx_vtabstruct_9dearcygui_4core_ListBox {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ListBox *__pyx_vtabptr_9dearcygui_4core_ListBox;


/* "dearcygui/core.pyx":7339
 * 
 * 
 * cdef class RadioButton(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_radiobutton
 */

struct __pyx_vtabstruct_9dearcygui_4core_RadioButton {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_RadioButton *__pyx_vtabptr_9dearcygui_4core_RadioButton;


/* "dearcygui/core.pyx":7430
 * 
 * 
 * cdef class InputText(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputtext
 */

struct __pyx_vtabstruct_9dearcygui_4core_InputText {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_InputText *__pyx_vtabptr_9dearcygui_4core_InputText;


/* "dearcygui/core.pyx":7824
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 * 
 * cdef class InputValue(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputvalue
 */

struct __pyx_vtabstruct_9dearcygui_4core_InputValue {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_InputValue *__pyx_vtabptr_9dearcygui_4core_InputValue;


/* "dearcygui/core.pyx":8387
 * 
 * 
 * cdef class Text(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_text
 */

struct __pyx_vtabstruct_9dearcygui_4core_Text {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Text *__pyx_vtabptr_9dearcygui_4core_Text;


/* "dearcygui/core.pyx":8524
 * 
 * 
 * cdef class Selectable(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_selectable
 */

struct __pyx_vtabstruct_9dearcygui_4core_Selectable {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Selectable *__pyx_vtabptr_9dearcygui_4core_Selectable;


/* "dearcygui/core.pyx":8621
 * 
 * 
 * cdef class MenuItem(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_menuitem
 */

struct __pyx_vtabstruct_9dearcygui_4core_MenuItem {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MenuItem *__pyx_vtabptr_9dearcygui_4core_MenuItem;


/* "dearcygui/core.pyx":8674
 *         return activated
 * 
 * cdef class ProgressBar(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_progressbar
 */

struct __pyx_vtabstruct_9dearcygui_4core_ProgressBar {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ProgressBar *__pyx_vtabptr_9dearcygui_4core_ProgressBar;


/* "dearcygui/core.pyx":8709
 *         return False
 * 
 * cdef class Image(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_image
 */

struct __pyx_vtabstruct_9dearcygui_4core_Image {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Image *__pyx_vtabptr_9dearcygui_4core_Image;


/* "dearcygui/core.pyx":8792
 * 
 * 
 * cdef class ImageButton(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_imagebutton
 */

struct __pyx_vtabstruct_9dearcygui_4core_ImageButton {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ImageButton *__pyx_vtabptr_9dearcygui_4core_ImageButton;


/* "dearcygui/core.pyx":8893
 *         return activated
 * 
 * cdef class Separator(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.state.cap.has_rect_size = False
 */

struct __pyx_vtabstruct_9dearcygui_4core_Separator {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Separator *__pyx_vtabptr_9dearcygui_4core_Separator;


/* "dearcygui/core.pyx":8926
 *         return False
 * 
 * cdef class Spacer(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.state.cap.has_rect_size = False
 */

struct __pyx_vtabstruct_9dearcygui_4core_Spacer {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Spacer *__pyx_vtabptr_9dearcygui_4core_Spacer;


/* "dearcygui/core.pyx":8938
 *         return False
 * 
 * cdef class MenuBar(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # We should maybe restrict to menuitem ?
 */

struct __pyx_vtabstruct_9dearcygui_4core_MenuBar {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_MenuBar *__pyx_vtabptr_9dearcygui_4core_MenuBar;


/* "dearcygui/core.pyx":8979
 * 
 * 
 * cdef class Menu(uiItem):             # <<<<<<<<<<<<<<
 *     # TODO: MUST be inside a menubar
 *     def __cinit__(self):
 */

struct __pyx_vtabstruct_9dearcygui_4core_Menu {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Menu *__pyx_vtabptr_9dearcygui_4core_Menu;


/* "dearcygui/core.pyx":9017
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 * cdef class Tooltip(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         # We should maybe restrict to menuitem ?
 */

struct __pyx_vtabstruct_9dearcygui_4core_Tooltip {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Tooltip *__pyx_vtabptr_9dearcygui_4core_Tooltip;


/* "dearcygui/core.pyx":9158
 *         return self.state.cur.rendered and not(was_visible)
 * 
 * cdef class TabButton(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_tabbutton
 */

struct __pyx_vtabstruct_9dearcygui_4core_TabButton {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_TabButton *__pyx_vtabptr_9dearcygui_4core_TabButton;


/* "dearcygui/core.pyx":9252
 * 
 * 
 * cdef class Tab(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

struct __pyx_vtabstruct_9dearcygui_4core_Tab {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Tab *__pyx_vtabptr_9dearcygui_4core_Tab;


/* "dearcygui/core.pyx":9382
 * 
 * 
 * cdef class TabBar(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         #self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

struct __pyx_vtabstruct_9dearcygui_4core_TabBar {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_TabBar *__pyx_vtabptr_9dearcygui_4core_TabBar;


/* "dearcygui/core.pyx":9570
 * 
 * 
 * cdef class Layout(uiItem):             # <<<<<<<<<<<<<<
 *     """
 *     A layout is a group of elements organized
 */

struct __pyx_vtabstruct_9dearcygui_4core_Layout {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
  int (*check_change)(struct __pyx_obj_9dearcygui_4core_Layout *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_Layout *__pyx_vtabptr_9dearcygui_4core_Layout;


/* "dearcygui/core.pyx":9658
 *         return changed
 * 
 * cdef class HorizontalLayout(Layout):             # <<<<<<<<<<<<<<
 *     """
 *     A basic layout to organize the items
 */

struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout {
  struct __pyx_vtabstruct_9dearcygui_4core_Layout __pyx_base;
  float (*_HorizontalLayout__compute_items_size)(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *, int &);
  void (*_HorizontalLayout__update_layout)(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *__pyx_vtabptr_9dearcygui_4core_HorizontalLayout;


/* "dearcygui/core.pyx":9910
 * 
 * 
 * cdef class VerticalLayout(Layout):             # <<<<<<<<<<<<<<
 *     """
 *     Same as HorizontalLayout but vertically
 */

struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout {
  struct __pyx_vtabstruct_9dearcygui_4core_Layout __pyx_base;
  float (*_VerticalLayout__compute_items_size)(struct __pyx_obj_9dearcygui_4core_VerticalLayout *, int &);
  void (*_VerticalLayout__update_layout)(struct __pyx_obj_9dearcygui_4core_VerticalLayout *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *__pyx_vtabptr_9dearcygui_4core_VerticalLayout;


/* "dearcygui/core.pyx":10161
 *         return changed
 * 
 * cdef class TreeNode(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

struct __pyx_vtabstruct_9dearcygui_4core_TreeNode {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_TreeNode *__pyx_vtabptr_9dearcygui_4core_TreeNode;


/* "dearcygui/core.pyx":10349
 *         imgui.PopID()
 * 
 * cdef class CollapsingHeader(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

struct __pyx_vtabstruct_9dearcygui_4core_CollapsingHeader {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_CollapsingHeader *__pyx_vtabptr_9dearcygui_4core_CollapsingHeader;


/* "dearcygui/core.pyx":10482
 *         return not(was_open) and self.state.cur.open
 * 
 * cdef class ChildWindow(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.child_flags = imgui.ImGuiChildFlags_Border | imgui.ImGuiChildFlags_NavFlattened
 */

struct __pyx_vtabstruct_9dearcygui_4core_ChildWindow {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ChildWindow *__pyx_vtabptr_9dearcygui_4core_ChildWindow;


/* "dearcygui/core.pyx":10813
 *         return False # maybe True when visible ?
 * 
 * cdef class ColorButton(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 */

struct __pyx_vtabstruct_9dearcygui_4core_ColorButton {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ColorButton *__pyx_vtabptr_9dearcygui_4core_ColorButton;


/* "dearcygui/core.pyx":10906
 * 
 * 
 * cdef class ColorEdit(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 */

struct __pyx_vtabstruct_9dearcygui_4core_ColorEdit {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ColorEdit *__pyx_vtabptr_9dearcygui_4core_ColorEdit;


/* "dearcygui/core.pyx":11068
 * 
 * 
 * cdef class ColorPicker(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 */

struct __pyx_vtabstruct_9dearcygui_4core_ColorPicker {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_ColorPicker *__pyx_vtabptr_9dearcygui_4core_ColorPicker;


/* "dearcygui/core.pyx":11200
 * """
 * 
 * cdef class TimeWatcher(uiItem):             # <<<<<<<<<<<<<<
 *     """
 *     A placeholder uiItem that doesn't draw
 */

struct __pyx_vtabstruct_9dearcygui_4core_TimeWatcher {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_TimeWatcher *__pyx_vtabptr_9dearcygui_4core_TimeWatcher;


/* "dearcygui/core.pyx":11254
 * 
 * 
 * cdef class Window(uiItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.window_flags = imgui.ImGuiWindowFlags_None
 */

struct __pyx_vtabstruct_9dearcygui_4core_Window {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Window *__pyx_vtabptr_9dearcygui_4core_Window;


/* "dearcygui/core.pyx":12020
 * 
 * 
 * cdef class Texture(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.hint_dynamic = False
 */

struct __pyx_vtabstruct_9dearcygui_4core_Texture {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*set_content)(struct __pyx_obj_9dearcygui_4core_Texture *, PyArrayObject *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_Texture *__pyx_vtabptr_9dearcygui_4core_Texture;


/* "dearcygui/core.pyx":12214
 *     return fonts_filename
 * 
 * cdef class Font(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self, context, *args, **kwargs):
 *         self.can_have_sibling = False
 */

struct __pyx_vtabstruct_9dearcygui_4core_Font {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*push)(struct __pyx_obj_9dearcygui_4core_Font *);
  void (*pop)(struct __pyx_obj_9dearcygui_4core_Font *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_Font *__pyx_vtabptr_9dearcygui_4core_Font;


/* "dearcygui/core.pyx":12262
 *         self.mutex.unlock()
 * 
 * cdef class FontTexture(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     Packs one or several fonts into
 */

struct __pyx_vtabstruct_9dearcygui_4core_FontTexture {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_FontTexture *__pyx_vtabptr_9dearcygui_4core_FontTexture;


/* "dearcygui/core.pyx":12383
 * 
 * 
 * cdef class baseTheme(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     Base theme element. Contains a set of theme elements
 */

struct __pyx_vtabstruct_9dearcygui_4core_baseTheme {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*push)(struct __pyx_obj_9dearcygui_4core_baseTheme *);
  void (*push_to_list)(struct __pyx_obj_9dearcygui_4core_baseTheme *, std::vector<__pyx_t_9dearcygui_4core_theme_action>  &);
  void (*pop)(struct __pyx_obj_9dearcygui_4core_baseTheme *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *__pyx_vtabptr_9dearcygui_4core_baseTheme;


/* "dearcygui/core.pyx":12445
 * 
 * # BaseItem that has has no parent/child nor sibling
 * cdef class PlotAxisConfig(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.state.cap.can_be_hovered = True
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*setup)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis);
  void (*after_setup)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis);
  void (*after_plot)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis);
  void (*set_hidden)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *__pyx_vtabptr_9dearcygui_4core_PlotAxisConfig;


/* "dearcygui/core.pyx":13176
 * 
 * 
 * cdef class PlotLegendConfig(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._show = True
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotLegendConfig {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*setup)(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *);
  void (*after_setup)(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotLegendConfig *__pyx_vtabptr_9dearcygui_4core_PlotLegendConfig;


/* "dearcygui/core.pyx":13368
 * 
 * 
 * cdef class Plot(uiItem):             # <<<<<<<<<<<<<<
 *     """
 *     Plot. Can have Plot elements as child.
 */

struct __pyx_vtabstruct_9dearcygui_4core_Plot {
  struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_Plot *__pyx_vtabptr_9dearcygui_4core_Plot;


/* "dearcygui/core.pyx":13928
 * 
 * 
 * cdef class plotElement(baseItem):             # <<<<<<<<<<<<<<
 *     """
 *     Base class for plot children.
 */

struct __pyx_vtabstruct_9dearcygui_4core_plotElement {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
  void (*draw)(struct __pyx_obj_9dearcygui_4core_plotElement *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_plotElement *__pyx_vtabptr_9dearcygui_4core_plotElement;


/* "dearcygui/core.pyx":14040
 * 
 * 
 * cdef class plotElementWithLegend(plotElement):             # <<<<<<<<<<<<<<
 *     """
 *     Base class for plot children with a legend.
 */

struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElement __pyx_base;
  void (*draw_element)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;


/* "dearcygui/core.pyx":14278
 *         return
 * 
 * cdef class plotElementXY(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 */

struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend __pyx_base;
  void (*check_arrays)(struct __pyx_obj_9dearcygui_4core_plotElementXY *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY *__pyx_vtabptr_9dearcygui_4core_plotElementXY;


/* "dearcygui/core.pyx":14345
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 * 
 * cdef class PlotLine(plotElementXY):             # <<<<<<<<<<<<<<
 *     @property
 *     def segments(self):
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotLine {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotLine *__pyx_vtabptr_9dearcygui_4core_PlotLine;


/* "dearcygui/core.pyx":14464
 *                                     cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class plotElementXYY(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 */

struct __pyx_vtabstruct_9dearcygui_4core_plotElementXYY {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend __pyx_base;
  void (*check_arrays)(struct __pyx_obj_9dearcygui_4core_plotElementXYY *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementXYY *__pyx_vtabptr_9dearcygui_4core_plotElementXYY;


/* "dearcygui/core.pyx":14558
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 * 
 * cdef class PlotShadedLine(plotElementXYY):             # <<<<<<<<<<<<<<
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotShadedLine {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXYY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotShadedLine *__pyx_vtabptr_9dearcygui_4core_PlotShadedLine;


/* "dearcygui/core.pyx":14593
 *                                       cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class PlotStems(plotElementXY):             # <<<<<<<<<<<<<<
 *     @property
 *     def horizontal(self):
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotStems {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotStems *__pyx_vtabptr_9dearcygui_4core_PlotStems;


/* "dearcygui/core.pyx":14645
 *                                     cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class PlotBars(plotElementXY):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._weight = 1.
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotBars {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotBars *__pyx_vtabptr_9dearcygui_4core_PlotBars;


/* "dearcygui/core.pyx":14715
 *                                     cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class PlotStairs(plotElementXY):             # <<<<<<<<<<<<<<
 *     @property
 *     def pre_step(self):
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotStairs {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotStairs *__pyx_vtabptr_9dearcygui_4core_PlotStairs;


/* "dearcygui/core.pyx":14785
 *                                     cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class plotElementX(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 */

struct __pyx_vtabstruct_9dearcygui_4core_plotElementX {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend __pyx_base;
  void (*check_arrays)(struct __pyx_obj_9dearcygui_4core_plotElementX *);
};
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementX *__pyx_vtabptr_9dearcygui_4core_plotElementX;


/* "dearcygui/core.pyx":14822
 * 
 * 
 * cdef class PlotInfLines(plotElementX):             # <<<<<<<<<<<<<<
 *     """
 *     Draw vertical (or horizontal) infinite lines at
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotInfLines {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementX __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotInfLines *__pyx_vtabptr_9dearcygui_4core_PlotInfLines;


/* "dearcygui/core.pyx":14872
 *                                     cnp.PyArray_STRIDE(self._X, 0))
 * 
 * cdef class PlotScatter(plotElementXY):             # <<<<<<<<<<<<<<
 *     @property
 *     def no_clip(self):
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlotScatter {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlotScatter *__pyx_vtabptr_9dearcygui_4core_PlotScatter;


/* "dearcygui/core.pyx":15185
 * '''
 * 
 * cdef class DrawInPlot(plotElementWithLegend):             # <<<<<<<<<<<<<<
 *     """
 *     A plot element that enables to insert Draw* items
 */

struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot {
  struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *__pyx_vtabptr_9dearcygui_4core_DrawInPlot;


/* "dearcygui/core.pyx":2942
 * Cannot have any parent. Thus cannot render.
 * """
 * cdef class PlaceHolderParent(baseItem):             # <<<<<<<<<<<<<<
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True
 */

struct __pyx_vtabstruct_9dearcygui_4core_PlaceHolderParent {
  struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_base;
};
static struct __pyx_vtabstruct_9dearcygui_4core_PlaceHolderParent *__pyx_vtabptr_9dearcygui_4core_PlaceHolderParent;


/* "View.MemoryView":114
 * @cython.collection_type("sequence")
 * @cname("__pyx_array")
 * cdef class array:             # <<<<<<<<<<<<<<
 * 
 *     cdef:
 */

struct __pyx_vtabstruct_array {
  PyObject *(*get_memview)(struct __pyx_array_obj *);
};
static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;


/* "View.MemoryView":337
 * 
 * @cname('__pyx_memoryview')
 * cdef class memoryview:             # <<<<<<<<<<<<<<
 * 
 *     cdef object obj
 */

struct __pyx_vtabstruct_memoryview {
  char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
  PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
  PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);
  PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);
  PyObject *(*_get_base)(struct __pyx_memoryview_obj *);
};
static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;


/* "View.MemoryView":952
 * @cython.collection_type("sequence")
 * @cname('__pyx_memoryviewslice')
 * cdef class _memoryviewslice(memoryview):             # <<<<<<<<<<<<<<
 *     "Internal class for passing memoryview slices to Python"
 * 
 */

struct __pyx_vtabstruct__memoryviewslice {
  struct __pyx_vtabstruct_memoryview __pyx_base;
};
static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;
/* #### Code section: utility_code_proto ### */

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, Py_ssize_t);
    void (*DECREF)(void*, PyObject*, Py_ssize_t);
    void (*GOTREF)(void*, PyObject*, Py_ssize_t);
    void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
    void* (*SetupContext)(const char*, Py_ssize_t, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__))
  #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext()
#endif
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_XINCREF(r)  do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContextNogil()
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_Py_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; Py_XDECREF(tmp);\
    } while (0)
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyErrExceptionMatches.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#if PY_VERSION_HEX >= 0x030C00A6
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->current_exception != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
#else
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->curexc_type != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->curexc_type)
#endif
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  (PyErr_Occurred() != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* PyObjectGetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* PyObjectGetAttrStrNoError.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __pyx_dict_cached_value;\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  do {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#if !CYTHON_VECTORCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
#endif
#define __Pyx_BUILD_ASSERT_EXPR(cond)\
    (sizeof(char [1 - 2*!(cond)]) - 1)
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
  #include "frameobject.h"
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
  #define __Pxy_PyFrame_Initialize_Offsets()
  #define __Pyx_PyFrame_GetLocalsplus(frame)  ((frame)->f_localsplus)
#else
  static size_t __pyx_pyframe_localsplus_offset = 0;
  #include "frameobject.h"
  #define __Pxy_PyFrame_Initialize_Offsets()\
    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
  #define __Pyx_PyFrame_GetLocalsplus(frame)\
    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
#endif
#endif
#endif

/* PyObjectCall.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectFastCall.proto */
#define __Pyx_PyObject_FastCall(func, args, nargs)  __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs);

/* RaiseUnexpectedTypeError.proto */
static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);

/* TupleAndListFromArray.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
#endif

/* IncludeStringH.proto */
#include <string.h>

/* BytesEquals.proto */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* fastcall.proto */
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
#elif CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
#else
    #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
#endif
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
    #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
#else
    #define __Pyx_Arg_NewRef_VARARGS(arg) arg
    #define __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
#if CYTHON_METH_FASTCALL
    #define __Pyx_Arg_FASTCALL(args, i) args[i]
    #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
    #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
    static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
    CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
  #else
    #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
  #endif
    #define __Pyx_Arg_NewRef_FASTCALL(arg) arg  /* no-op, __Pyx_Arg_FASTCALL is direct and this needs
                                                   to have the same reference counting */
    #define __Pyx_Arg_XDECREF_FASTCALL(arg)
#else
    #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
    #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
    #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
    #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
    #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
    #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
    #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
#endif

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* RaiseDoubleKeywords.proto */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues,
    PyObject **argnames[],
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,
    const char* function_name);

/* PyObjectSetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
#else
#define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

/* KeywordStringCheck.proto */
static int __Pyx_CheckKeywordStrings(PyObject *kw, const char* function_name, int kw_allowed);

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* PySequenceContains.proto */
static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
    int result = PySequence_Contains(seq, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* HasAttr.proto */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* GCCDiagnostics.proto */
#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* BuildPyUnicode.proto */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength,
                                                int prepend_sign, char padding_char);

/* CIntToPyUnicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char);

/* CIntToPyUnicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char);

/* JoinPyUnicode.proto */
static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char);

/* StrEquals.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
#else
#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
#endif

/* PyObjectFormatSimple.proto */
#if CYTHON_COMPILING_IN_PYPY
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#elif PY_MAJOR_VERSION < 3
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\
        PyObject_Format(s, f))
#elif CYTHON_USE_TYPE_SLOTS
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
        likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
        PyObject_Format(s, f))
#else
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#endif

CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *); /*proto*/
/* DivInt[Py_ssize_t].proto */
static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t);

/* UnaryNegOverflows.proto */
#define __Pyx_UNARY_NEG_WOULD_OVERFLOW(x)\
        (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))

/* AssertionsEnabled.proto */
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define __Pyx_init_assertions_enabled()  (0)
  #define __pyx_assertions_enabled()  (1)
#elif CYTHON_COMPILING_IN_LIMITED_API  ||  (CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030C0000)
  static int __pyx_assertions_enabled_flag;
  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
  static int __Pyx_init_assertions_enabled(void) {
    PyObject *builtins, *debug, *debug_str;
    int flag;
    builtins = PyEval_GetBuiltins();
    if (!builtins) goto bad;
    debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
    if (!debug_str) goto bad;
    debug = PyObject_GetItem(builtins, debug_str);
    Py_DECREF(debug_str);
    if (!debug) goto bad;
    flag = PyObject_IsTrue(debug);
    Py_DECREF(debug);
    if (flag == -1) goto bad;
    __pyx_assertions_enabled_flag = flag;
    return 0;
  bad:
    __pyx_assertions_enabled_flag = 1;
    return -1;
  }
#else
  #define __Pyx_init_assertions_enabled()  (0)
  #define __pyx_assertions_enabled()  (!Py_OptimizeFlag)
#endif

/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* RaiseNeedMoreValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* RaiseNoneIterError.proto */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* ImportDottedModule.proto */
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
#endif

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
#endif
#define __Pyx_PyErr_ExceptionMatches2(err1, err2)  __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)

CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
/* ListCompAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);

/* SetItemInt.proto */
#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v);
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v,
                                               int is_list, int wraparound, int boundscheck);

/* RaiseUnboundLocalError.proto */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);

/* DivInt[long].proto */
static CYTHON_INLINE long __Pyx_div_long(long, long);

/* ModInt[long].proto */
static CYTHON_INLINE long __Pyx_mod_long(long, long);

/* WriteUnraisableException.proto */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil);

/* DelItemInt.proto */
#define __Pyx_DelItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_DelItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_DelItem_Generic(o, to_py_func(i))))
static int __Pyx_DelItem_Generic(PyObject *o, PyObject *j);
static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i,
                                               int is_list, int wraparound);

/* PyDictContains.proto */
static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
    int result = PyDict_Contains(dict, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* DictGetItem.proto */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name)\
    (likely(PyDict_CheckExact(obj)) ?\
     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
#else
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
#endif

/* dict_getitem_default.proto */
static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value);

/* UnpackUnboundCMethod.proto */
typedef struct {
    PyObject *type;
    PyObject **method_name;
    PyCFunction func;
    PyObject *method;
    int flag;
} __Pyx_CachedCFunction;

/* CallUnboundCMethod1.proto */
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#else
#define __Pyx_CallUnboundCMethod1(cfunc, self, arg)  __Pyx__CallUnboundCMethod1(cfunc, self, arg)
#endif

/* CallUnboundCMethod2.proto */
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
#else
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2)  __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
#endif

/* PyUnicode_Unicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);

/* UnicodeConcatInPlace.proto */
# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
    #if CYTHON_REFNANNY
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, __pyx_refnanny)
    #else
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right)
    #endif
    static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    );
#else
#define __Pyx_PyUnicode_ConcatInPlace __Pyx_PyUnicode_Concat
#endif
#define __Pyx_PyUnicode_ConcatInPlaceSafe(left, right) ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_ConcatInPlace(left, right))

/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* PyObjectCallNoArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);

/* PyObjectGetMethod.proto */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);

/* PyObjectCallMethod0.proto */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);

/* pop.proto */
static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L);
#define __Pyx_PyObject_Pop(L) (likely(PyList_CheckExact(L)) ?\
    __Pyx_PyList_Pop(L) : __Pyx__PyObject_Pop(L))
#else
#define __Pyx_PyList_Pop(L)  __Pyx__PyObject_Pop(L)
#define __Pyx_PyObject_Pop(L)  __Pyx__PyObject_Pop(L)
#endif

/* CallUnboundCMethod0.proto */
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CallUnboundCMethod0(cfunc, self)\
    (likely((cfunc)->func) ?\
        (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
         (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
            (PY_VERSION_HEX >= 0x030700A0 ?\
                (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
                (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
          (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
            (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
            (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
               ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
               __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
        __Pyx__CallUnboundCMethod0(cfunc, self))
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
#endif

/* PyObject_Unicode.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyObject_Unicode(obj)\
    (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
#else
#define __Pyx_PyObject_Unicode(obj)\
    (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
#endif

/* MoveIfSupported.proto */
#if CYTHON_USE_CPP_STD_MOVE
  #include <utility>
  #define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
  #define __PYX_STD_MOVE_IF_SUPPORTED(x) x
#endif

/* IterFinish.proto */
static CYTHON_INLINE int __Pyx_IterFinish(void);

/* UnpackItemEndCheck.proto */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* UnpackTupleError.proto */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);

/* UnpackTuple2.proto */
#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
    (likely(is_tuple || PyTuple_Check(tuple)) ?\
        (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
            __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
            (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
        __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
static int __Pyx_unpack_tuple2_generic(
    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);

/* dict_iter.proto */
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);

/* PyObjectCall2Args.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyObjectCallMethod1.proto */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* append.proto */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);

/* CallableCheck.proto */
#if CYTHON_USE_TYPE_SLOTS && PY_MAJOR_VERSION >= 3
#define __Pyx_PyCallable_Check(obj)   (Py_TYPE(obj)->tp_call != NULL)
#else
#define __Pyx_PyCallable_Check(obj)   PyCallable_Check(obj)
#endif

/* PyIntCompare.proto */
static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);

/* PyIntFromDouble.proto */
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE PyObject* __Pyx_PyInt_FromDouble(double value);
#else
#define __Pyx_PyInt_FromDouble(value) PyLong_FromDouble(value)
#endif

/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif

/* PyObject_GenericGetAttr.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
#endif

/* IncludeStructmemberH.proto */
#include <structmember.h>

/* FixUpExtensionType.proto */
#if CYTHON_USE_TYPE_SPECS
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
#endif

/* ValidateBasesTuple.proto */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
#endif

/* PyType_Ready.proto */
CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);

/* SetVTable.proto */
static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable);

/* GetVTable.proto */
static void* __Pyx_GetVtable(PyTypeObject *type);

/* MergeVTables.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_MergeVtables(PyTypeObject *type);
#endif

/* SetupReduce.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_setup_reduce(PyObject* type_obj);
#endif

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_11
#define __PYX_HAVE_RT_ImportType_proto_3_0_11
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include <stdalign.h>
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_11(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_11(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_0_11 {
   __Pyx_ImportType_CheckSize_Error_3_0_11 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_0_11 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_0_11 = 2
};
static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_11 check_size);
#endif

/* FetchSharedCythonModule.proto */
static PyObject *__Pyx_FetchSharedCythonABIModule(void);

/* FetchCommonType.proto */
#if !CYTHON_USE_TYPE_SPECS
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
#else
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
#endif

/* PyMethodNew.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    typesModule = PyImport_ImportModule("types");
    if (!typesModule) return NULL;
    methodType = PyObject_GetAttrString(typesModule, "MethodType");
    Py_DECREF(typesModule);
    if (!methodType) return NULL;
    result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
    Py_DECREF(methodType);
    return result;
}
#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    return PyMethod_New(func, self);
}
#else
    #define __Pyx_PyMethod_New PyMethod_New
#endif

/* PyVectorcallFastCallDict.proto */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
#endif

/* CythonFunctionShared.proto */
#define __Pyx_CyFunction_USED
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CYFUNCTION_COROUTINE     0x08
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_CyFunction_GetClassObj(f)\
      (((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
  #define __Pyx_CyFunction_GetClassObj(f)\
      ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
#endif
#define __Pyx_CyFunction_SetClassObj(f, classobj)\
    __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
#define __Pyx_CyFunction_Defaults(type, f)\
    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject_HEAD
    PyObject *func;
#elif PY_VERSION_HEX < 0x030900B1
    PyCFunctionObject func;
#else
    PyCMethodObject func;
#endif
#if CYTHON_BACKPORT_VECTORCALL
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
    PyObject *func_dict;
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_classobj;
#endif
    void *defaults;
    int defaults_pyobjects;
    size_t defaults_size;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
    PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj)  __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
#define __Pyx_CyOrPyCFunction_Check(obj)  __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj)  __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
#undef __Pyx_IsSameCFunction
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
                                                         size_t size,
                                                         int pyobjects);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
                                                            PyObject *tuple);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
                                                             PyObject *dict);
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
                                                              PyObject *dict);
static int __pyx_CyFunction_init(PyObject *module);
#if CYTHON_METH_FASTCALL
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#if CYTHON_BACKPORT_VECTORCALL
#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
#else
#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
#endif
#endif

/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);

/* Py3UpdateBases.proto */
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* SetNewInClass.proto */
static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value);

/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
#define __Pyx_PyObject_LookupSpecial(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
#else
#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

/* Globals.proto */
static PyObject* __Pyx_Globals(void);

/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif

/* CodeObjectCache.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
#endif

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* None.proto */
#include <new>

#if PY_MAJOR_VERSION < 3
    static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
    static void __Pyx_ReleaseBuffer(Py_buffer *view);
#else
    #define __Pyx_GetBuffer PyObject_GetBuffer
    #define __Pyx_ReleaseBuffer PyBuffer_Release
#endif


/* BufferStructDeclare.proto */
typedef struct {
  Py_ssize_t shape, strides, suboffsets;
} __Pyx_Buf_DimInfo;
typedef struct {
  size_t refcount;
  Py_buffer pybuffer;
} __Pyx_Buffer;
typedef struct {
  __Pyx_Buffer *rcbuffer;
  char *data;
  __Pyx_Buf_DimInfo diminfo[8];
} __Pyx_LocalBuf_ND;

/* MemviewSliceIsContig.proto */
static int __pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs, char order, int ndim);

/* OverlappingSlices.proto */
static int __pyx_slices_overlap(__Pyx_memviewslice *slice1,
                                __Pyx_memviewslice *slice2,
                                int ndim, size_t itemsize);

/* CppExceptionConversion.proto */
#ifndef __Pyx_CppExn2PyErr
#include <new>
#include <typeinfo>
#include <stdexcept>
#include <ios>
static void __Pyx_CppExn2PyErr() {
  try {
    if (PyErr_Occurred())
      ; // let the latest Python exn pass through and ignore the current one
    else
      throw;
  } catch (const std::bad_alloc& exn) {
    PyErr_SetString(PyExc_MemoryError, exn.what());
  } catch (const std::bad_cast& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::bad_typeid& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::domain_error& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::invalid_argument& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::ios_base::failure& exn) {
    PyErr_SetString(PyExc_IOError, exn.what());
  } catch (const std::out_of_range& exn) {
    PyErr_SetString(PyExc_IndexError, exn.what());
  } catch (const std::overflow_error& exn) {
    PyErr_SetString(PyExc_OverflowError, exn.what());
  } catch (const std::range_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::underflow_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::exception& exn) {
    PyErr_SetString(PyExc_RuntimeError, exn.what());
  }
  catch (...)
  {
    PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
  }
}
#endif

/* IsLittleEndian.proto */
static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);

/* BufferFormatCheck.proto */
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);
static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                              __Pyx_BufFmt_StackElem* stack,
                              __Pyx_TypeInfo* type);

/* TypeInfoCompare.proto */
static int __pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b);

/* MemviewSliceValidateAndInit.proto */
static int __Pyx_ValidateAndInit_memviewslice(
                int *axes_specs,
                int c_or_f_flag,
                int buf_flags,
                int ndim,
                __Pyx_TypeInfo *dtype,
                __Pyx_BufFmt_StackElem stack[],
                __Pyx_memviewslice *memviewslice,
                PyObject *original_obj);

/* ObjectToMemviewSlice.proto */
static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_int(PyObject *, int writable_flag);

/* ObjectToMemviewSlice.proto */
static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_float(PyObject *, int writable_flag);

/* MemviewDtypeToObject.proto */
static CYTHON_INLINE PyObject *__pyx_memview_get_float(const char *itemp);
static CYTHON_INLINE int __pyx_memview_set_float(const char *itemp, PyObject *obj);

/* RealImag.proto */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #define __Pyx_CREAL(z) ((z).real())
    #define __Pyx_CIMAG(z) ((z).imag())
  #else
    #define __Pyx_CREAL(z) (__real__(z))
    #define __Pyx_CIMAG(z) (__imag__(z))
  #endif
#else
    #define __Pyx_CREAL(z) ((z).real)
    #define __Pyx_CIMAG(z) ((z).imag)
#endif
#if defined(__cplusplus) && CYTHON_CCOMPLEX\
        && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
#else
    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_float(a, b)   ((a)==(b))
    #define __Pyx_c_sum_float(a, b)  ((a)+(b))
    #define __Pyx_c_diff_float(a, b) ((a)-(b))
    #define __Pyx_c_prod_float(a, b) ((a)*(b))
    #define __Pyx_c_quot_float(a, b) ((a)/(b))
    #define __Pyx_c_neg_float(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
    #define __Pyx_c_conj_float(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (::std::abs(z))
        #define __Pyx_c_pow_float(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_float(z) ((z)==0)
    #define __Pyx_c_conj_float(z)    (conjf(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (cabsf(z))
        #define __Pyx_c_pow_float(a, b)  (cpowf(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
    #if 1
        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
    #endif
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_double(a, b)   ((a)==(b))
    #define __Pyx_c_sum_double(a, b)  ((a)+(b))
    #define __Pyx_c_diff_double(a, b) ((a)-(b))
    #define __Pyx_c_prod_double(a, b) ((a)*(b))
    #define __Pyx_c_quot_double(a, b) ((a)/(b))
    #define __Pyx_c_neg_double(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
    #define __Pyx_c_conj_double(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (::std::abs(z))
        #define __Pyx_c_pow_double(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_double(z) ((z)==0)
    #define __Pyx_c_conj_double(z)    (conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (cabs(z))
        #define __Pyx_c_pow_double(a, b)  (cpow(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
    #if 1
        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
    #endif
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_long__double(a, b)   ((a)==(b))
    #define __Pyx_c_sum_long__double(a, b)  ((a)+(b))
    #define __Pyx_c_diff_long__double(a, b) ((a)-(b))
    #define __Pyx_c_prod_long__double(a, b) ((a)*(b))
    #define __Pyx_c_quot_long__double(a, b) ((a)/(b))
    #define __Pyx_c_neg_long__double(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_long__double(z) ((z)==(long double)0)
    #define __Pyx_c_conj_long__double(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_long__double(z)     (::std::abs(z))
        #define __Pyx_c_pow_long__double(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_long__double(z) ((z)==0)
    #define __Pyx_c_conj_long__double(z)    (conjl(z))
    #if 1
        #define __Pyx_c_abs_long__double(z)     (cabsl(z))
        #define __Pyx_c_pow_long__double(a, b)  (cpowl(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex);
    #if 1
        static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex);
        static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    #endif
#endif

/* MemviewSliceCopyTemplate.proto */
static __Pyx_memviewslice
__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,
                                 const char *mode, int ndim,
                                 size_t sizeof_dtype, int contig_flag,
                                 int dtype_is_object);

/* MemviewSliceInit.proto */
#define __Pyx_BUF_MAX_NDIMS %(BUF_MAX_NDIMS)d
#define __Pyx_MEMVIEW_DIRECT   1
#define __Pyx_MEMVIEW_PTR      2
#define __Pyx_MEMVIEW_FULL     4
#define __Pyx_MEMVIEW_CONTIG   8
#define __Pyx_MEMVIEW_STRIDED  16
#define __Pyx_MEMVIEW_FOLLOW   32
#define __Pyx_IS_C_CONTIG 1
#define __Pyx_IS_F_CONTIG 2
static int __Pyx_init_memviewslice(
                struct __pyx_memoryview_obj *memview,
                int ndim,
                __Pyx_memviewslice *memviewslice,
                int memview_is_new_reference);
static CYTHON_INLINE int __pyx_add_acquisition_count_locked(
    __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
static CYTHON_INLINE int __pyx_sub_acquisition_count_locked(
    __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
#define __pyx_get_slice_count_pointer(memview) (&memview->acquisition_count)
#define __PYX_INC_MEMVIEW(slice, have_gil) __Pyx_INC_MEMVIEW(slice, have_gil, __LINE__)
#define __PYX_XCLEAR_MEMVIEW(slice, have_gil) __Pyx_XCLEAR_MEMVIEW(slice, have_gil, __LINE__)
static CYTHON_INLINE void __Pyx_INC_MEMVIEW(__Pyx_memviewslice *, int, int);
static CYTHON_INLINE void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *, int, int);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_positioning __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_alignment __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_alignment(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_AxisScale __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_AxisScale(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_LegendLocation __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_LegendLocation(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value);

/* CIntFromPy.proto */
static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImGuiButtonFlags(ImGuiButtonFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImGuiKey(enum ImGuiKey value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImGuiMouseButton_(enum ImGuiMouseButton_ value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImGuiKeyChord(ImGuiKeyChord value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImAxis_(enum ImAxis_ value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImU32(ImU32 value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(enum __pyx_t_9dearcygui_4core_Axis value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(enum __pyx_t_9dearcygui_4core_AxisScale value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(enum __pyx_t_9dearcygui_4core_LegendLocation value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(enum __pyx_t_9dearcygui_4core_alignment value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(enum __pyx_t_9dearcygui_4core_mouse_cursor value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(enum __pyx_t_9dearcygui_4core_theme_categories value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(enum __pyx_t_9dearcygui_4core_theme_enablers value);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);

/* FormatTypeName.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%U"
static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp);
#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
#else
typedef const char *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%.200s"
#define __Pyx_PyType_GetName(tp) ((tp)->tp_name)
#define __Pyx_DECREF_TypeName(obj)
#endif

/* CheckBinaryVersion.proto */
static unsigned long __Pyx_get_runtime_version(void);
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);

/* FunctionExport.proto */
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

/* #### Code section: module_declarations ### */
static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self); /* proto*/
static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto*/
static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj); /* proto*/
static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto*/
static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self); /* proto*/
static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_noarg(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1obj(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_arg1); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, float __pyx_v_arg1); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1value(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_arg1); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int1float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, float __pyx_v_arg2); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg2float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, float __pyx_v_arg1, float __pyx_v_arg2); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg2double(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, double __pyx_v_arg1, double __pyx_v_arg2); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int2float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, float __pyx_v_arg2, float __pyx_v_arg3); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg4int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, int __pyx_v_arg2, int __pyx_v_arg3, int __pyx_v_arg4); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg3long1int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, PY_LONG_LONG __pyx_v_arg1, PY_LONG_LONG __pyx_v_arg2, PY_LONG_LONG __pyx_v_arg3, int __pyx_v_arg4); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_queue_callback_argdoubletriplet(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, double __pyx_v_arg1_1, double __pyx_v_arg1_2, double __pyx_v_arg1_3, double __pyx_v_arg2_1, double __pyx_v_arg2_2, double __pyx_v_arg2_3); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_register_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_o, PY_LONG_LONG __pyx_v_uuid); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_unregister_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PY_LONG_LONG __pyx_v_uuid); /* proto*/
static struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_uuid(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PY_LONG_LONG __pyx_v_uuid); /* proto*/
static struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_tag(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_tag); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_update_registered_item_tag(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_o, PY_LONG_LONG __pyx_v_uuid, PyObject *__pyx_v_tag); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_push_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_next_parent, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_7Context_pop_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_back(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_front(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_last_created_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_last_created_container(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_lock_parent_and_item_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  &__pyx_v_parent_m, std::unique_lock<std::recursive_mutex>  &__pyx_v_item_m); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_lock_and_previous_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_unlock_and_previous_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_8baseItem__baseItem__check_rendered(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_attach_to_parent(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_attach_before(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem__baseItem__detach_item_and_lock(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, std::unique_lock<std::recursive_mutex>  &__pyx_v_m); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_detach_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_delete_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem__baseItem__delete_and_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_set_previous_states(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_run_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_no_handler_and_propagate_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_resize(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_width, int __pyx_v_height); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_close(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__render(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, float *__pyx_v_dst_p, double *__pyx_v_src_p); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, enum __pyx_t_9dearcygui_4core_theme_enablers __pyx_v_theme_activation_condition_enabled, enum __pyx_t_9dearcygui_4core_theme_categories __pyx_v_theme_activation_condition_category); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions_on_subset(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_start, int __pyx_v_end); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8Viewport_cwake(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11drawingItem_draw_prev_siblings(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, ImDrawList *__pyx_v_l); /* proto*/
static void __pyx_f_9dearcygui_4core_11drawingItem_draw(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, ImDrawList *__pyx_v_l); /* proto*/
static void __pyx_f_9dearcygui_4core_11DrawingList_draw(struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_16DrawingListScale_draw(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_10DrawArrow___DrawArrow___compute_tip(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_10DrawArrow__draw(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_16DrawBezierCubic__draw(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_20DrawBezierQuadratic__draw(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_11DrawCircle__draw(struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_12DrawEllipse___DrawEllipse___fill_points(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_12DrawEllipse__draw(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_10DrawImage__draw(struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_14DrawImageQuad__draw(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_9DrawLine__draw(struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_13DrawPolyline__draw(struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_12DrawPolygon___DrawPolygon___triangulate(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_12DrawPolygon__draw(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_9DrawQuad__draw(struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_9DrawRect__draw(struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_9DrawText__draw(struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_13DrawTriangle__draw(struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static void __pyx_f_9dearcygui_4core_19DrawInvisibleButton_draw(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, ImDrawList *__pyx_v_drawlist); /* proto*/
static int __pyx_f_9dearcygui_4core_12DrawInWindow_draw_item(struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_17ViewportDrawList__draw(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_15KeyDownHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_15KeyDownHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_16KeyPressHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_16KeyPressHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_18KeyReleaseHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_18KeyReleaseHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_18MouseClickHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_18MouseClickHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_17MouseDownHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_17MouseDownHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_17MouseDragHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_17MouseDragHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_16MouseMoveHandler_check_state(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_16MouseMoveHandler_run_handler(struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_20MouseReleaseHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_20MouseReleaseHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_17MouseWheelHandler_check_state(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_17MouseWheelHandler_run_handler(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedValue_on_update(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, int __pyx_v_changed); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedValue_inc_num_attached(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedValue_dec_num_attached(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_10SharedBool_get(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_10SharedBool_set(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, int __pyx_v_value); /* proto*/
static float __pyx_f_9dearcygui_4core_11SharedFloat_get(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedFloat_set(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, float __pyx_v_value); /* proto*/
static int __pyx_f_9dearcygui_4core_9SharedInt_get(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_9SharedInt_set(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, int __pyx_v_value); /* proto*/
static ImU32 __pyx_f_9dearcygui_4core_11SharedColor_getU32(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self); /* proto*/
static ImVec4 __pyx_f_9dearcygui_4core_11SharedColor_getF4(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedColor_setU32(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, ImU32 __pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_11SharedColor_setF4(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, ImVec4 __pyx_v_value); /* proto*/
static double __pyx_f_9dearcygui_4core_12SharedDouble_get(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_12SharedDouble_set(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, double __pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_9SharedStr_get(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED std::string &__pyx_v_out); /* proto*/
static void __pyx_f_9dearcygui_4core_9SharedStr_set(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, std::string __pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_12SharedFloat4_get(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, float *__pyx_v_dst); /* proto*/
static void __pyx_f_9dearcygui_4core_12SharedFloat4_set(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, float *__pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_10SharedInt4_get(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, int *__pyx_v_dst); /* proto*/
static void __pyx_f_9dearcygui_4core_10SharedInt4_set(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, int *__pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_13SharedDouble4_get(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, double *__pyx_v_dst); /* proto*/
static void __pyx_f_9dearcygui_4core_13SharedDouble4_set(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, double *__pyx_v_value); /* proto*/
static __Pyx_memviewslice __pyx_f_9dearcygui_4core_15SharedFloatVect_get(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_15SharedFloatVect_set(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, __Pyx_memviewslice __pyx_v_value); /* proto*/
static void __pyx_f_9dearcygui_4core_11baseHandler_check_bind(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static int __pyx_f_9dearcygui_4core_11baseHandler_check_state(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_11baseHandler_run_handler(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_11baseHandler_run_callback(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item); /* proto*/
static void __pyx_f_9dearcygui_4core_6uiItem_update_current_state(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_6uiItem_update_current_state_subset(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_6uiItem_draw(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6uiItem_draw_item(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_10SimplePlot_draw_item(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6Button_draw_item(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_5Combo_draw_item(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_8Checkbox_draw_item(struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6Slider_draw_item(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_7ListBox_draw_item(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11RadioButton_draw_item(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_9InputText_draw_item(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_10InputValue_draw_item(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_4Text_draw_item(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_10Selectable_draw_item(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_8MenuItem_draw_item(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11ProgressBar_draw_item(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_5Image_draw_item(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11ImageButton_draw_item(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_9Separator_draw_item(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6Spacer_draw_item(struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_7MenuBar_draw_item(struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_4Menu_draw_item(struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_7Tooltip_draw_item(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_9TabButton_draw_item(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_3Tab_draw_item(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6TabBar_draw_item(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6Layout_check_change(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_6Layout_draw_item(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self); /* proto*/
static float __pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__compute_items_size(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, int &__pyx_v_n_items); /* proto*/
static void __pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__update_layout(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_16HorizontalLayout_check_change(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_16HorizontalLayout_draw_item(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto*/
static float __pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__compute_items_size(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, int &__pyx_v_n_items); /* proto*/
static void __pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__update_layout(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_14VerticalLayout_check_change(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_14VerticalLayout_draw_item(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_8TreeNode_draw_item(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_16CollapsingHeader_draw_item(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11ChildWindow_draw_item(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11ColorButton_draw_item(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_9ColorEdit_draw_item(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_11ColorPicker_draw_item(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11TimeWatcher_draw(struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_6Window_draw(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_7Texture_set_content(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyArrayObject *__pyx_v_content); /* proto*/
static void __pyx_f_9dearcygui_4core_4Font_push(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_4Font_pop(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_9baseTheme_push(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_9baseTheme_pop(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_9baseTheme_push_to_list(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, CYTHON_UNUSED std::vector<__pyx_t_9dearcygui_4core_theme_action>  &__pyx_v_v); /* proto*/
static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_setup(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, ImAxis __pyx_v_axis); /* proto*/
static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_after_setup(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, ImAxis __pyx_v_axis); /* proto*/
static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_after_plot(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, CYTHON_UNUSED ImAxis __pyx_v_axis); /* proto*/
static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_set_hidden(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_16PlotLegendConfig_setup(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_16PlotLegendConfig_after_setup(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto*/
static int __pyx_f_9dearcygui_4core_4Plot_draw_item(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11plotElement_draw(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_21plotElementWithLegend_draw(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_21plotElementWithLegend_draw_element(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_13plotElementXY_check_arrays(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8PlotLine_draw_element(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_14plotElementXYY_check_arrays(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_14PlotShadedLine_draw_element(struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_9PlotStems_draw_element(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_8PlotBars_draw_element(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_10PlotStairs_draw_element(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_12plotElementX_check_arrays(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_12PlotInfLines_draw_element(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_11PlotScatter_draw_element(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self); /* proto*/
static void __pyx_f_9dearcygui_4core_10DrawInPlot_draw(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self); /* proto*/

/* Module declarations from "dearcygui.wrapper.imgui" */

/* Module declarations from "dearcygui.wrapper.implot" */

/* Module declarations from "dearcygui.wrapper.imnodes" */

/* Module declarations from "dearcygui.wrapper.math" */

/* Module declarations from "dearcygui.wrapper.mutex" */

/* Module declarations from "dearcygui.wrapper" */

/* Module declarations from "libcpp.atomic" */

/* Module declarations from "libc.string" */

/* Module declarations from "libcpp.string" */

/* Module declarations from "dearcygui.backends.backend" */
static CYTHON_INLINE mvColor __pyx_f_9dearcygui_8backends_7backend_colorFromInts(int, int, int, int); /*proto*/

/* Module declarations from "libc.stddef" */

/* Module declarations from "libc.time" */

/* Module declarations from "libcpp" */

/* Module declarations from "libcpp.utility" */

/* Module declarations from "libcpp.map" */

/* Module declarations from "libcpp.vector" */

/* Module declarations from "libc.stdio" */

/* Module declarations from "__builtin__" */

/* Module declarations from "cpython.type" */

/* Module declarations from "cpython" */

/* Module declarations from "cpython.object" */

/* Module declarations from "cpython.ref" */

/* Module declarations from "numpy" */

/* Module declarations from "numpy" */
static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/

/* Module declarations from "cython.view" */

/* Module declarations from "cython.dataclasses" */

/* Module declarations from "cython" */

/* Module declarations from "libcpp.algorithm" */

/* Module declarations from "libcpp.cmath" */

/* Module declarations from "libcpp.set" */

/* Module declarations from "libc.math" */

/* Module declarations from "libc.stdint" */

/* Module declarations from "cpython.exc" */

/* Module declarations from "dearcygui.backends.time" */
static CYTHON_INLINE double __pyx_f_9dearcygui_8backends_4time_time(void); /*proto*/
static CYTHON_INLINE int64_t __pyx_f_9dearcygui_8backends_4time_monotonic_ns(void); /*proto*/
static CYTHON_INLINE int __pyx_f_9dearcygui_8backends_4time__raise_from_errno(void); /*proto*/

/* Module declarations from "dearcygui.core" */
static PyObject *__Pyx_OrderedDict = 0;
static PyObject *__Pyx_EnumBase = 0;
static PyObject *__Pyx_FlagBase = 0;
static PyObject *__pyx_collections_abc_Sequence = 0;
static PyObject *generic = 0;
static PyObject *strided = 0;
static PyObject *indirect = 0;
static PyObject *contiguous = 0;
static PyObject *indirect_contiguous = 0;
static int __pyx_memoryview_thread_locks_used;
static PyThread_type_lock __pyx_memoryview_thread_locks[8];
static PyObject *__Pyx_globals = 0;
static void __pyx_f_9dearcygui_4core_lock_gil_friendly_block(std::unique_lock<std::recursive_mutex>  &); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_lock_gil_friendly(std::unique_lock<std::recursive_mutex>  &, std::recursive_mutex &); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(struct __pyx_obj_9dearcygui_4core_Context *); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_implot_context(struct __pyx_obj_9dearcygui_4core_Context *); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_imnodes_context(struct __pyx_obj_9dearcygui_4core_Context *); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_im_context(struct __pyx_obj_9dearcygui_4core_Context *); /*proto*/
static void __pyx_f_9dearcygui_4core_update_current_mouse_states(struct __pyx_t_9dearcygui_4core_itemState &); /*proto*/
static ImU32 __pyx_f_9dearcygui_4core_imgui_ColorConvertFloat4ToU32(ImVec4); /*proto*/
static ImVec4 __pyx_f_9dearcygui_4core_imgui_ColorConvertU32ToFloat4(ImU32); /*proto*/
static CYTHON_INLINE ImU32 __pyx_f_9dearcygui_4core_parse_color(PyObject *); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_unparse_color(float *, ImU32); /*proto*/
static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_read_point(double *, PyObject *); /*proto*/
static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_read_vec4(int *, PyObject *); /*proto*/
static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(float *, PyObject *); /*proto*/
static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_read_vec4(double *, PyObject *); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_clear_obj_vector(std::vector<PyObject *>  &); /*proto*/
static CYTHON_INLINE void __pyx_f_9dearcygui_4core_append_obj_vector(std::vector<PyObject *>  &, PyObject *); /*proto*/
static void __pyx_f_9dearcygui_4core_internal_resize_callback(void *, int, int); /*proto*/
static void __pyx_f_9dearcygui_4core_internal_close_callback(void *); /*proto*/
static void __pyx_f_9dearcygui_4core_internal_render_callback(void *); /*proto*/
static CYTHON_INLINE int __pyx_f_9dearcygui_4core_is_counter_clockwise(ImVec2, ImVec2, ImVec2); /*proto*/
static CYTHON_INLINE PyObject *__pyx_f_9dearcygui_4core_IntPairFromVec2(ImVec2); /*proto*/
static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp1(int &, double, double); /*proto*/
static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp1(float &, double, double); /*proto*/
static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp1(double &, double, double); /*proto*/
static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp4(int *, double, double); /*proto*/
static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp4(float *, double, double); /*proto*/
static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp4(double *, double, double); /*proto*/
static std::string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(PyObject *); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
static PyObject *__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(enum __pyx_t_9dearcygui_4core_mouse_cursor); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_double(double *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_double(double *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_bint(int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_bint(int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *, Py_ssize_t); /*proto*/
static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(enum __pyx_t_9dearcygui_4core_positioning); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning *, Py_ssize_t); /*proto*/
static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(enum __pyx_t_9dearcygui_4core_alignment); /*proto*/
static PyObject *__pyx_convert_vector_to_py_float(std::vector<float>  const &); /*proto*/
static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(enum __pyx_t_9dearcygui_4core_AxisScale); /*proto*/
static PyObject *__Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(enum __pyx_t_9dearcygui_4core_LegendLocation); /*proto*/
static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx_EnumMeta *, PyObject *); /*proto*/
static int __pyx_array_allocate_buffer(struct __pyx_array_obj *); /*proto*/
static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char *, char *); /*proto*/
static PyObject *__pyx_memoryview_new(PyObject *, int, int, __Pyx_TypeInfo *); /*proto*/
static CYTHON_INLINE int __pyx_memoryview_check(PyObject *); /*proto*/
static PyObject *_unellipsify(PyObject *, int); /*proto*/
static int assert_direct_dimensions(Py_ssize_t *, int); /*proto*/
static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *, PyObject *); /*proto*/
static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int, int); /*proto*/
static char *__pyx_pybuffer_index(Py_buffer *, char *, Py_ssize_t, Py_ssize_t); /*proto*/
static int __pyx_memslice_transpose(__Pyx_memviewslice *); /*proto*/
static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice, int, PyObject *(*)(char *), int (*)(char *, PyObject *), int); /*proto*/
static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *); /*proto*/
static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static Py_ssize_t abs_py_ssize_t(Py_ssize_t); /*proto*/
static char __pyx_get_best_slice_order(__Pyx_memviewslice *, int); /*proto*/
static void _copy_strided_to_strided(char *, Py_ssize_t *, char *, Py_ssize_t *, Py_ssize_t *, Py_ssize_t *, int, size_t); /*proto*/
static void copy_strided_to_strided(__Pyx_memviewslice *, __Pyx_memviewslice *, int, size_t); /*proto*/
static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *, int); /*proto*/
static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *, Py_ssize_t *, Py_ssize_t, int, char); /*proto*/
static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *, __Pyx_memviewslice *, char, int); /*proto*/
static int __pyx_memoryview_err_extents(int, Py_ssize_t, Py_ssize_t); /*proto*/
static int __pyx_memoryview_err_dim(PyObject *, PyObject *, int); /*proto*/
static int __pyx_memoryview_err(PyObject *, PyObject *); /*proto*/
static int __pyx_memoryview_err_no_memory(void); /*proto*/
static int __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int); /*proto*/
static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *, int, int); /*proto*/
static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *, int, int, int); /*proto*/
static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
static void __pyx_memoryview_refcount_objects_in_slice(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *, int, size_t, void *, int); /*proto*/
static void __pyx_memoryview__slice_assign_scalar(char *, Py_ssize_t *, Py_ssize_t *, int, size_t, void *); /*proto*/
static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *, PyObject *); /*proto*/
/* #### Code section: typeinfo ### */
static __Pyx_TypeInfo __Pyx_TypeInfo_int = { "int", NULL, sizeof(int), { 0 }, 0, __PYX_IS_UNSIGNED(int) ? 'U' : 'I', __PYX_IS_UNSIGNED(int), 0 };
static __Pyx_TypeInfo __Pyx_TypeInfo_float = { "float", NULL, sizeof(float), { 0 }, 0, 'R', 0, 0 };
/* #### Code section: before_global_var ### */
#define __Pyx_MODULE_NAME "dearcygui.core"
extern int __pyx_module_is_main_dearcygui__core;
int __pyx_module_is_main_dearcygui__core = 0;

/* Implementation of "dearcygui.core" */
/* #### Code section: global_var ### */
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_print;
static PyObject *__pyx_builtin_KeyError;
static PyObject *__pyx_builtin_AttributeError;
static PyObject *__pyx_builtin_RuntimeError;
static PyObject *__pyx_builtin_AssertionError;
static PyObject *__pyx_builtin_round;
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_MemoryError;
static PyObject *__pyx_builtin_IndexError;
static PyObject *__pyx_builtin___import__;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_Ellipsis;
static PyObject *__pyx_builtin_id;
static PyObject *__pyx_builtin_ImportError;
/* #### Code section: string_decls ### */
static const char __pyx_k_[] = "";
static const char __pyx_k_B[] = "B";
static const char __pyx_k_C[] = "C";
static const char __pyx_k_N[] = "N";
static const char __pyx_k_O[] = "O";
static const char __pyx_k_c[] = "c";
static const char __pyx_k_d[] = "%d";
static const char __pyx_k_e[] = "e";
static const char __pyx_k_i[] = "i";
static const char __pyx_k_m[] = "m";
static const char __pyx_k_v[] = "v";
static const char __pyx_k_3f[] = "%.3f";
static const char __pyx_k_X1[] = "X1";
static const char __pyx_k_X2[] = "X2";
static const char __pyx_k_X3[] = "X3";
static const char __pyx_k_Y1[] = "Y1";
static const char __pyx_k_Y2[] = "Y2";
static const char __pyx_k_Y3[] = "Y3";
static const char __pyx_k__3[] = ".";
static const char __pyx_k__4[] = ": ";
static const char __pyx_k__5[] = "*";
static const char __pyx_k__8[] = "'";
static const char __pyx_k__9[] = ")";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_id[] = "id";
static const char __pyx_k_ld[] = "###%ld";
static const char __pyx_k_m2[] = "m2";
static const char __pyx_k_m3[] = "m3";
static const char __pyx_k_np[] = "np";
static const char __pyx_k_os[] = "os";
static const char __pyx_k_to[] = " to ";
static const char __pyx_k_TOP[] = "TOP";
static const char __pyx_k_Tab[] = "Tab";
static const char __pyx_k_Tag[] = "Tag ";
static const char __pyx_k__42[] = ", ";
static const char __pyx_k__44[] = "), ";
static const char __pyx_k_abc[] = "abc";
static const char __pyx_k_and[] = " and ";
static const char __pyx_k_bpp[] = "bpp";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_dct[] = "dct";
static const char __pyx_k_dir[] = "__dir__";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_fit[] = "fit";
static const char __pyx_k_for[] = " (for ";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_got[] = " (got ";
static const char __pyx_k_int[] = "int";
static const char __pyx_k_key[] = "key";
static const char __pyx_k_len[] = "__len__";
static const char __pyx_k_new[] = "__new__";
static const char __pyx_k_obj[] = "obj";
static const char __pyx_k_pop[] = "pop";
static const char __pyx_k_pos[] = "pos";
static const char __pyx_k_res[] = "res";
static const char __pyx_k_s_s[] = "%s.%s";
static const char __pyx_k_str[] = "__str__";
static const char __pyx_k_sys[] = "sys";
static const char __pyx_k_val[] = "val";
static const char __pyx_k_Axis[] = "Axis";
static const char __pyx_k_File[] = "File ";
static const char __pyx_k_Font[] = "Font";
static const char __pyx_k_Hand[] = "Hand";
static const char __pyx_k_LEFT[] = "LEFT";
static const char __pyx_k_Menu[] = "Menu";
static const char __pyx_k_None[] = "None";
static const char __pyx_k_Plot[] = "Plot";
static const char __pyx_k_Text[] = "Text";
static const char __pyx_k__401[] = "?";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_base[] = "base";
static const char __pyx_k_code[] = "__code__";
static const char __pyx_k_copy[] = "copy";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_dict[] = "__dict__";
static const char __pyx_k_east[] = "east";
static const char __pyx_k_enum[] = "enum";
static const char __pyx_k_exit[] = "__exit__";
static const char __pyx_k_file[] = "__file__";
static const char __pyx_k_font[] = "font";
static const char __pyx_k_init[] = "__init__";
static const char __pyx_k_item[] = "item";
static const char __pyx_k_join[] = "join";
static const char __pyx_k_keys[] = "keys";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_maxv[] = "maxv";
static const char __pyx_k_minv[] = "minv";
static const char __pyx_k_mode[] = "mode";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_ndim[] = "ndim";
static const char __pyx_k_pack[] = "pack";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_repr[] = "__repr__";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_show[] = "show";
static const char __pyx_k_size[] = "size";
static const char __pyx_k_spec[] = "__spec__";
static const char __pyx_k_step[] = "step";
static const char __pyx_k_stop[] = "stop";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_time[] = "time";
static const char __pyx_k_uuid[] = "uuid";
static const char __pyx_k_wait[] = "wait";
static const char __pyx_k_wake[] = "wake";
static const char __pyx_k_west[] = "west";
static const char __pyx_k_ASCII[] = "ASCII";
static const char __pyx_k_Combo[] = "Combo";
static const char __pyx_k_Image[] = "Image";
static const char __pyx_k_RIGHT[] = "RIGHT";
static const char __pyx_k_array[] = "array";
static const char __pyx_k_build[] = "build";
static const char __pyx_k_class[] = "__class__";
static const char __pyx_k_color[] = "color";
static const char __pyx_k_count[] = "count";
static const char __pyx_k_delta[] = "delta";
static const char __pyx_k_dtype[] = "dtype";
static const char __pyx_k_enter[] = "__enter__";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_flags[] = "flags";
static const char __pyx_k_float[] = "float";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_items[] = "items";
static const char __pyx_k_large[] = "large";
static const char __pyx_k_local[] = "local";
static const char __pyx_k_log10[] = "log10";
static const char __pyx_k_north[] = "north";
static const char __pyx_k_numpy[] = "numpy";
static const char __pyx_k_print[] = "print";
static const char __pyx_k_queue[] = "queue";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_round[] = "round";
static const char __pyx_k_s_s_d[] = "<%s.%s: %d>";
static const char __pyx_k_scipy[] = "scipy";
static const char __pyx_k_shape[] = "shape";
static const char __pyx_k_sleep[] = "sleep";
static const char __pyx_k_small[] = "small";
static const char __pyx_k_south[] = "south";
static const char __pyx_k_start[] = "start";
static const char __pyx_k_state[] = "state";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_t_any[] = "t_any";
static const char __pyx_k_t_tab[] = "t_tab";
static const char __pyx_k_uint8[] = "uint8";
static const char __pyx_k_utf_8[] = "utf-8";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_width[] = "width";
static const char __pyx_k_zeros[] = "zeros";
static const char __pyx_k_BOTTOM[] = "BOTTOM";
static const char __pyx_k_Button[] = "Button";
static const char __pyx_k_CENTER[] = "CENTER";
static const char __pyx_k_Layout[] = "Layout";
static const char __pyx_k_MANUAL[] = "MANUAL";
static const char __pyx_k_Slider[] = "Slider";
static const char __pyx_k_Spacer[] = "Spacer";
static const char __pyx_k_TabBar[] = "TabBar";
static const char __pyx_k_Window[] = "Window";
static const char __pyx_k_append[] = "append";
static const char __pyx_k_attach[] = "attach";
static const char __pyx_k_before[] = "before";
static const char __pyx_k_button[] = "button";
static const char __pyx_k_center[] = "center";
static const char __pyx_k_config[] = "config";
static const char __pyx_k_dict_2[] = "_dict";
static const char __pyx_k_double[] = "double";
static const char __pyx_k_enable[] = "enable";
static const char __pyx_k_encode[] = "encode";
static const char __pyx_k_exists[] = "exists";
static const char __pyx_k_format[] = "format";
static const char __pyx_k_height[] = "height";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_keymod[] = "keymod";
static const char __pyx_k_kwargs[] = "kwargs";
static const char __pyx_k_linear[] = "linear";
static const char __pyx_k_locked[] = "locked";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_name_2[] = "__name__";
static const char __pyx_k_parent[] = "parent";
static const char __pyx_k_pickle[] = "pickle";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_repeat[] = "repeat";
static const char __pyx_k_self_2[] = "__self__";
static const char __pyx_k_self_m[] = "self_m";
static const char __pyx_k_source[] = "source";
static const char __pyx_k_struct[] = "struct";
static const char __pyx_k_submit[] = "submit";
static const char __pyx_k_symlog[] = "symlog";
static const char __pyx_k_t_menu[] = "t_menu";
static const char __pyx_k_t_plot[] = "t_plot";
static const char __pyx_k_t_text[] = "t_text";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_uiItem[] = "uiItem";
static const char __pyx_k_unpack[] = "unpack";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_values[] = "values";
static const char __pyx_k_Context[] = "Context";
static const char __pyx_k_DEFAULT[] = "DEFAULT";
static const char __pyx_k_IntEnum[] = "IntEnum";
static const char __pyx_k_IntFlag[] = "IntFlag";
static const char __pyx_k_ListBox[] = "ListBox";
static const char __pyx_k_MenuBar[] = "MenuBar";
static const char __pyx_k_Texture[] = "Texture";
static const char __pyx_k_Tooltip[] = "Tooltip";
static const char __pyx_k_asarray[] = "asarray";
static const char __pyx_k_but_not[] = ", but not ";
static const char __pyx_k_context[] = "context";
static const char __pyx_k_dirname[] = "dirname";
static const char __pyx_k_disable[] = "disable";
static const char __pyx_k_enabled[] = "enabled";
static const char __pyx_k_float32[] = "float32";
static const char __pyx_k_float64[] = "float64";
static const char __pyx_k_fortran[] = "fortran";
static const char __pyx_k_imgui_m[] = "imgui_m";
static const char __pyx_k_largest[] = "largest";
static const char __pyx_k_members[] = "__members__";
static const char __pyx_k_memview[] = "memview";
static const char __pyx_k_nlocked[] = "nlocked";
static const char __pyx_k_parents[] = "parents";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_regular[] = "regular";
static const char __pyx_k_reshape[] = "reshape";
static const char __pyx_k_results[] = "results";
static const char __pyx_k_reverse[] = "reverse";
static const char __pyx_k_spatial[] = "spatial";
static const char __pyx_k_success[] = "success";
static const char __pyx_k_t_child[] = "t_child";
static const char __pyx_k_t_combo[] = "t_combo";
static const char __pyx_k_t_image[] = "t_image";
static const char __pyx_k_weakref[] = "weakref";
static const char __pyx_k_Callback[] = "Callback ";
static const char __pyx_k_Checkbox[] = "Checkbox";
static const char __pyx_k_Delaunay[] = "Delaunay";
static const char __pyx_k_DrawLine[] = "DrawLine_";
static const char __pyx_k_DrawQuad[] = "DrawQuad_";
static const char __pyx_k_DrawRect[] = "DrawRect_";
static const char __pyx_k_DrawText[] = "DrawText_";
static const char __pyx_k_Ellipsis[] = "Ellipsis";
static const char __pyx_k_EnumBase[] = "EnumBase";
static const char __pyx_k_EnumType[] = "EnumType";
static const char __pyx_k_Executor[] = "Executor";
static const char __pyx_k_KeyError[] = "KeyError";
static const char __pyx_k_MenuItem[] = "MenuItem";
static const char __pyx_k_PlotBars[] = "PlotBars";
static const char __pyx_k_PlotLine[] = "PlotLine";
static const char __pyx_k_Received[] = ". Received ";
static const char __pyx_k_ResizeEW[] = "ResizeEW";
static const char __pyx_k_ResizeNS[] = "ResizeNS";
static const char __pyx_k_Sequence[] = "Sequence";
static const char __pyx_k_TreeNode[] = "TreeNode";
static const char __pyx_k_Viewport[] = "Viewport";
static const char __pyx_k_autosize[] = "autosize";
static const char __pyx_k_baseItem[] = "baseItem";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_defaults[] = "__defaults__";
static const char __pyx_k_delalloc[] = "__delalloc__";
static const char __pyx_k_encoding[] = "encoding";
static const char __pyx_k_exc_type[] = "exc_type";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_itemsize[] = "itemsize";
static const char __pyx_k_module_2[] = "module";
static const char __pyx_k_pyx_type[] = "__pyx_type";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_register[] = "register";
static const char __pyx_k_scaleMax[] = "scaleMax";
static const char __pyx_k_scaleMin[] = "scaleMin";
static const char __pyx_k_set_name[] = "__set_name__";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_shutdown[] = "shutdown";
static const char __pyx_k_subpixel[] = "subpixel";
static const char __pyx_k_t_button[] = "t_button";
static const char __pyx_k_t_layout[] = "t_layout";
static const char __pyx_k_t_slider[] = "t_slider";
static const char __pyx_k_t_tabbar[] = "t_tabbar";
static const char __pyx_k_t_window[] = "t_window";
static const char __pyx_k_AxisScale[] = "AxisScale";
static const char __pyx_k_ColorEdit[] = "ColorEdit";
static const char __pyx_k_DrawArrow[] = "DrawArrow_";
static const char __pyx_k_DrawImage[] = "DrawImage_";
static const char __pyx_k_InputText[] = "InputText";
static const char __pyx_k_JUSTIFIED[] = "JUSTIFIED";
static const char __pyx_k_PlotStems[] = "PlotStems";
static const char __pyx_k_ResizeAll[] = "ResizeAll";
static const char __pyx_k_Separator[] = "Separator";
static const char __pyx_k_SharedInt[] = "SharedInt";
static const char __pyx_k_SharedStr[] = "SharedStr";
static const char __pyx_k_TabButton[] = "TabButton";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_alignment[] = "alignment";
static const char __pyx_k_backend_m[] = "backend_m";
static const char __pyx_k_baseTheme[] = "baseTheme";
static const char __pyx_k_call_info[] = "call_info";
static const char __pyx_k_callbacks[] = "callbacks";
static const char __pyx_k_color_vec[] = "color_vec";
static const char __pyx_k_configure[] = "configure";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_exc_value[] = "exc_value";
static const char __pyx_k_histogram[] = "histogram";
static const char __pyx_k_isenabled[] = "isenabled";
static const char __pyx_k_maximized[] = "maximized";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_minimized[] = "minimized";
static const char __pyx_k_multiline[] = "multiline";
static const char __pyx_k_northeast[] = "northeast";
static const char __pyx_k_northwest[] = "northwest";
static const char __pyx_k_passed_to[] = " passed to ";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_remaining[] = "remaining";
static const char __pyx_k_set_value[] = "set_value";
static const char __pyx_k_simplices[] = "simplices";
static const char __pyx_k_southeast[] = "southeast";
static const char __pyx_k_southwest[] = "southwest";
static const char __pyx_k_t_listbox[] = "t_listbox";
static const char __pyx_k_t_menubar[] = "t_menubar";
static const char __pyx_k_t_tooltip[] = "t_tooltip";
static const char __pyx_k_threading[] = "threading";
static const char __pyx_k_traceback[] = "traceback";
static const char __pyx_k_user_data[] = "user_data";
static const char __pyx_k_Callback_2[] = "Callback";
static const char __pyx_k_CursorNone[] = "CursorNone";
static const char __pyx_k_DrawCircle[] = "DrawCircle_";
static const char __pyx_k_DrawInPlot[] = "DrawInPlot";
static const char __pyx_k_IndexError[] = "IndexError";
static const char __pyx_k_InputValue[] = "InputValue";
static const char __pyx_k_NotAllowed[] = "NotAllowed";
static const char __pyx_k_PlotStairs[] = "PlotStairs";
static const char __pyx_k_REL_PARENT[] = "REL_PARENT";
static const char __pyx_k_REL_WINDOW[] = "REL_WINDOW";
static const char __pyx_k_ResizeNESW[] = "ResizeNESW";
static const char __pyx_k_ResizeNWSE[] = "ResizeNWSE";
static const char __pyx_k_Selectable[] = "Selectable";
static const char __pyx_k_SharedBool[] = "SharedBool";
static const char __pyx_k_SharedInt4[] = "SharedInt4";
static const char __pyx_k_SimplePlot[] = "SimplePlot";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_callback_2[] = "_callback";
static const char __pyx_k_data_array[] = "data_array";
static const char __pyx_k_format_exc[] = "format_exc";
static const char __pyx_k_initialize[] = "initialize";
static const char __pyx_k_lock_mutex[] = "lock_mutex";
static const char __pyx_k_pyx_result[] = "__pyx_result";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_t_checkbox[] = "t_checkbox";
static const char __pyx_k_t_menuitem[] = "t_menuitem";
static const char __pyx_k_t_treenode[] = "t_treenode";
static const char __pyx_k_wrap_mutex[] = "wrap_mutex";
static const char __pyx_k_ChildWindow[] = "ChildWindow";
static const char __pyx_k_ColorButton[] = "ColorButton";
static const char __pyx_k_ColorPicker[] = "ColorPicker";
static const char __pyx_k_CursorArrow[] = "CursorArrow";
static const char __pyx_k_DPGCallback[] = "DPGCallback";
static const char __pyx_k_DPG_PAYLOAD[] = "$$DPG_PAYLOAD";
static const char __pyx_k_DrawEllipse[] = "DrawEllipse_";
static const char __pyx_k_DrawPolygon[] = "DrawPolygon_";
static const char __pyx_k_DrawingList[] = "DrawingList";
static const char __pyx_k_FontTexture[] = "FontTexture";
static const char __pyx_k_ImageButton[] = "ImageButton";
static const char __pyx_k_ImportError[] = "ImportError";
static const char __pyx_k_Invalid_key[] = "Invalid key";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_OrderedDict[] = "OrderedDict";
static const char __pyx_k_PickleError[] = "PickleError";
static const char __pyx_k_PlotScatter[] = "PlotScatter";
static const char __pyx_k_ProgressBar[] = "ProgressBar";
static const char __pyx_k_REL_DEFAULT[] = "REL_DEFAULT";
static const char __pyx_k_RadioButton[] = "RadioButton";
static const char __pyx_k_SharedColor[] = "SharedColor";
static const char __pyx_k_SharedFloat[] = "SharedFloat";
static const char __pyx_k_SharedValue[] = "SharedValue";
static const char __pyx_k_TimeWatcher[] = "TimeWatcher";
static const char __pyx_k_baseHandler[] = "baseHandler";
static const char __pyx_k_co_argcount[] = "co_argcount";
static const char __pyx_k_collections[] = "collections";
static const char __pyx_k_default_dir[] = "default_dir";
static const char __pyx_k_delete_item[] = "delete_item";
static const char __pyx_k_detach_item[] = "detach_item";
static const char __pyx_k_drawingItem[] = "drawingItem";
static const char __pyx_k_font_object[] = "font_object";
static const char __pyx_k_frame_count[] = "frame_count";
static const char __pyx_k_is_key_down[] = "is_key_down";
static const char __pyx_k_logarithmic[] = "logarithmic";
static const char __pyx_k_max_clamped[] = "max_clamped";
static const char __pyx_k_max_workers[] = "max_workers";
static const char __pyx_k_min_clamped[] = "min_clamped";
static const char __pyx_k_mro_entries[] = "__mro_entries__";
static const char __pyx_k_next_parent[] = "next_parent";
static const char __pyx_k_path_string[] = "path_string";
static const char __pyx_k_plotElement[] = "plotElement";
static const char __pyx_k_positioning[] = "positioning";
static const char __pyx_k_python_time[] = "python_time";
static const char __pyx_k_sched_yield[] = "sched_yield";
static const char __pyx_k_source_item[] = "source_item";
static const char __pyx_k_t_coloredit[] = "t_coloredit";
static const char __pyx_k_t_discarded[] = "t_discarded";
static const char __pyx_k_t_inputtext[] = "t_inputtext";
static const char __pyx_k_t_tabbutton[] = "t_tabbutton";
static const char __pyx_k_target_item[] = "target_item";
static const char __pyx_k_C_CONTIGUOUS[] = "C_CONTIGUOUS";
static const char __pyx_k_DrawInWindow[] = "DrawInWindow";
static const char __pyx_k_DrawPolyline[] = "DrawPolyline_";
static const char __pyx_k_DrawTriangle[] = "DrawTriangle_";
static const char __pyx_k_Invalid_type[] = "Invalid type ";
static const char __pyx_k_PlotInfLines[] = "PlotInfLines";
static const char __pyx_k_Pyx_EnumBase[] = "__Pyx_EnumBase";
static const char __pyx_k_Pyx_FlagBase[] = "__Pyx_FlagBase";
static const char __pyx_k_REL_VIEWPORT[] = "REL_VIEWPORT";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_SharedDouble[] = "SharedDouble";
static const char __pyx_k_SharedFloat4[] = "SharedFloat4";
static const char __pyx_k_color_as_int[] = "color_as_int";
static const char __pyx_k_current_time[] = "current_time";
static const char __pyx_k_hint_dynamic[] = "hint_dynamic";
static const char __pyx_k_initializing[] = "_initializing";
static const char __pyx_k_is_coroutine[] = "_is_coroutine";
static const char __pyx_k_member_names[] = "_member_names_";
static const char __pyx_k_mouse_cursor[] = "mouse_cursor";
static const char __pyx_k_num_attached[] = "num_attached";
static const char __pyx_k_parent_queue[] = "parent_queue";
static const char __pyx_k_plotElementX[] = "plotElementX";
static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
static const char __pyx_k_render_frame[] = "render_frame";
static const char __pyx_k_stringsource[] = "<stringsource>";
static const char __pyx_k_t_inputvalue[] = "t_inputvalue";
static const char __pyx_k_t_selectable[] = "t_selectable";
static const char __pyx_k_t_simpleplot[] = "t_simpleplot";
static const char __pyx_k_uiItem___dir[] = "uiItem.__dir__";
static const char __pyx_k_unlock_mutex[] = "unlock_mutex";
static const char __pyx_k_use_setstate[] = "use_setstate";
static const char __pyx_k_version_info[] = "version_info";
static const char __pyx_k_Cannot_attach[] = "Cannot attach ";
static const char __pyx_k_DrawImageQuad[] = "DrawImageQuad_";
static const char __pyx_k_Invalid_scale[] = "Invalid scale ";
static const char __pyx_k_Outside_range[] = "Outside range";
static const char __pyx_k_SharedDouble4[] = "SharedDouble4";
static const char __pyx_k_Viewport_wake[] = "Viewport.wake";
static const char __pyx_k_add_font_file[] = "add_font_file";
static const char __pyx_k_attach_before[] = "attach_before";
static const char __pyx_k_class_getitem[] = "__class_getitem__";
static const char __pyx_k_color_as_ints[] = "color_as_ints";
static const char __pyx_k_density_scale[] = "density_scale";
static const char __pyx_k_index_in_file[] = "index_in_file";
static const char __pyx_k_init_subclass[] = "__init_subclass__";
static const char __pyx_k_is_mouse_down[] = "is_mouse_down";
static const char __pyx_k_plotElementXY[] = "plotElementXY";
static const char __pyx_k_pos_to_window[] = "pos_to_window";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_scipy_spatial[] = "scipy.spatial";
static const char __pyx_k_should_attach[] = "should_attach";
static const char __pyx_k_t_colorbutton[] = "t_colorbutton";
static const char __pyx_k_t_colorpicker[] = "t_colorpicker";
static const char __pyx_k_t_enabled_any[] = "t_enabled_any";
static const char __pyx_k_t_imagebutton[] = "t_imagebutton";
static const char __pyx_k_t_progressbar[] = "t_progressbar";
static const char __pyx_k_t_radiobutton[] = "t_radiobutton";
static const char __pyx_k_update_layout[] = "update_layout";
static const char __pyx_k_AssertionError[] = "AssertionError";
static const char __pyx_k_AttributeError[] = "AttributeError";
static const char __pyx_k_Invalid_button[] = "Invalid button";
static const char __pyx_k_KeyDownHandler[] = "KeyDownHandler_";
static const char __pyx_k_LegendLocation[] = "LegendLocation";
static const char __pyx_k_PlotAxisConfig[] = "PlotAxisConfig";
static const char __pyx_k_PlotShadedLine[] = "PlotShadedLine";
static const char __pyx_k_VerticalLayout[] = "VerticalLayout";
static const char __pyx_k_active_windows[] = "active_windows";
static const char __pyx_k_already_in_use[] = " already in use";
static const char __pyx_k_dearcygui_core[] = "dearcygui.core";
static const char __pyx_k_does_not_exist[] = " does not exist";
static const char __pyx_k_fonts_filename[] = "fonts_filename";
static const char __pyx_k_ignore_if_fail[] = "ignore_if_fail";
static const char __pyx_k_is_key_pressed[] = "is_key_pressed";
static const char __pyx_k_last_item_uuid[] = "last_item_uuid";
static const char __pyx_k_lock_threshold[] = "lock_threshold";
static const char __pyx_k_plotElementXYY[] = "plotElementXYY";
static const char __pyx_k_should_present[] = "should_present";
static const char __pyx_k_t_enabled_True[] = "t_enabled_True";
static const char __pyx_k_theme_enablers[] = "theme_enablers";
static const char __pyx_k_CursorTextInput[] = "CursorTextInput";
static const char __pyx_k_DrawBezierCubic[] = "DrawBezierCubic_";
static const char __pyx_k_KeyPressHandler[] = "KeyPressHandler_";
static const char __pyx_k_Objects_of_type[] = "Objects of type ";
static const char __pyx_k_PermissionError[] = "PermissionError";
static const char __pyx_k_ProggyClean_ttf[] = "ProggyClean.ttf";
static const char __pyx_k_SharedFloatVect[] = "SharedFloatVect";
static const char __pyx_k_View_MemoryView[] = "View.MemoryView";
static const char __pyx_k_allocate_buffer[] = "allocate_buffer";
static const char __pyx_k_baseItem___exit[] = "baseItem.__exit__";
static const char __pyx_k_collections_abc[] = "collections.abc";
static const char __pyx_k_color_as_floats[] = "color_as_floats";
static const char __pyx_k_delta_rendering[] = "delta_rendering";
static const char __pyx_k_dtype_is_object[] = "dtype_is_object";
static const char __pyx_k_is_key_released[] = "is_key_released";
static const char __pyx_k_pop_next_parent[] = "pop_next_parent";
static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
static const char __pyx_k_resize_callback[] = "resize_callback";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_shareable_value[] = "shareable_value";
static const char __pyx_k_t_enabled_False[] = "t_enabled_False";
static const char __pyx_k_CollapsingHeader[] = "CollapsingHeader";
static const char __pyx_k_DrawingListScale[] = "DrawingListScale";
static const char __pyx_k_HorizontalLayout[] = "HorizontalLayout";
static const char __pyx_k_MouseDownHandler[] = "MouseDownHandler_";
static const char __pyx_k_MouseDragHandler[] = "MouseDragHandler_";
static const char __pyx_k_MouseMoveHandler[] = "MouseMoveHandler";
static const char __pyx_k_PlotLegendConfig[] = "PlotLegendConfig";
static const char __pyx_k_Slider_configure[] = "Slider.configure";
static const char __pyx_k_ViewportDrawList[] = "ViewportDrawList_";
static const char __pyx_k_attach_to_parent[] = "attach_to_parent";
static const char __pyx_k_baseItem___enter[] = "baseItem.__enter__";
static const char __pyx_k_delta_presenting[] = "delta_presenting";
static const char __pyx_k_get_system_fonts[] = "get_system_fonts";
static const char __pyx_k_is_mouse_clicked[] = "is_mouse_clicked";
static const char __pyx_k_is_not_a_handler[] = " is not a handler";
static const char __pyx_k_push_next_parent[] = "push_next_parent";
static const char __pyx_k_raised_exception[] = " raised exception ";
static const char __pyx_k_rendered_indices[] = "rendered_indices";
static const char __pyx_k_rendered_windows[] = "rendered_windows";
static const char __pyx_k_theme_categories[] = "theme_categories";
static const char __pyx_k_uiItem_configure[] = "uiItem.configure";
static const char __pyx_k_FontTexture_build[] = "FontTexture.build";
static const char __pyx_k_KeyReleaseHandler[] = "KeyReleaseHandler_";
static const char __pyx_k_MouseClickHandler[] = "MouseClickHandler_";
static const char __pyx_k_MouseWheelHandler[] = "MouseWheelHandler";
static const char __pyx_k_PlaceHolderParent[] = "PlaceHolderParent";
static const char __pyx_k_Texture_configure[] = "Texture.configure";
static const char __pyx_k_Texture_set_value[] = "Texture.set_value";
static const char __pyx_k_ascontiguousarray[] = "ascontiguousarray";
static const char __pyx_k_delta_whole_frame[] = "delta_whole_frame";
static const char __pyx_k_is_mouse_dragging[] = "is_mouse_dragging";
static const char __pyx_k_is_mouse_released[] = "is_mouse_released";
static const char __pyx_k_pyx_unpickle_Enum[] = "__pyx_unpickle_Enum";
static const char __pyx_k_rendered_vertices[] = "rendered_vertices";
static const char __pyx_k_wrap_mutex___exit[] = "wrap_mutex.__exit__";
static const char __pyx_k_wrap_mutex___init[] = "wrap_mutex.__init__";
static const char __pyx_k_Expected_tuple_got[] = "Expected tuple, got ";
static const char __pyx_k_PlotAxisConfig_fit[] = "PlotAxisConfig.fit";
static const char __pyx_k_Pyx_EnumBase___new[] = "__Pyx_EnumBase.__new__";
static const char __pyx_k_Pyx_EnumBase___str[] = "__Pyx_EnumBase.__str__";
static const char __pyx_k_Pyx_FlagBase___new[] = "__Pyx_FlagBase.__new__";
static const char __pyx_k_Pyx_FlagBase___str[] = "__Pyx_FlagBase.__str__";
static const char __pyx_k_Texture___delalloc[] = "Texture.__delalloc__";
static const char __pyx_k_ThreadPoolExecutor[] = "ThreadPoolExecutor";
static const char __pyx_k_Uninitialized_font[] = "Uninitialized font";
static const char __pyx_k_Viewport_configure[] = "Viewport.configure";
static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
static const char __pyx_k_baseItem_configure[] = "baseItem.configure";
static const char __pyx_k_cannot_be_disabled[] = " cannot be disabled";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_concurrent_futures[] = "concurrent.futures";
static const char __pyx_k_dearcygui_core_pyx[] = "dearcygui/core.pyx";
static const char __pyx_k_get_mouse_position[] = "get_mouse_position";
static const char __pyx_k_strided_and_direct[] = "<strided and direct>";
static const char __pyx_k_t_collapsingheader[] = "t_collapsingheader";
static const char __pyx_k_wrap_mutex___enter[] = "wrap_mutex.__enter__";
static const char __pyx_k_Context_is_key_down[] = "Context.is_key_down";
static const char __pyx_k_DrawBezierQuadratic[] = "DrawBezierQuadratic_";
static const char __pyx_k_DrawInvisibleButton[] = "DrawInvisibleButton";
static const char __pyx_k_Invalid_button_mask[] = "Invalid button mask ";
static const char __pyx_k_MouseReleaseHandler[] = "MouseReleaseHandler_";
static const char __pyx_k_Pyx_EnumBase___repr[] = "__Pyx_EnumBase.__repr__";
static const char __pyx_k_Pyx_FlagBase___repr[] = "__Pyx_FlagBase.__repr__";
static const char __pyx_k_Tab___reduce_cython[] = "Tab.__reduce_cython__";
static const char __pyx_k_Viewport_initialize[] = "Viewport.initialize";
static const char __pyx_k_WeakValueDictionary[] = "WeakValueDictionary";
static const char __pyx_k_baseItem_lock_mutex[] = "baseItem.lock_mutex";
static const char __pyx_k_baseTheme_configure[] = "baseTheme.configure";
static const char __pyx_k_can_skip_presenting[] = "can_skip_presenting";
static const char __pyx_k_last_container_uuid[] = "last_container_uuid";
static const char __pyx_k_Font___reduce_cython[] = "Font.__reduce_cython__";
static const char __pyx_k_InputValue_configure[] = "InputValue.configure";
static const char __pyx_k_Invalid_texture_size[] = "Invalid texture size";
static const char __pyx_k_Layout_update_layout[] = "Layout.update_layout";
static const char __pyx_k_Menu___reduce_cython[] = "Menu.__reduce_cython__";
static const char __pyx_k_Plot___reduce_cython[] = "Plot.__reduce_cython__";
static const char __pyx_k_SimplePlot_configure[] = "SimplePlot.configure";
static const char __pyx_k_Text___reduce_cython[] = "Text.__reduce_cython__";
static const char __pyx_k_Unknown_enum_value_s[] = "Unknown enum value: '%s'";
static const char __pyx_k_already_has_a_parent[] = " already has a parent";
static const char __pyx_k_baseItem_delete_item[] = "baseItem.delete_item";
static const char __pyx_k_baseItem_detach_item[] = "baseItem.detach_item";
static const char __pyx_k_default_font_texture[] = "default_font_texture";
static const char __pyx_k_delta_event_handling[] = "delta_event_handling";
static const char __pyx_k_get_mouse_drag_delta[] = "get_mouse_drag_delta";
static const char __pyx_k_strided_and_indirect[] = "<strided and indirect>";
static const char __pyx_k_Callback_argument_was[] = "Callback argument was: ";
static const char __pyx_k_Combo___reduce_cython[] = "Combo.__reduce_cython__";
static const char __pyx_k_Context_is_mouse_down[] = "Context.is_mouse_down";
static const char __pyx_k_Image___reduce_cython[] = "Image.__reduce_cython__";
static const char __pyx_k_Invalid_shape_in_axis[] = "Invalid shape in axis ";
static const char __pyx_k_Tab___setstate_cython[] = "Tab.__setstate_cython__";
static const char __pyx_k_Texture_not_yet_built[] = "Texture not yet built";
static const char __pyx_k_Viewport_render_frame[] = "Viewport.render_frame";
static const char __pyx_k_baseItem_unlock_mutex[] = "baseItem.unlock_mutex";
static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";
static const char __pyx_k_plotElementWithLegend[] = "plotElementWithLegend";
static const char __pyx_k_Button___reduce_cython[] = "Button.__reduce_cython__";
static const char __pyx_k_Cannot_index_with_type[] = "Cannot index with type '";
static const char __pyx_k_Context_is_key_pressed[] = "Context.is_key_pressed";
static const char __pyx_k_FontTexture___delalloc[] = "FontTexture.__delalloc__";
static const char __pyx_k_Font___setstate_cython[] = "Font.__setstate_cython__";
static const char __pyx_k_Layout___reduce_cython[] = "Layout.__reduce_cython__";
static const char __pyx_k_MemoryView_of_r_object[] = "<MemoryView of %r object>";
static const char __pyx_k_Menu___setstate_cython[] = "Menu.__setstate_cython__";
static const char __pyx_k_Plot___setstate_cython[] = "Plot.__setstate_cython__";
static const char __pyx_k_Slider___reduce_cython[] = "Slider.__reduce_cython__";
static const char __pyx_k_Spacer___reduce_cython[] = "Spacer.__reduce_cython__";
static const char __pyx_k_TabBar___reduce_cython[] = "TabBar.__reduce_cython__";
static const char __pyx_k_Text___setstate_cython[] = "Text.__setstate_cython__";
static const char __pyx_k_Window___reduce_cython[] = "Window.__reduce_cython__";
static const char __pyx_k_baseItem_attach_before[] = "baseItem.attach_before";
static const char __pyx_k_reset_mouse_drag_delta[] = "reset_mouse_drag_delta";
static const char __pyx_k_uiItem___reduce_cython[] = "uiItem.__reduce_cython__";
static const char __pyx_k_Callback_arguments_were[] = "Callback arguments were: ";
static const char __pyx_k_Combo___setstate_cython[] = "Combo.__setstate_cython__";
static const char __pyx_k_Context___reduce_cython[] = "Context.__reduce_cython__";
static const char __pyx_k_Context_is_key_released[] = "Context.is_key_released";
static const char __pyx_k_Context_pop_next_parent[] = "Context.pop_next_parent";
static const char __pyx_k_Image___setstate_cython[] = "Image.__setstate_cython__";
static const char __pyx_k_Invalid_alignment_value[] = "Invalid alignment value";
static const char __pyx_k_Invalid_direction_value[] = "Invalid direction {value}";
static const char __pyx_k_ListBox___reduce_cython[] = "ListBox.__reduce_cython__";
static const char __pyx_k_MemoryView_of_r_at_0x_x[] = "<MemoryView of %r at 0x%x>";
static const char __pyx_k_MenuBar___reduce_cython[] = "MenuBar.__reduce_cython__";
static const char __pyx_k_MouseDoubleClickHandler[] = "MouseDoubleClickHandler_";
static const char __pyx_k_Texture___reduce_cython[] = "Texture.__reduce_cython__";
static const char __pyx_k_Tooltip___reduce_cython[] = "Tooltip.__reduce_cython__";
static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";
static const char __pyx_k_fetch_last_created_item[] = "fetch_last_created_item";
static const char __pyx_k_fetch_parent_queue_back[] = "fetch_parent_queue_back";
static const char __pyx_k_get_mouse_clicked_count[] = "get_mouse_clicked_count";
static const char __pyx_k_is_mouse_double_clicked[] = "is_mouse_double_clicked";
static const char __pyx_k_Button___setstate_cython[] = "Button.__setstate_cython__";
static const char __pyx_k_Callback___reduce_cython[] = "Callback.__reduce_cython__";
static const char __pyx_k_Cannot_set_empty_texture[] = "Cannot set empty texture";
static const char __pyx_k_Checkbox___reduce_cython[] = "Checkbox.__reduce_cython__";
static const char __pyx_k_Context_is_mouse_clicked[] = "Context.is_mouse_clicked";
static const char __pyx_k_Context_push_next_parent[] = "Context.push_next_parent";
static const char __pyx_k_Field_undefined_for_type[] = "Field undefined for type {}";
static const char __pyx_k_Layout___setstate_cython[] = "Layout.__setstate_cython__";
static const char __pyx_k_MenuItem___reduce_cython[] = "MenuItem.__reduce_cython__";
static const char __pyx_k_PlotBars___reduce_cython[] = "PlotBars.__reduce_cython__";
static const char __pyx_k_PlotLine___reduce_cython[] = "PlotLine.__reduce_cython__";
static const char __pyx_k_Slider___setstate_cython[] = "Slider.__setstate_cython__";
static const char __pyx_k_Spacer___setstate_cython[] = "Spacer.__setstate_cython__";
static const char __pyx_k_TabBar___setstate_cython[] = "TabBar.__setstate_cython__";
static const char __pyx_k_TreeNode___reduce_cython[] = "TreeNode.__reduce_cython__";
static const char __pyx_k_Trying_to_attach_to_None[] = "Trying to attach to None";
static const char __pyx_k_Viewport___reduce_cython[] = "Viewport.__reduce_cython__";
static const char __pyx_k_Window___setstate_cython[] = "Window.__setstate_cython__";
static const char __pyx_k_You_must_add_fonts_first[] = "You must add fonts first";
static const char __pyx_k_baseItem___reduce_cython[] = "baseItem.__reduce_cython__";
static const char __pyx_k_fetch_parent_queue_front[] = "fetch_parent_queue_front";
static const char __pyx_k_is_an_invalid_index_type[] = " is an invalid index type";
static const char __pyx_k_last_time_after_swapping[] = "last_time_after_swapping";
static const char __pyx_k_uiItem___setstate_cython[] = "uiItem.__setstate_cython__";
static const char __pyx_k_ColorEdit___reduce_cython[] = "ColorEdit.__reduce_cython__";
static const char __pyx_k_Context___setstate_cython[] = "Context.__setstate_cython__";
static const char __pyx_k_Context_is_mouse_dragging[] = "Context.is_mouse_dragging";
static const char __pyx_k_Context_is_mouse_released[] = "Context.is_mouse_released";
static const char __pyx_k_Dimension_d_is_not_direct[] = "Dimension %d is not direct";
static const char __pyx_k_DrawLine____reduce_cython[] = "DrawLine_.__reduce_cython__";
static const char __pyx_k_DrawQuad____reduce_cython[] = "DrawQuad_.__reduce_cython__";
static const char __pyx_k_DrawRect____reduce_cython[] = "DrawRect_.__reduce_cython__";
static const char __pyx_k_DrawText____reduce_cython[] = "DrawText_.__reduce_cython__";
static const char __pyx_k_FontTexture_add_font_file[] = "FontTexture.add_font_file";
static const char __pyx_k_InputText___reduce_cython[] = "InputText.__reduce_cython__";
static const char __pyx_k_Invalid_cursor_type_value[] = "Invalid cursor type {value}";
static const char __pyx_k_Invalid_height_mode_value[] = "Invalid height mode {value}";
static const char __pyx_k_Item_not_found_with_index[] = "Item not found with index ";
static const char __pyx_k_ListBox___setstate_cython[] = "ListBox.__setstate_cython__";
static const char __pyx_k_MenuBar___setstate_cython[] = "MenuBar.__setstate_cython__";
static const char __pyx_k_PlotStems___reduce_cython[] = "PlotStems.__reduce_cython__";
static const char __pyx_k_Separator___reduce_cython[] = "Separator.__reduce_cython__";
static const char __pyx_k_SharedInt___reduce_cython[] = "SharedInt.__reduce_cython__";
static const char __pyx_k_SharedStr___reduce_cython[] = "SharedStr.__reduce_cython__";
static const char __pyx_k_TabButton___reduce_cython[] = "TabButton.__reduce_cython__";
static const char __pyx_k_Texture___setstate_cython[] = "Texture.__setstate_cython__";
static const char __pyx_k_Tooltip___setstate_cython[] = "Tooltip.__setstate_cython__";
static const char __pyx_k_baseItem_attach_to_parent[] = "baseItem.attach_to_parent";
static const char __pyx_k_baseTheme___reduce_cython[] = "baseTheme.__reduce_cython__";
static const char __pyx_k_get_system_fonts_filename[] = "get_system_fonts_filename";
static const char __pyx_k_last_time_after_rendering[] = "last_time_after_rendering";
static const char __pyx_k_texture_must_be_a_Texture[] = "texture must be a Texture";
static const char __pyx_k_Callback___setstate_cython[] = "Callback.__setstate_cython__";
static const char __pyx_k_Checkbox___setstate_cython[] = "Checkbox.__setstate_cython__";
static const char __pyx_k_Context_get_mouse_position[] = "Context.get_mouse_position";
static const char __pyx_k_DrawArrow____reduce_cython[] = "DrawArrow_.__reduce_cython__";
static const char __pyx_k_DrawImage____reduce_cython[] = "DrawImage_.__reduce_cython__";
static const char __pyx_k_DrawInPlot___reduce_cython[] = "DrawInPlot.__reduce_cython__";
static const char __pyx_k_Expected_tuple_for_pos_x_y[] = "Expected tuple for pos: (x, y)";
static const char __pyx_k_Index_out_of_bounds_axis_d[] = "Index out of bounds (axis %d)";
static const char __pyx_k_InputValue___reduce_cython[] = "InputValue.__reduce_cython__";
static const char __pyx_k_Invalid_positioning_policy[] = "Invalid positioning policy";
static const char __pyx_k_MenuItem___setstate_cython[] = "MenuItem.__setstate_cython__";
static const char __pyx_k_PlotBars___setstate_cython[] = "PlotBars.__setstate_cython__";
static const char __pyx_k_PlotLine___setstate_cython[] = "PlotLine.__setstate_cython__";
static const char __pyx_k_PlotStairs___reduce_cython[] = "PlotStairs.__reduce_cython__";
static const char __pyx_k_Selectable___reduce_cython[] = "Selectable.__reduce_cython__";
static const char __pyx_k_SharedBool___reduce_cython[] = "SharedBool.__reduce_cython__";
static const char __pyx_k_SharedInt4___reduce_cython[] = "SharedInt4.__reduce_cython__";
static const char __pyx_k_SimplePlot___reduce_cython[] = "SimplePlot.__reduce_cython__";
static const char __pyx_k_TreeNode___setstate_cython[] = "TreeNode.__setstate_cython__";
static const char __pyx_k_Viewport___setstate_cython[] = "Viewport.__setstate_cython__";
static const char __pyx_k_baseItem___setstate_cython[] = "baseItem.__setstate_cython__";
static const char __pyx_k_find_system_fonts_filename[] = "find_system_fonts_filename";
static const char __pyx_k_last_time_before_rendering[] = "last_time_before_rendering";
static const char __pyx_k_ChildWindow___reduce_cython[] = "ChildWindow.__reduce_cython__";
static const char __pyx_k_ColorButton___reduce_cython[] = "ColorButton.__reduce_cython__";
static const char __pyx_k_ColorEdit___setstate_cython[] = "ColorEdit.__setstate_cython__";
static const char __pyx_k_ColorPicker___reduce_cython[] = "ColorPicker.__reduce_cython__";
static const char __pyx_k_DPGCallback___reduce_cython[] = "DPGCallback.__reduce_cython__";
static const char __pyx_k_DrawCircle____reduce_cython[] = "DrawCircle_.__reduce_cython__";
static const char __pyx_k_DrawLine____setstate_cython[] = "DrawLine_.__setstate_cython__";
static const char __pyx_k_DrawQuad____setstate_cython[] = "DrawQuad_.__setstate_cython__";
static const char __pyx_k_DrawRect____setstate_cython[] = "DrawRect_.__setstate_cython__";
static const char __pyx_k_DrawText____setstate_cython[] = "DrawText_.__setstate_cython__";
static const char __pyx_k_DrawingList___reduce_cython[] = "DrawingList.__reduce_cython__";
static const char __pyx_k_FontTexture___reduce_cython[] = "FontTexture.__reduce_cython__";
static const char __pyx_k_ImageButton___reduce_cython[] = "ImageButton.__reduce_cython__";
static const char __pyx_k_InputText___setstate_cython[] = "InputText.__setstate_cython__";
static const char __pyx_k_PlotScatter___reduce_cython[] = "PlotScatter.__reduce_cython__";
static const char __pyx_k_PlotStems___setstate_cython[] = "PlotStems.__setstate_cython__";
static const char __pyx_k_ProgressBar___reduce_cython[] = "ProgressBar.__reduce_cython__";
static const char __pyx_k_RadioButton___reduce_cython[] = "RadioButton.__reduce_cython__";
static const char __pyx_k_Separator___setstate_cython[] = "Separator.__setstate_cython__";
static const char __pyx_k_SharedColor___reduce_cython[] = "SharedColor.__reduce_cython__";
static const char __pyx_k_SharedFloat___reduce_cython[] = "SharedFloat.__reduce_cython__";
static const char __pyx_k_SharedInt___setstate_cython[] = "SharedInt.__setstate_cython__";
static const char __pyx_k_SharedStr___setstate_cython[] = "SharedStr.__setstate_cython__";
static const char __pyx_k_SharedValue___reduce_cython[] = "SharedValue.__reduce_cython__";
static const char __pyx_k_Step_may_not_be_zero_axis_d[] = "Step may not be zero (axis %d)";
static const char __pyx_k_TabButton___setstate_cython[] = "TabButton.__setstate_cython__";
static const char __pyx_k_Target_texture_is_read_only[] = "Target texture is read-only";
static const char __pyx_k_TimeWatcher___reduce_cython[] = "TimeWatcher.__reduce_cython__";
static const char __pyx_k_Unused_configure_parameters[] = "Unused configure parameters: ";
static const char __pyx_k_as_the_user_holds_a_lock_on[] = " as the user holds a lock on ";
static const char __pyx_k_baseHandler___reduce_cython[] = "baseHandler.__reduce_cython__";
static const char __pyx_k_baseTheme___setstate_cython[] = "baseTheme.__setstate_cython__";
static const char __pyx_k_but_not_in_the_same_threads[] = ", but not in the same threads";
static const char __pyx_k_drawingItem___reduce_cython[] = "drawingItem.__reduce_cython__";
static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";
static const char __pyx_k_nearest_neighbor_upsampling[] = "nearest_neighbor_upsampling";
static const char __pyx_k_plotElement___reduce_cython[] = "plotElement.__reduce_cython__";
static const char __pyx_k_pyx_unpickle___Pyx_EnumMeta[] = "__pyx_unpickle___Pyx_EnumMeta";
static const char __pyx_k_wrap_this_and_parents_mutex[] = "wrap_this_and_parents_mutex";
static const char __pyx_k_Context_get_mouse_drag_delta[] = "Context.get_mouse_drag_delta";
static const char __pyx_k_DrawArrow____setstate_cython[] = "DrawArrow_.__setstate_cython__";
static const char __pyx_k_DrawEllipse____reduce_cython[] = "DrawEllipse_.__reduce_cython__";
static const char __pyx_k_DrawImage____setstate_cython[] = "DrawImage_.__setstate_cython__";
static const char __pyx_k_DrawInPlot___setstate_cython[] = "DrawInPlot.__setstate_cython__";
static const char __pyx_k_DrawInWindow___reduce_cython[] = "DrawInWindow.__reduce_cython__";
static const char __pyx_k_DrawPolygon____reduce_cython[] = "DrawPolygon_.__reduce_cython__";
static const char __pyx_k_InputValue___setstate_cython[] = "InputValue.__setstate_cython__";
static const char __pyx_k_PlotInfLines___reduce_cython[] = "PlotInfLines.__reduce_cython__";
static const char __pyx_k_PlotStairs___setstate_cython[] = "PlotStairs.__setstate_cython__";
static const char __pyx_k_Pyx_EnumMeta___reduce_cython[] = "__Pyx_EnumMeta.__reduce_cython__";
static const char __pyx_k_Selectable___setstate_cython[] = "Selectable.__setstate_cython__";
static const char __pyx_k_SharedBool___setstate_cython[] = "SharedBool.__setstate_cython__";
static const char __pyx_k_SharedDouble___reduce_cython[] = "SharedDouble.__reduce_cython__";
static const char __pyx_k_SharedFloat4___reduce_cython[] = "SharedFloat4.__reduce_cython__";
static const char __pyx_k_SharedInt4___setstate_cython[] = "SharedInt4.__setstate_cython__";
static const char __pyx_k_SimplePlot___setstate_cython[] = "SimplePlot.__setstate_cython__";
static const char __pyx_k_VerticalLayout_update_layout[] = "VerticalLayout.update_layout";
static const char __pyx_k_Viewport_already_initialized[] = "Viewport already initialized";
static const char __pyx_k_fetch_last_created_container[] = "fetch_last_created_container";
static const char __pyx_k_plotElementX___reduce_cython[] = "plotElementX.__reduce_cython__";
static const char __pyx_k_target_before_cannot_be_None[] = "target before cannot be None";
static const char __pyx_k_ChildWindow___setstate_cython[] = "ChildWindow.__setstate_cython__";
static const char __pyx_k_ColorButton___setstate_cython[] = "ColorButton.__setstate_cython__";
static const char __pyx_k_ColorPicker___setstate_cython[] = "ColorPicker.__setstate_cython__";
static const char __pyx_k_DPGCallback___setstate_cython[] = "DPGCallback.__setstate_cython__";
static const char __pyx_k_DrawCircle____setstate_cython[] = "DrawCircle_.__setstate_cython__";
static const char __pyx_k_DrawPolyline____reduce_cython[] = "DrawPolyline_.__reduce_cython__";
static const char __pyx_k_DrawTriangle____reduce_cython[] = "DrawTriangle_.__reduce_cython__";
static const char __pyx_k_DrawingList___setstate_cython[] = "DrawingList.__setstate_cython__";
static const char __pyx_k_Failed_to_create_the_viewport[] = "Failed to create the viewport";
static const char __pyx_k_FontTexture___setstate_cython[] = "FontTexture.__setstate_cython__";
static const char __pyx_k_ImageButton___setstate_cython[] = "ImageButton.__setstate_cython__";
static const char __pyx_k_PlotScatter___setstate_cython[] = "PlotScatter.__setstate_cython__";
static const char __pyx_k_ProgressBar___setstate_cython[] = "ProgressBar.__setstate_cython__";
static const char __pyx_k_RadioButton___setstate_cython[] = "RadioButton.__setstate_cython__";
static const char __pyx_k_SharedColor___setstate_cython[] = "SharedColor.__setstate_cython__";
static const char __pyx_k_SharedDouble4___reduce_cython[] = "SharedDouble4.__reduce_cython__";
static const char __pyx_k_SharedFloat___setstate_cython[] = "SharedFloat.__setstate_cython__";
static const char __pyx_k_SharedValue___setstate_cython[] = "SharedValue.__setstate_cython__";
static const char __pyx_k_TimeWatcher___setstate_cython[] = "TimeWatcher.__setstate_cython__";
static const char __pyx_k_baseHandler___setstate_cython[] = "baseHandler.__setstate_cython__";
static const char __pyx_k_drawingItem___setstate_cython[] = "drawingItem.__setstate_cython__";
static const char __pyx_k_plotElementXY___reduce_cython[] = "plotElementXY.__reduce_cython__";
static const char __pyx_k_plotElement___setstate_cython[] = "plotElement.__setstate_cython__";
static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";
static const char __pyx_k_Context_reset_mouse_drag_delta[] = "Context.reset_mouse_drag_delta";
static const char __pyx_k_DrawEllipse____setstate_cython[] = "DrawEllipse_.__setstate_cython__";
static const char __pyx_k_DrawImageQuad____reduce_cython[] = "DrawImageQuad_.__reduce_cython__";
static const char __pyx_k_DrawInWindow___setstate_cython[] = "DrawInWindow.__setstate_cython__";
static const char __pyx_k_DrawPolygon____setstate_cython[] = "DrawPolygon_.__setstate_cython__";
static const char __pyx_k_HorizontalLayout_update_layout[] = "HorizontalLayout.update_layout";
static const char __pyx_k_PlotAxisConfig___reduce_cython[] = "PlotAxisConfig.__reduce_cython__";
static const char __pyx_k_PlotInfLines___setstate_cython[] = "PlotInfLines.__setstate_cython__";
static const char __pyx_k_PlotShadedLine___reduce_cython[] = "PlotShadedLine.__reduce_cython__";
static const char __pyx_k_Pyx_EnumMeta___setstate_cython[] = "__Pyx_EnumMeta.__setstate_cython__";
static const char __pyx_k_SharedDouble___setstate_cython[] = "SharedDouble.__setstate_cython__";
static const char __pyx_k_SharedFloat4___setstate_cython[] = "SharedFloat4.__setstate_cython__";
static const char __pyx_k_VerticalLayout___reduce_cython[] = "VerticalLayout.__reduce_cython__";
static const char __pyx_k_passed_as_items_Expected_array[] = " passed as items. Expected array of strings";
static const char __pyx_k_plotElementXYY___reduce_cython[] = "plotElementXYY.__reduce_cython__";
static const char __pyx_k_plotElementX___setstate_cython[] = "plotElementX.__setstate_cython__";
static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";
static const char __pyx_k_Axes_must_be_a_tuple_of_valid_X[] = "Axes must be a tuple of valid X/Y axes";
static const char __pyx_k_Color_data_must_either_an_int32[] = "Color data must either an int32 (rgba, little endian),\nor an array of int (r, g, b, a) or float (r, g, b, a) normalized";
static const char __pyx_k_Context_fetch_last_created_item[] = "Context.fetch_last_created_item";
static const char __pyx_k_Context_fetch_parent_queue_back[] = "Context.fetch_parent_queue_back";
static const char __pyx_k_Context_get_mouse_clicked_count[] = "Context.get_mouse_clicked_count";
static const char __pyx_k_Context_is_mouse_double_clicked[] = "Context.is_mouse_double_clicked";
static const char __pyx_k_DrawBezierQuadratic____setstate[] = "DrawBezierQuadratic_.__setstate_cython__";
static const char __pyx_k_DrawPolyline____setstate_cython[] = "DrawPolyline_.__setstate_cython__";
static const char __pyx_k_DrawTriangle____setstate_cython[] = "DrawTriangle_.__setstate_cython__";
static const char __pyx_k_Failed_to_load_target_Font_file[] = "Failed to load target Font file ";
static const char __pyx_k_Failed_to_upload_target_texture[] = "Failed to upload target texture";
static const char __pyx_k_KeyDownHandler____reduce_cython[] = "KeyDownHandler_.__reduce_cython__";
static const char __pyx_k_MouseReleaseHandler____setstate[] = "MouseReleaseHandler_.__setstate_cython__";
static const char __pyx_k_Provided_context_is_not_a_valid[] = "Provided context is not a valid Context instance";
static const char __pyx_k_SharedDouble4___setstate_cython[] = "SharedDouble4.__setstate_cython__";
static const char __pyx_k_SharedFloatVect___reduce_cython[] = "SharedFloatVect.__reduce_cython__";
static const char __pyx_k_Trying_to_attach_a_deleted_item[] = "Trying to attach a deleted item";
static const char __pyx_k_as_it_was_not_created_in_the_sa[] = " as it was not created in the same context";
static const char __pyx_k_is_not_a_compatible_item_instan[] = " is not a compatible item instance";
static const char __pyx_k_last_time_before_event_handling[] = "last_time_before_event_handling";
static const char __pyx_k_passed_as_labels_Expected_array[] = " passed as labels. Expected array of strings";
static const char __pyx_k_passed_as_labels_coord_Expected[] = " passed as labels_coord. Expected array of strings";
static const char __pyx_k_plotElementXY___setstate_cython[] = "plotElementXY.__setstate_cython__";
static const char __pyx_k_All_dimensions_preceding_dimensi[] = "All dimensions preceding dimension %d must be indexed and not sliced";
static const char __pyx_k_An_error_occured_in_the_viewport[] = "An error occured in the viewport resize callback";
static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";
static const char __pyx_k_Callback_called_without_argument[] = "Callback called without arguments";
static const char __pyx_k_Callback_function_takes_too_many[] = "Callback function takes too many arguments";
static const char __pyx_k_Callback_requires_a_callable_obj[] = "Callback requires a callable object";
static const char __pyx_k_Can_only_create_a_buffer_that_is[] = "Can only create a buffer that is contiguous in memory.";
static const char __pyx_k_Cannot_add_Font_to_built_FontTex[] = "Cannot add Font to built FontTexture";
static const char __pyx_k_Cannot_assign_to_read_only_memor[] = "Cannot assign to read-only memoryview";
static const char __pyx_k_Cannot_bind_sibling_if_no_parent[] = "Cannot bind sibling if no parent";
static const char __pyx_k_Cannot_create_writable_memory_vi[] = "Cannot create writable memory view from read-only memoryview";
static const char __pyx_k_Cannot_get_mouse_position_no_mou[] = "Cannot get mouse position: no mouse found";
static const char __pyx_k_Cannot_transpose_memoryview_with[] = "Cannot transpose memoryview with indirect dimensions";
static const char __pyx_k_CollapsingHeader___reduce_cython[] = "CollapsingHeader.__reduce_cython__";
static const char __pyx_k_CollapsingHeader___setstate_cyth[] = "CollapsingHeader.__setstate_cython__";
static const char __pyx_k_Color_value_component_outside_bo[] = "Color value component outside bounds (0...255)";
static const char __pyx_k_Context_fetch_last_created_conta[] = "Context.fetch_last_created_container";
static const char __pyx_k_Context_fetch_parent_queue_front[] = "Context.fetch_parent_queue_front";
static const char __pyx_k_DrawBezierCubic____reduce_cython[] = "DrawBezierCubic_.__reduce_cython__";
static const char __pyx_k_DrawBezierCubic____setstate_cyth[] = "DrawBezierCubic_.__setstate_cython__";
static const char __pyx_k_DrawBezierQuadratic____reduce_cy[] = "DrawBezierQuadratic_.__reduce_cython__";
static const char __pyx_k_DrawImageQuad____setstate_cython[] = "DrawImageQuad_.__setstate_cython__";
static const char __pyx_k_DrawInvisibleButton___reduce_cyt[] = "DrawInvisibleButton.__reduce_cython__";
static const char __pyx_k_DrawInvisibleButton___setstate_c[] = "DrawInvisibleButton.__setstate_cython__";
static const char __pyx_k_DrawingListScale___reduce_cython[] = "DrawingListScale.__reduce_cython__";
static const char __pyx_k_DrawingListScale___setstate_cyth[] = "DrawingListScale.__setstate_cython__";
static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] = "Empty shape tuple for cython.array";
static const char __pyx_k_Expected_1_2_3_or_4_for_size_Got[] = "Expected 1, 2, 3, or 4 for size. Got ";
static const char __pyx_k_Expected_a_shareable_value_of_ty[] = "Expected a shareable value of type ";
static const char __pyx_k_Expected_int_float_or_double_Got[] = "Expected 'int', 'float' or 'double'. Got ";
static const char __pyx_k_Failed_to_build_target_texture_d[] = "Failed to build target texture data";
static const char __pyx_k_FindSystemFontsFilenameException[] = "FindSystemFontsFilenameException";
static const char __pyx_k_HorizontalLayout___reduce_cython[] = "HorizontalLayout.__reduce_cython__";
static const char __pyx_k_HorizontalLayout___setstate_cyth[] = "HorizontalLayout.__setstate_cython__";
static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())";
static const char __pyx_k_Indirect_dimensions_not_supporte[] = "Indirect dimensions not supported";
static const char __pyx_k_Instance_of_type_cannot_be_attac[] = "Instance of type {} cannot be attached to {}";
static const char __pyx_k_Instance_of_type_cannot_be_sibli[] = "Instance of type {} cannot be sibling to {}";
static const char __pyx_k_Instance_of_type_cannot_have_a_s[] = "Instance of type {} cannot have a sibling";
static const char __pyx_k_Invalid_arguments_passed_to_Text[] = "Invalid arguments passed to Texture. Expected content";
static const char __pyx_k_Invalid_location_Must_be_a_Legen[] = "Invalid location. Must be a LegendLocation";
static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] = "Invalid mode, expected 'c' or 'fortran', got ";
static const char __pyx_k_Invalid_number_of_texture_dimens[] = "Invalid number of texture dimensions";
static const char __pyx_k_Invalid_scale_Expecting_an_AxisS[] = "Invalid scale. Expecting an AxisScale";
static const char __pyx_k_KeyDownHandler____setstate_cytho[] = "KeyDownHandler_.__setstate_cython__";
static const char __pyx_k_KeyPressHandler____reduce_cython[] = "KeyPressHandler_.__reduce_cython__";
static const char __pyx_k_KeyPressHandler____setstate_cyth[] = "KeyPressHandler_.__setstate_cython__";
static const char __pyx_k_KeyReleaseHandler____reduce_cyth[] = "KeyReleaseHandler_.__reduce_cython__";
static const char __pyx_k_KeyReleaseHandler____setstate_cy[] = "KeyReleaseHandler_.__setstate_cython__";
static const char __pyx_k_MouseClickHandler____reduce_cyth[] = "MouseClickHandler_.__reduce_cython__";
static const char __pyx_k_MouseClickHandler____setstate_cy[] = "MouseClickHandler_.__setstate_cython__";
static const char __pyx_k_MouseDoubleClickHandler____reduc[] = "MouseDoubleClickHandler_.__reduce_cython__";
static const char __pyx_k_MouseDoubleClickHandler____setst[] = "MouseDoubleClickHandler_.__setstate_cython__";
static const char __pyx_k_MouseDownHandler____reduce_cytho[] = "MouseDownHandler_.__reduce_cython__";
static const char __pyx_k_MouseDownHandler____setstate_cyt[] = "MouseDownHandler_.__setstate_cython__";
static const char __pyx_k_MouseDragHandler____reduce_cytho[] = "MouseDragHandler_.__reduce_cython__";
static const char __pyx_k_MouseDragHandler____setstate_cyt[] = "MouseDragHandler_.__setstate_cython__";
static const char __pyx_k_MouseMoveHandler___reduce_cython[] = "MouseMoveHandler.__reduce_cython__";
static const char __pyx_k_MouseMoveHandler___setstate_cyth[] = "MouseMoveHandler.__setstate_cython__";
static const char __pyx_k_MouseReleaseHandler____reduce_cy[] = "MouseReleaseHandler_.__reduce_cython__";
static const char __pyx_k_MouseWheelHandler___reduce_cytho[] = "MouseWheelHandler.__reduce_cython__";
static const char __pyx_k_MouseWheelHandler___setstate_cyt[] = "MouseWheelHandler.__setstate_cython__";
static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on buffer access (axis ";
static const char __pyx_k_PlaceHolderParent___reduce_cytho[] = "PlaceHolderParent.__reduce_cython__";
static const char __pyx_k_PlaceHolderParent___setstate_cyt[] = "PlaceHolderParent.__setstate_cython__";
static const char __pyx_k_PlotAxisConfig___setstate_cython[] = "PlotAxisConfig.__setstate_cython__";
static const char __pyx_k_PlotLegendConfig___reduce_cython[] = "PlotLegendConfig.__reduce_cython__";
static const char __pyx_k_PlotLegendConfig___setstate_cyth[] = "PlotLegendConfig.__setstate_cython__";
static const char __pyx_k_PlotShadedLine___setstate_cython[] = "PlotShadedLine.__setstate_cython__";
static const char __pyx_k_Point_data_must_be_an_array_of_u[] = "Point data must be an array of up to 2 coordinates";
static const char __pyx_k_SharedFloatVect___setstate_cytho[] = "SharedFloatVect.__setstate_cython__";
static const char __pyx_k_Shared_value_is_empty_Cannot_set[] = "Shared value is empty. Cannot set.";
static const char __pyx_k_The_viewport_must_be_initialized[] = "The viewport must be initialized before being used";
static const char __pyx_k_The_viewport_must_be_not_be_init[] = "The viewport must be not be initialized to set this field";
static const char __pyx_k_There_must_be_at_least_space_for[] = "There must be at least space for one character";
static const char __pyx_k_Trying_to_attach_to_a_deleted_it[] = "Trying to attach to a deleted item";
static const char __pyx_k_Trying_to_attach_to_an_un_attach[] = "Trying to attach to an un-attached sibling. Not yet supported";
static const char __pyx_k_Trying_to_lock_parent_mutex_whil[] = "Trying to lock parent mutex while holding a lock. If you get this error, this means you are attempting to edit the children list of a parent of nodes you hold a mutex to, but you are not holding a mutex of the parent. As a result deadlock occured.To fix this issue:\n If the item you are inserting in the parent's children list is outside the rendering tree, (you didn't really  need a mutex) -> release your mutexes.\n If the item is in the rendering tree you should lock first the parent.";
static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";
static const char __pyx_k_VerticalLayout___setstate_cython[] = "VerticalLayout.__setstate_cython__";
static const char __pyx_k_ViewportDrawList____reduce_cytho[] = "ViewportDrawList_.__reduce_cython__";
static const char __pyx_k_ViewportDrawList____setstate_cyt[] = "ViewportDrawList_.__setstate_cython__";
static const char __pyx_k_Warning_self_cannot_have_childre[] = "Warning: {self} cannot have children but is pushed as container";
static const char __pyx_k_Window_must_be_attached_before_b[] = "Window must be attached before becoming primary";
static const char __pyx_k_children_must_be_a_array_of_chil[] = "children must be a array of child items";
static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension ";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_numpy__core_multiarray_failed_to[] = "numpy._core.multiarray failed to import";
static const char __pyx_k_numpy__core_umath_failed_to_impo[] = "numpy._core.umath failed to import";
static const char __pyx_k_pan_mod_must_be_a_combinaison_of[] = "pan_mod must be a combinaison of modifiers";
static const char __pyx_k_plotElementWithLegend___reduce_c[] = "plotElementWithLegend.__reduce_cython__";
static const char __pyx_k_plotElementWithLegend___setstate[] = "plotElementWithLegend.__setstate_cython__";
static const char __pyx_k_plotElementXYY___setstate_cython[] = "plotElementXYY.__setstate_cython__";
static const char __pyx_k_queue_must_be_a_subclass_of_conc[] = "queue must be a subclass of concurrent.futures.Executor";
static const char __pyx_k_round_to_format_cannot_be_enable[] = "round_to_format cannot be enabled with logarithmic set";
static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";
static const char __pyx_k_wrap_this_and_parents_mutex___en[] = "wrap_this_and_parents_mutex.__enter__";
static const char __pyx_k_wrap_this_and_parents_mutex___ex[] = "wrap_this_and_parents_mutex.__exit__";
static const char __pyx_k_wrap_this_and_parents_mutex___in[] = "wrap_this_and_parents_mutex.__init__";
static const char __pyx_k_zoom_mod_must_be_a_combinaison_o[] = "zoom_mod must be a combinaison of modifiers";
static const char __pyx_k_An_error_occured_in_the_viewport_2[] = "An error occured in the viewport close callback";
static const char __pyx_k_Color_value_component_outside_bo_2[] = "Color value component outside bounds (0...1)";
static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_2[] = "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))";
static const char __pyx_k_Point_data_must_be_an_array_of_u_2[] = "Point data must be an array of up to 4 coordinates";
/* #### Code section: decls ### */
static int __pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name, PyObject *__pyx_v_parents, PyObject *__pyx_v_dct); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_4__getitem__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_value, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_value, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object); /* proto */
static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_7Context___init__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_queue); /* proto */
static int __pyx_pf_9dearcygui_4core_7Context_2__cinit__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static void __pyx_pf_9dearcygui_4core_7Context_4__dealloc__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static void __pyx_pf_9dearcygui_4core_7Context_6__del__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_8viewport___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_8__getitem__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_10push_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_next_parent); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_12pop_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_14fetch_parent_queue_back(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_16fetch_parent_queue_front(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_18fetch_last_created_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_20fetch_last_created_container(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_22is_key_down(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_24is_key_pressed(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod, int __pyx_v_repeat); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_26is_key_released(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_28is_mouse_down(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_30is_mouse_clicked(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, int __pyx_v_repeat); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_32is_mouse_double_clicked(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_34get_mouse_clicked_count(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_36is_mouse_released(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_38get_mouse_position(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_40is_mouse_dragging(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, float __pyx_v_lock_threshold); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_42get_mouse_drag_delta(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, float __pyx_v_lock_threshold); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_44reset_mouse_drag_delta(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_7running___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Context_7running_2__set__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_9clipboard___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Context_9clipboard_2__set__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_46__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Context_48__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem___init__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_2__cinit__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_4configure(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static void __pyx_pf_9dearcygui_4core_8baseItem_6__dealloc__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_7context___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_9user_data___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_9user_data_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_4uuid___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_3tag___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_3tag_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_tag); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_6parent___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_6parent_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_12next_sibling___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_12next_sibling_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_8children___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8baseItem_8children_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_8__enter__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_10__exit__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_12attach_to_parent(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_14attach_before(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_16detach_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_18delete_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_20lock_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_wait); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_22unlock_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_5mutex___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_13parents_mutex___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport___cinit__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context); /* proto */
static void __pyx_pf_9dearcygui_4core_8Viewport_2__dealloc__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_4initialize(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_minimized, PyObject *__pyx_v_maximized, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_11clear_color___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_11clear_color_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10small_icon___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_10small_icon_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10large_icon___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_10large_icon_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5x_pos___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5x_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5y_pos___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5y_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_6height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9resizable___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9resizable_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5vsync___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5vsync_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_3dpi___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_3dpi_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9min_width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9min_width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9max_width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9max_width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10min_height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_10min_height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10max_height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_10max_height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_13always_on_top___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_13always_on_top_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9decorated___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9decorated_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_8handlers___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6cursor___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_6cursor_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_4font___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_4font_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5theme___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5title___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_5title_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_13disable_close___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_13disable_close_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10fullscreen___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_10fullscreen_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9minimized___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9minimized_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9maximized___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_9maximized_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5shown___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_15resize_callback___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_15resize_callback_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14close_callback___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8Viewport_14close_callback_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_7metrics___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6configure(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_8render_frame(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_can_skip_presenting); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10wake(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8Callback___init__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static int __pyx_pf_9dearcygui_4core_8Callback_2__cinit__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, PyObject *__pyx_v_callback, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Callback_4__call__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, PyObject *__pyx_v_source_item, PyObject *__pyx_v_target_item, PyObject *__pyx_v_call_info); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Callback_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Callback_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback___call__(struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self, PyObject *__pyx_v_source_item, PyObject *__pyx_v_target_item, PyObject *__pyx_v_call_info); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_17PlaceHolderParent___cinit__(struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17PlaceHolderParent_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17PlaceHolderParent_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11drawingItem___cinit__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_4show___get__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11drawingItem_4show_2__set__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11DrawingList___cinit__(struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DrawingList_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DrawingList_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16DrawingListScale___cinit__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_6scales___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16DrawingListScale_6scales_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10DrawArrow____cinit__(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawArrow__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawArrow__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16DrawBezierCubic____cinit__(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawBezierCubic__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16DrawBezierCubic__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_20DrawBezierQuadratic____cinit__(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11DrawCircle____cinit__(struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DrawCircle__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11DrawCircle__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12DrawEllipse____cinit__(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawEllipse__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawEllipse__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10DrawImage____cinit__(struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawImage__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawImage__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_14DrawImageQuad____cinit__(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14DrawImageQuad__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14DrawImageQuad__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9DrawLine____cinit__(struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawLine__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawLine__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_13DrawPolyline____cinit__(struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13DrawPolyline__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13DrawPolyline__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12DrawPolygon____cinit__(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawPolygon__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawPolygon__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9DrawQuad____cinit__(struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawQuad__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawQuad__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9DrawRect____cinit__(struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawRect__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawRect__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9DrawText____cinit__(struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawText__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9DrawText__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_13DrawTriangle____cinit__(struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13DrawTriangle__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13DrawTriangle__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9activated___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6active___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7clicked___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_14double_clicked___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_11deactivated___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7hovered___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9rect_size___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7resized___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12DrawInWindow___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawInWindow_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12DrawInWindow_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_17ViewportDrawList____cinit__(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17ViewportDrawList__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17ViewportDrawList__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_15KeyDownHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_15KeyDownHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_15KeyDownHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16KeyPressHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16KeyPressHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16KeyPressHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_18KeyReleaseHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_18KeyReleaseHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_18KeyReleaseHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_18MouseClickHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_18MouseClickHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_18MouseClickHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_17MouseDownHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseDownHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseDownHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_17MouseDragHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseDragHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseDragHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16MouseMoveHandler___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16MouseMoveHandler_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_20MouseReleaseHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_20MouseReleaseHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_20MouseReleaseHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_17MouseWheelHandler___cinit__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedValue___init__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedValue_2__cinit__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_5value___get__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedValue_5value_2__set__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_15shareable_value___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_update___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_change___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_12num_attached___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10SharedBool___init__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SharedBool_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedFloat___init__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedFloat_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9SharedInt___init__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9SharedInt_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedColor___init__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11SharedColor_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12SharedDouble___init__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_12SharedDouble_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9SharedStr___init__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9SharedStr_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12SharedFloat4___init__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_12SharedFloat4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10SharedInt4___init__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SharedInt4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_13SharedDouble4___init__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_13SharedDouble4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_15SharedFloatVect___init__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_15SharedFloatVect_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11baseHandler___cinit__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_7enabled___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11baseHandler_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_4show___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11baseHandler_4show_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_8callback___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11baseHandler_8callback_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem___cinit__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static void __pyx_pf_9dearcygui_4core_6uiItem_2__dealloc__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4configure(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6__dir__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6active___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9activated___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7clicked___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_14double_clicked___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_11deactivated___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_24deactivated_after_edited___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6edited___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7focused___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_7focused_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7hovered___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7resized___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7toggled___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7visible___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9callbacks___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_9callbacks_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7enabled___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4font___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_4font_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5label___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_5label_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5value___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_5value_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_15shareable_value___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_15shareable_value_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4show___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_4show_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_8handlers___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5theme___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9rect_size___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_20content_region_avail___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10pos_policy___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_10pos_policy_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, enum __pyx_t_9dearcygui_4core_positioning __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6height___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_6height_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5width___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_5width_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6indent___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_6indent_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10no_newline___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6uiItem_10no_newline_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot___cinit__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_2configure(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9histogram___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot_9histogram_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_7overlay___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10SimplePlot_7overlay_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6Button___cinit__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_9direction___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Button_9direction_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_5small___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Button_5small_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_5arrow___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Button_5arrow_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_6repeat___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Button_6repeat_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Button_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo___cinit__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_5items___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_5items_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_11height_mode___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_11height_mode_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_16popup_align_left___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_16popup_align_left_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_10no_preview___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_10no_preview_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_9fit_width___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Combo_9fit_width_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Combo_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8Checkbox___cinit__(struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Checkbox_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8Checkbox_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider___cinit__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_2configure(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_6format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_6format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4size___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_4size_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_target_size); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_7clamped___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_7clamped_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4drag___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_4drag_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_11logarithmic___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_11logarithmic_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_9min_value___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_9min_value_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_9max_value___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_9max_value_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_8no_input___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_8no_input_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_12print_format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_12print_format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_15round_to_format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_15round_to_format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_5speed___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_5speed_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_8vertical___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Slider_8vertical_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Slider_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_7ListBox___cinit__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_5items___get__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7ListBox_5items_2__set__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open___get__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open_2__set__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11RadioButton___cinit__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_5items___get__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11RadioButton_5items_2__set__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11RadioButton_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText___cinit__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_4hint___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_4hint_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9multiline___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_9multiline_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_14max_characters___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_14max_characters_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_7decimal___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_7decimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_11hexadecimal___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_11hexadecimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_10scientific___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_10scientific_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9uppercase___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_9uppercase_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9no_spaces___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_9no_spaces_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9tab_input___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_9tab_input_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8on_enter___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_8on_enter_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8readonly___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_8readonly_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8password___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_8password_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_16always_overwrite___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_16always_overwrite_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_15auto_select_all___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_15auto_select_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9InputText_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue___cinit__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_2configure(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_6format___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_6format_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4size___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_4size_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_target_size); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4step___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_4step_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9step_fast___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_9step_fast_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9min_value___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_9min_value_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9max_value___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_9max_value_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_12print_format___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_12print_format_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_7decimal___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_7decimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_10scientific___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_10scientific_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8on_enter___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_8on_enter_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8readonly___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_8readonly_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8password___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_8password_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text___cinit__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_5color___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text_5color_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_5label___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text_5label_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_4wrap___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text_4wrap_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_6bullet___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_10show_label___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Text_10show_label_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Text_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10Selectable___cinit__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_12span_columns___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10Selectable_12span_columns_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_15on_double_click___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10Selectable_15on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_11highlighted___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10Selectable_11highlighted_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8MenuItem___cinit__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_5check___get__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8MenuItem_5check_2__set__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_8shortcut___get__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8MenuItem_8shortcut_2__set__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11ProgressBar___cinit__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_7overlay___get__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ProgressBar_7overlay_2__set__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_5Image___cinit__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_7texture___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Image_7texture_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_2uv___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Image_2uv_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_16color_multiplier___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Image_16color_multiplier_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_12border_color___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_5Image_12border_color_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_5Image_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton___cinit__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_7texture___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton_7texture_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_2uv___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton_2uv_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_16background_color___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ImageButton_16background_color_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9Separator___cinit__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9Separator_5label___get__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9Separator_5label_2__set__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9Separator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9Separator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6Spacer___cinit__(struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Spacer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Spacer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_7MenuBar___cinit__(struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7MenuBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7MenuBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_4Menu___cinit__(struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Menu_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Menu_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_7Tooltip___cinit__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_6target___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Tooltip_6target_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_5delay___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Tooltip_5delay_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9TabButton___cinit__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_10no_reorder___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9TabButton_10no_reorder_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_7leading___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9TabButton_7leading_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_8trailing___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9TabButton_8trailing_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab___cinit__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_8closable___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab_8closable_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_10no_reorder___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab_10no_reorder_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_7leading___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab_7leading_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_8trailing___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab_8trailing_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_3Tab_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_3Tab_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar___cinit__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_11reorderable___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_11reorderable_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_17selected_overline___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_17selected_overline_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6Layout___cinit__(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Layout_2update_layout(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Layout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Layout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16HorizontalLayout___cinit__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_2update_layout(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_14VerticalLayout___cinit__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_9positions___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14VerticalLayout_9positions_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_2update_layout(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode___cinit__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_10selectable___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_10selectable_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_12default_open___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_12default_open_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_4leaf___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_4leaf_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_6bullet___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader___cinit__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow___cinit__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_7menubar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_7menubar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_6border___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_6border_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorButton___cinit__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_9no_border___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorButton_9no_border_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit___cinit__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_10no_options___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_10no_options_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_8no_label___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker___cinit__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_8no_label___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11TimeWatcher___cinit__(struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11TimeWatcher_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11TimeWatcher_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window___cinit__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_12no_title_bar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_12no_title_bar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_9no_resize___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_9no_resize_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_7no_move___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_7no_move_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_12no_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_12no_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_11no_collapse___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_11no_collapse_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_8autosize___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_8autosize_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_13no_background___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_13no_background_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_17no_saved_settings___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_17no_saved_settings_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_7menubar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_7menubar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_16unsaved_document___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_16unsaved_document_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_16disallow_docking___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_16disallow_docking_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_5modal___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_5modal_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_5popup___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_5popup_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_16has_close_button___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_16has_close_button_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_9collapsed___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_9collapsed_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_8on_close___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_8on_close_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_7primary___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_7primary_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_8min_size___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_8min_size_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_8max_size___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_6Window_8max_size_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6Window_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_7Texture___cinit__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_2__delalloc__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_4configure(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic_2__set__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_2__set__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_5width___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_6height___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_9num_chans___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_6set_value(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_7Texture_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_get_system_fonts(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Font___cinit__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Font_7texture___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Font_4size___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Font_5scale___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Font_5scale_2__set__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Font_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Font_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11FontTexture___cinit__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_2__delalloc__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_4add_font_file(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_path, float __pyx_v_size, int __pyx_v_index_in_file, float __pyx_v_density_scale, int __pyx_v_subpixel); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_5built___get__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_7texture___get__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_pf_9dearcygui_4core_11FontTexture_6__len__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_8__getitem__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_10build(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_9baseTheme___cinit__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_2configure(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_7enabled___get__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9baseTheme_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig___cinit__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, enum __pyx_t_9dearcygui_4core_AxisScale __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7hovered___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7clicked___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_11mouse_coord___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_2fit(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig___cinit__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, enum __pyx_t_9dearcygui_4core_LegendLocation __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot___cinit__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X1___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2X1_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X2___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2X2_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X3___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2X3_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y1___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2Y1_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y2___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2Y2_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y3___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_2Y3_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_4axes___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_13legend_config___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_13legend_config_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11content_pos___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10pan_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_10pan_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_7pan_mod___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_7pan_mod_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_modifier); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10fit_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_10fit_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11menu_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_11menu_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8zoom_mod___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_8zoom_mod_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_modifier); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9zoom_rate___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_9zoom_rate_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_14use_local_time___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_14use_local_time_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_title___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_8no_title_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10crosshairs___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_10crosshairs_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_13equal_aspects___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_13equal_aspects_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_frame___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_8no_frame_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9no_legend___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_4Plot_9no_legend_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4Plot_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_11plotElement___cinit__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4show___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11plotElement_4show_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4axes___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11plotElement_4axes_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_5label___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11plotElement_5label_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_5theme___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11plotElement_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_button); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_14legend_hovered___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_13plotElementXY___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_13plotElementXY_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_1Y___get__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_13plotElementXY_1Y_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_8segments___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotLine_8segments_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_4loop___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotLine_4loop_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_7no_clip___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotLine_7no_clip_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_6shaded___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotLine_6shaded_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_14plotElementXYY___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14plotElementXYY_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotShadedLine___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_14PlotShadedLine_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_9PlotStems_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotBars___cinit__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_6weight___get__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotBars_6weight_2__set__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_8PlotBars_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step___get__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_6shaded___get__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10PlotStairs_6shaded_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_12plotElementX___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_12plotElementX_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip___get__(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip_2__set__(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9dearcygui_4core_10DrawInPlot___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit___get__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self); /* proto */
static int __pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_2color_as_int(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_4color_as_ints(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9dearcygui_4core_6color_as_floats(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_tp_new_9dearcygui_4core_Context(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_baseItem(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Viewport(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Callback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_drawingItem(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawingList(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawingListScale(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawArrow_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawBezierCubic_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawBezierQuadratic_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawCircle_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawEllipse_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawImage_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawImageQuad_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawLine_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawPolyline_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawPolygon_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawQuad_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawRect_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawText_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawTriangle_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInvisibleButton(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ViewportDrawList_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedBool(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloat(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedInt(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedColor(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedDouble(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedStr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloat4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedInt4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedDouble4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloatVect(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_baseHandler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_KeyDownHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_KeyPressHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_KeyReleaseHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseClickHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDoubleClickHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDownHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDragHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseMoveHandler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseReleaseHandler_(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MouseWheelHandler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_uiItem(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInWindow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_SimplePlot(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Button(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Combo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Checkbox(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Slider(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ListBox(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_RadioButton(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_InputText(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_InputValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Text(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Selectable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MenuItem(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ProgressBar(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Image(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ImageButton(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Separator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Spacer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_MenuBar(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Menu(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Tooltip(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_TabButton(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Tab(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_TabBar(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Layout(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_HorizontalLayout(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_VerticalLayout(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_TreeNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_CollapsingHeader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ChildWindow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ColorButton(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ColorEdit(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_ColorPicker(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_TimeWatcher(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Window(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Texture(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Font(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_FontTexture(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_baseTheme(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotAxisConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotLegendConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_Plot(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_plotElement(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementWithLegend(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementXY(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotLine(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementXYY(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotShadedLine(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotStems(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotBars(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotStairs(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementX(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotInfLines(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlotScatter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInPlot(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9dearcygui_4core_PlaceHolderParent(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get = {0, 0, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop = {0, 0, 0, 0, 0};
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
typedef struct {
  PyObject *__pyx_d;
  PyObject *__pyx_b;
  PyObject *__pyx_cython_runtime;
  PyObject *__pyx_empty_tuple;
  PyObject *__pyx_empty_bytes;
  PyObject *__pyx_empty_unicode;
  #ifdef __Pyx_CyFunction_USED
  PyTypeObject *__pyx_CyFunctionType;
  #endif
  #ifdef __Pyx_FusedFunction_USED
  PyTypeObject *__pyx_FusedFunctionType;
  #endif
  #ifdef __Pyx_Generator_USED
  PyTypeObject *__pyx_GeneratorType;
  #endif
  #ifdef __Pyx_IterableCoroutine_USED
  PyTypeObject *__pyx_IterableCoroutineType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineAwaitType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineType;
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  PyTypeObject *__pyx_ptype_7cpython_4type_type;
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  PyTypeObject *__pyx_ptype_5numpy_dtype;
  PyTypeObject *__pyx_ptype_5numpy_flatiter;
  PyTypeObject *__pyx_ptype_5numpy_broadcast;
  PyTypeObject *__pyx_ptype_5numpy_ndarray;
  PyTypeObject *__pyx_ptype_5numpy_generic;
  PyTypeObject *__pyx_ptype_5numpy_number;
  PyTypeObject *__pyx_ptype_5numpy_integer;
  PyTypeObject *__pyx_ptype_5numpy_signedinteger;
  PyTypeObject *__pyx_ptype_5numpy_unsignedinteger;
  PyTypeObject *__pyx_ptype_5numpy_inexact;
  PyTypeObject *__pyx_ptype_5numpy_floating;
  PyTypeObject *__pyx_ptype_5numpy_complexfloating;
  PyTypeObject *__pyx_ptype_5numpy_flexible;
  PyTypeObject *__pyx_ptype_5numpy_character;
  PyTypeObject *__pyx_ptype_5numpy_ufunc;
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  PyObject *__pyx_type_9dearcygui_4core_Context;
  PyObject *__pyx_type_9dearcygui_4core_baseItem;
  PyObject *__pyx_type_9dearcygui_4core_Viewport;
  PyObject *__pyx_type_9dearcygui_4core_Callback;
  PyObject *__pyx_type_9dearcygui_4core_drawingItem;
  PyObject *__pyx_type_9dearcygui_4core_DrawingList;
  PyObject *__pyx_type_9dearcygui_4core_DrawingListScale;
  PyObject *__pyx_type_9dearcygui_4core_DrawArrow_;
  PyObject *__pyx_type_9dearcygui_4core_DrawBezierCubic_;
  PyObject *__pyx_type_9dearcygui_4core_DrawBezierQuadratic_;
  PyObject *__pyx_type_9dearcygui_4core_DrawCircle_;
  PyObject *__pyx_type_9dearcygui_4core_DrawEllipse_;
  PyObject *__pyx_type_9dearcygui_4core_DrawImage_;
  PyObject *__pyx_type_9dearcygui_4core_DrawImageQuad_;
  PyObject *__pyx_type_9dearcygui_4core_DrawLine_;
  PyObject *__pyx_type_9dearcygui_4core_DrawPolyline_;
  PyObject *__pyx_type_9dearcygui_4core_DrawPolygon_;
  PyObject *__pyx_type_9dearcygui_4core_DrawQuad_;
  PyObject *__pyx_type_9dearcygui_4core_DrawRect_;
  PyObject *__pyx_type_9dearcygui_4core_DrawText_;
  PyObject *__pyx_type_9dearcygui_4core_DrawTriangle_;
  PyObject *__pyx_type_9dearcygui_4core_DrawInvisibleButton;
  PyObject *__pyx_type_9dearcygui_4core_ViewportDrawList_;
  PyObject *__pyx_type_9dearcygui_4core_SharedValue;
  PyObject *__pyx_type_9dearcygui_4core_SharedBool;
  PyObject *__pyx_type_9dearcygui_4core_SharedFloat;
  PyObject *__pyx_type_9dearcygui_4core_SharedInt;
  PyObject *__pyx_type_9dearcygui_4core_SharedColor;
  PyObject *__pyx_type_9dearcygui_4core_SharedDouble;
  PyObject *__pyx_type_9dearcygui_4core_SharedStr;
  PyObject *__pyx_type_9dearcygui_4core_SharedFloat4;
  PyObject *__pyx_type_9dearcygui_4core_SharedInt4;
  PyObject *__pyx_type_9dearcygui_4core_SharedDouble4;
  PyObject *__pyx_type_9dearcygui_4core_SharedFloatVect;
  PyObject *__pyx_type_9dearcygui_4core_baseHandler;
  PyObject *__pyx_type_9dearcygui_4core_KeyDownHandler_;
  PyObject *__pyx_type_9dearcygui_4core_KeyPressHandler_;
  PyObject *__pyx_type_9dearcygui_4core_KeyReleaseHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseClickHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseDoubleClickHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseDownHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseDragHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseMoveHandler;
  PyObject *__pyx_type_9dearcygui_4core_MouseReleaseHandler_;
  PyObject *__pyx_type_9dearcygui_4core_MouseWheelHandler;
  PyObject *__pyx_type_9dearcygui_4core_uiItem;
  PyObject *__pyx_type_9dearcygui_4core_DrawInWindow;
  PyObject *__pyx_type_9dearcygui_4core_SimplePlot;
  PyObject *__pyx_type_9dearcygui_4core_Button;
  PyObject *__pyx_type_9dearcygui_4core_Combo;
  PyObject *__pyx_type_9dearcygui_4core_Checkbox;
  PyObject *__pyx_type_9dearcygui_4core_Slider;
  PyObject *__pyx_type_9dearcygui_4core_ListBox;
  PyObject *__pyx_type_9dearcygui_4core_RadioButton;
  PyObject *__pyx_type_9dearcygui_4core_InputText;
  PyObject *__pyx_type_9dearcygui_4core_InputValue;
  PyObject *__pyx_type_9dearcygui_4core_Text;
  PyObject *__pyx_type_9dearcygui_4core_Selectable;
  PyObject *__pyx_type_9dearcygui_4core_MenuItem;
  PyObject *__pyx_type_9dearcygui_4core_ProgressBar;
  PyObject *__pyx_type_9dearcygui_4core_Image;
  PyObject *__pyx_type_9dearcygui_4core_ImageButton;
  PyObject *__pyx_type_9dearcygui_4core_Separator;
  PyObject *__pyx_type_9dearcygui_4core_Spacer;
  PyObject *__pyx_type_9dearcygui_4core_MenuBar;
  PyObject *__pyx_type_9dearcygui_4core_Menu;
  PyObject *__pyx_type_9dearcygui_4core_Tooltip;
  PyObject *__pyx_type_9dearcygui_4core_TabButton;
  PyObject *__pyx_type_9dearcygui_4core_Tab;
  PyObject *__pyx_type_9dearcygui_4core_TabBar;
  PyObject *__pyx_type_9dearcygui_4core_Layout;
  PyObject *__pyx_type_9dearcygui_4core_HorizontalLayout;
  PyObject *__pyx_type_9dearcygui_4core_VerticalLayout;
  PyObject *__pyx_type_9dearcygui_4core_TreeNode;
  PyObject *__pyx_type_9dearcygui_4core_CollapsingHeader;
  PyObject *__pyx_type_9dearcygui_4core_ChildWindow;
  PyObject *__pyx_type_9dearcygui_4core_ColorButton;
  PyObject *__pyx_type_9dearcygui_4core_ColorEdit;
  PyObject *__pyx_type_9dearcygui_4core_ColorPicker;
  PyObject *__pyx_type_9dearcygui_4core_TimeWatcher;
  PyObject *__pyx_type_9dearcygui_4core_Window;
  PyObject *__pyx_type_9dearcygui_4core_Texture;
  PyObject *__pyx_type_9dearcygui_4core_Font;
  PyObject *__pyx_type_9dearcygui_4core_FontTexture;
  PyObject *__pyx_type_9dearcygui_4core_baseTheme;
  PyObject *__pyx_type_9dearcygui_4core_PlotAxisConfig;
  PyObject *__pyx_type_9dearcygui_4core_PlotLegendConfig;
  PyObject *__pyx_type_9dearcygui_4core_Plot;
  PyObject *__pyx_type_9dearcygui_4core_plotElement;
  PyObject *__pyx_type_9dearcygui_4core_plotElementWithLegend;
  PyObject *__pyx_type_9dearcygui_4core_plotElementXY;
  PyObject *__pyx_type_9dearcygui_4core_PlotLine;
  PyObject *__pyx_type_9dearcygui_4core_plotElementXYY;
  PyObject *__pyx_type_9dearcygui_4core_PlotShadedLine;
  PyObject *__pyx_type_9dearcygui_4core_PlotStems;
  PyObject *__pyx_type_9dearcygui_4core_PlotBars;
  PyObject *__pyx_type_9dearcygui_4core_PlotStairs;
  PyObject *__pyx_type_9dearcygui_4core_plotElementX;
  PyObject *__pyx_type_9dearcygui_4core_PlotInfLines;
  PyObject *__pyx_type_9dearcygui_4core_PlotScatter;
  PyObject *__pyx_type_9dearcygui_4core_DrawInPlot;
  PyObject *__pyx_type_9dearcygui_4core_DPGCallback;
  PyObject *__pyx_type_9dearcygui_4core_PlaceHolderParent;
  PyObject *__Pyx_EnumMeta;
  PyObject *__pyx_type___pyx_array;
  PyObject *__pyx_type___pyx_MemviewEnum;
  PyObject *__pyx_type___pyx_memoryview;
  PyObject *__pyx_type___pyx_memoryviewslice;
  #endif
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Context;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_baseItem;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Viewport;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Callback;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_drawingItem;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawingList;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawingListScale;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawArrow_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawBezierCubic_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawCircle_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawEllipse_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawImage_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawImageQuad_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawLine_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawPolyline_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawPolygon_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawQuad_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawRect_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawText_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawTriangle_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawInvisibleButton;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ViewportDrawList_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedValue;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedBool;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedFloat;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedInt;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedColor;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedDouble;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedStr;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedFloat4;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedInt4;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedDouble4;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SharedFloatVect;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_baseHandler;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_KeyDownHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_KeyPressHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseClickHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseDownHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseDragHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseMoveHandler;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MouseWheelHandler;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_uiItem;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawInWindow;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_SimplePlot;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Button;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Combo;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Checkbox;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Slider;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ListBox;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_RadioButton;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_InputText;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_InputValue;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Text;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Selectable;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MenuItem;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ProgressBar;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Image;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ImageButton;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Separator;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Spacer;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_MenuBar;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Menu;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Tooltip;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_TabButton;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Tab;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_TabBar;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Layout;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_HorizontalLayout;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_VerticalLayout;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_TreeNode;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_CollapsingHeader;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ChildWindow;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ColorButton;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ColorEdit;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_ColorPicker;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_TimeWatcher;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Window;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Texture;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Font;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_FontTexture;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_baseTheme;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotAxisConfig;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotLegendConfig;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_Plot;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_plotElement;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_plotElementWithLegend;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_plotElementXY;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotLine;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_plotElementXYY;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotShadedLine;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotStems;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotBars;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotStairs;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_plotElementX;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotInfLines;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlotScatter;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DrawInPlot;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_DPGCallback;
  PyTypeObject *__pyx_ptype_9dearcygui_4core_PlaceHolderParent;
  PyTypeObject *__pyx_ptype___Pyx_EnumMeta;
  PyTypeObject *__pyx_array_type;
  PyTypeObject *__pyx_MemviewEnum_type;
  PyTypeObject *__pyx_memoryview_type;
  PyTypeObject *__pyx_memoryviewslice_type;
  PyObject *__pyx_kp_b_;
  PyObject *__pyx_kp_s_;
  PyObject *__pyx_kp_u_;
  PyObject *__pyx_kp_b_3f;
  PyObject *__pyx_n_s_ASCII;
  PyObject *__pyx_kp_s_All_dimensions_preceding_dimensi;
  PyObject *__pyx_kp_u_An_error_occured_in_the_viewport;
  PyObject *__pyx_kp_u_An_error_occured_in_the_viewport_2;
  PyObject *__pyx_n_s_AssertionError;
  PyObject *__pyx_n_s_AttributeError;
  PyObject *__pyx_kp_u_Axes_must_be_a_tuple_of_valid_X;
  PyObject *__pyx_n_s_Axis;
  PyObject *__pyx_n_s_AxisScale;
  PyObject *__pyx_n_u_B;
  PyObject *__pyx_n_s_BOTTOM;
  PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;
  PyObject *__pyx_n_s_Button;
  PyObject *__pyx_n_s_Button___reduce_cython;
  PyObject *__pyx_n_s_Button___setstate_cython;
  PyObject *__pyx_n_s_C;
  PyObject *__pyx_n_s_CENTER;
  PyObject *__pyx_n_u_C_CONTIGUOUS;
  PyObject *__pyx_kp_u_Callback;
  PyObject *__pyx_n_s_Callback_2;
  PyObject *__pyx_n_s_Callback___reduce_cython;
  PyObject *__pyx_n_s_Callback___setstate_cython;
  PyObject *__pyx_kp_u_Callback_argument_was;
  PyObject *__pyx_kp_u_Callback_arguments_were;
  PyObject *__pyx_kp_u_Callback_called_without_argument;
  PyObject *__pyx_kp_u_Callback_function_takes_too_many;
  PyObject *__pyx_kp_u_Callback_requires_a_callable_obj;
  PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;
  PyObject *__pyx_kp_u_Cannot_add_Font_to_built_FontTex;
  PyObject *__pyx_kp_s_Cannot_assign_to_read_only_memor;
  PyObject *__pyx_kp_u_Cannot_attach;
  PyObject *__pyx_kp_u_Cannot_bind_sibling_if_no_parent;
  PyObject *__pyx_kp_s_Cannot_create_writable_memory_vi;
  PyObject *__pyx_kp_u_Cannot_get_mouse_position_no_mou;
  PyObject *__pyx_kp_u_Cannot_index_with_type;
  PyObject *__pyx_kp_u_Cannot_set_empty_texture;
  PyObject *__pyx_kp_s_Cannot_transpose_memoryview_with;
  PyObject *__pyx_n_s_Checkbox;
  PyObject *__pyx_n_s_Checkbox___reduce_cython;
  PyObject *__pyx_n_s_Checkbox___setstate_cython;
  PyObject *__pyx_n_s_ChildWindow;
  PyObject *__pyx_n_s_ChildWindow___reduce_cython;
  PyObject *__pyx_n_s_ChildWindow___setstate_cython;
  PyObject *__pyx_n_s_CollapsingHeader;
  PyObject *__pyx_n_s_CollapsingHeader___reduce_cython;
  PyObject *__pyx_n_s_CollapsingHeader___setstate_cyth;
  PyObject *__pyx_n_s_ColorButton;
  PyObject *__pyx_n_s_ColorButton___reduce_cython;
  PyObject *__pyx_n_s_ColorButton___setstate_cython;
  PyObject *__pyx_n_s_ColorEdit;
  PyObject *__pyx_n_s_ColorEdit___reduce_cython;
  PyObject *__pyx_n_s_ColorEdit___setstate_cython;
  PyObject *__pyx_n_s_ColorPicker;
  PyObject *__pyx_n_s_ColorPicker___reduce_cython;
  PyObject *__pyx_n_s_ColorPicker___setstate_cython;
  PyObject *__pyx_kp_u_Color_data_must_either_an_int32;
  PyObject *__pyx_kp_u_Color_value_component_outside_bo;
  PyObject *__pyx_kp_u_Color_value_component_outside_bo_2;
  PyObject *__pyx_n_s_Combo;
  PyObject *__pyx_n_s_Combo___reduce_cython;
  PyObject *__pyx_n_s_Combo___setstate_cython;
  PyObject *__pyx_n_s_Context;
  PyObject *__pyx_n_s_Context___reduce_cython;
  PyObject *__pyx_n_s_Context___setstate_cython;
  PyObject *__pyx_n_s_Context_fetch_last_created_conta;
  PyObject *__pyx_n_s_Context_fetch_last_created_item;
  PyObject *__pyx_n_s_Context_fetch_parent_queue_back;
  PyObject *__pyx_n_s_Context_fetch_parent_queue_front;
  PyObject *__pyx_n_s_Context_get_mouse_clicked_count;
  PyObject *__pyx_n_s_Context_get_mouse_drag_delta;
  PyObject *__pyx_n_s_Context_get_mouse_position;
  PyObject *__pyx_n_s_Context_is_key_down;
  PyObject *__pyx_n_s_Context_is_key_pressed;
  PyObject *__pyx_n_s_Context_is_key_released;
  PyObject *__pyx_n_s_Context_is_mouse_clicked;
  PyObject *__pyx_n_s_Context_is_mouse_double_clicked;
  PyObject *__pyx_n_s_Context_is_mouse_down;
  PyObject *__pyx_n_s_Context_is_mouse_dragging;
  PyObject *__pyx_n_s_Context_is_mouse_released;
  PyObject *__pyx_n_s_Context_pop_next_parent;
  PyObject *__pyx_n_s_Context_push_next_parent;
  PyObject *__pyx_n_s_Context_reset_mouse_drag_delta;
  PyObject *__pyx_n_s_CursorArrow;
  PyObject *__pyx_n_s_CursorNone;
  PyObject *__pyx_n_s_CursorTextInput;
  PyObject *__pyx_n_s_DEFAULT;
  PyObject *__pyx_n_s_DPGCallback;
  PyObject *__pyx_n_s_DPGCallback___reduce_cython;
  PyObject *__pyx_n_s_DPGCallback___setstate_cython;
  PyObject *__pyx_kp_b_DPG_PAYLOAD;
  PyObject *__pyx_n_s_Delaunay;
  PyObject *__pyx_kp_s_Dimension_d_is_not_direct;
  PyObject *__pyx_n_s_DrawArrow;
  PyObject *__pyx_n_s_DrawArrow____reduce_cython;
  PyObject *__pyx_n_s_DrawArrow____setstate_cython;
  PyObject *__pyx_n_s_DrawBezierCubic;
  PyObject *__pyx_n_s_DrawBezierCubic____reduce_cython;
  PyObject *__pyx_n_s_DrawBezierCubic____setstate_cyth;
  PyObject *__pyx_n_s_DrawBezierQuadratic;
  PyObject *__pyx_n_s_DrawBezierQuadratic____reduce_cy;
  PyObject *__pyx_n_s_DrawBezierQuadratic____setstate;
  PyObject *__pyx_n_s_DrawCircle;
  PyObject *__pyx_n_s_DrawCircle____reduce_cython;
  PyObject *__pyx_n_s_DrawCircle____setstate_cython;
  PyObject *__pyx_n_s_DrawEllipse;
  PyObject *__pyx_n_s_DrawEllipse____reduce_cython;
  PyObject *__pyx_n_s_DrawEllipse____setstate_cython;
  PyObject *__pyx_n_s_DrawImage;
  PyObject *__pyx_n_s_DrawImageQuad;
  PyObject *__pyx_n_s_DrawImageQuad____reduce_cython;
  PyObject *__pyx_n_s_DrawImageQuad____setstate_cython;
  PyObject *__pyx_n_s_DrawImage____reduce_cython;
  PyObject *__pyx_n_s_DrawImage____setstate_cython;
  PyObject *__pyx_n_s_DrawInPlot;
  PyObject *__pyx_n_s_DrawInPlot___reduce_cython;
  PyObject *__pyx_n_s_DrawInPlot___setstate_cython;
  PyObject *__pyx_n_s_DrawInWindow;
  PyObject *__pyx_n_s_DrawInWindow___reduce_cython;
  PyObject *__pyx_n_s_DrawInWindow___setstate_cython;
  PyObject *__pyx_n_s_DrawInvisibleButton;
  PyObject *__pyx_n_s_DrawInvisibleButton___reduce_cyt;
  PyObject *__pyx_n_s_DrawInvisibleButton___setstate_c;
  PyObject *__pyx_n_s_DrawLine;
  PyObject *__pyx_n_s_DrawLine____reduce_cython;
  PyObject *__pyx_n_s_DrawLine____setstate_cython;
  PyObject *__pyx_n_s_DrawPolygon;
  PyObject *__pyx_n_s_DrawPolygon____reduce_cython;
  PyObject *__pyx_n_s_DrawPolygon____setstate_cython;
  PyObject *__pyx_n_s_DrawPolyline;
  PyObject *__pyx_n_s_DrawPolyline____reduce_cython;
  PyObject *__pyx_n_s_DrawPolyline____setstate_cython;
  PyObject *__pyx_n_s_DrawQuad;
  PyObject *__pyx_n_s_DrawQuad____reduce_cython;
  PyObject *__pyx_n_s_DrawQuad____setstate_cython;
  PyObject *__pyx_n_s_DrawRect;
  PyObject *__pyx_n_s_DrawRect____reduce_cython;
  PyObject *__pyx_n_s_DrawRect____setstate_cython;
  PyObject *__pyx_n_s_DrawText;
  PyObject *__pyx_n_s_DrawText____reduce_cython;
  PyObject *__pyx_n_s_DrawText____setstate_cython;
  PyObject *__pyx_n_s_DrawTriangle;
  PyObject *__pyx_n_s_DrawTriangle____reduce_cython;
  PyObject *__pyx_n_s_DrawTriangle____setstate_cython;
  PyObject *__pyx_n_s_DrawingList;
  PyObject *__pyx_n_s_DrawingListScale;
  PyObject *__pyx_n_s_DrawingListScale___reduce_cython;
  PyObject *__pyx_n_s_DrawingListScale___setstate_cyth;
  PyObject *__pyx_n_s_DrawingList___reduce_cython;
  PyObject *__pyx_n_s_DrawingList___setstate_cython;
  PyObject *__pyx_n_s_Ellipsis;
  PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;
  PyObject *__pyx_n_s_EnumBase;
  PyObject *__pyx_n_s_EnumType;
  PyObject *__pyx_n_s_Executor;
  PyObject *__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got;
  PyObject *__pyx_kp_u_Expected_a_shareable_value_of_ty;
  PyObject *__pyx_kp_u_Expected_int_float_or_double_Got;
  PyObject *__pyx_kp_u_Expected_tuple_for_pos_x_y;
  PyObject *__pyx_kp_u_Expected_tuple_got;
  PyObject *__pyx_kp_u_Failed_to_build_target_texture_d;
  PyObject *__pyx_kp_u_Failed_to_create_the_viewport;
  PyObject *__pyx_kp_u_Failed_to_load_target_Font_file;
  PyObject *__pyx_kp_u_Failed_to_upload_target_texture;
  PyObject *__pyx_kp_u_Field_undefined_for_type;
  PyObject *__pyx_kp_u_File;
  PyObject *__pyx_n_s_FindSystemFontsFilenameException;
  PyObject *__pyx_n_s_Font;
  PyObject *__pyx_n_s_FontTexture;
  PyObject *__pyx_n_s_FontTexture___delalloc;
  PyObject *__pyx_n_s_FontTexture___reduce_cython;
  PyObject *__pyx_n_s_FontTexture___setstate_cython;
  PyObject *__pyx_n_s_FontTexture_add_font_file;
  PyObject *__pyx_n_s_FontTexture_build;
  PyObject *__pyx_n_s_Font___reduce_cython;
  PyObject *__pyx_n_s_Font___setstate_cython;
  PyObject *__pyx_n_s_Hand;
  PyObject *__pyx_n_s_HorizontalLayout;
  PyObject *__pyx_n_s_HorizontalLayout___reduce_cython;
  PyObject *__pyx_n_s_HorizontalLayout___setstate_cyth;
  PyObject *__pyx_n_s_HorizontalLayout_update_layout;
  PyObject *__pyx_n_s_Image;
  PyObject *__pyx_n_s_ImageButton;
  PyObject *__pyx_n_s_ImageButton___reduce_cython;
  PyObject *__pyx_n_s_ImageButton___setstate_cython;
  PyObject *__pyx_n_s_Image___reduce_cython;
  PyObject *__pyx_n_s_Image___setstate_cython;
  PyObject *__pyx_n_s_ImportError;
  PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
  PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2;
  PyObject *__pyx_n_s_IndexError;
  PyObject *__pyx_kp_s_Index_out_of_bounds_axis_d;
  PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;
  PyObject *__pyx_n_s_InputText;
  PyObject *__pyx_n_s_InputText___reduce_cython;
  PyObject *__pyx_n_s_InputText___setstate_cython;
  PyObject *__pyx_n_s_InputValue;
  PyObject *__pyx_n_s_InputValue___reduce_cython;
  PyObject *__pyx_n_s_InputValue___setstate_cython;
  PyObject *__pyx_n_s_InputValue_configure;
  PyObject *__pyx_kp_u_Instance_of_type_cannot_be_attac;
  PyObject *__pyx_kp_u_Instance_of_type_cannot_be_sibli;
  PyObject *__pyx_kp_u_Instance_of_type_cannot_have_a_s;
  PyObject *__pyx_n_s_IntEnum;
  PyObject *__pyx_n_s_IntFlag;
  PyObject *__pyx_kp_u_Invalid_alignment_value;
  PyObject *__pyx_kp_u_Invalid_arguments_passed_to_Text;
  PyObject *__pyx_kp_u_Invalid_button;
  PyObject *__pyx_kp_u_Invalid_button_mask;
  PyObject *__pyx_kp_u_Invalid_cursor_type_value;
  PyObject *__pyx_kp_u_Invalid_direction_value;
  PyObject *__pyx_kp_u_Invalid_height_mode_value;
  PyObject *__pyx_kp_u_Invalid_key;
  PyObject *__pyx_kp_u_Invalid_location_Must_be_a_Legen;
  PyObject *__pyx_kp_u_Invalid_mode_expected_c_or_fortr;
  PyObject *__pyx_kp_u_Invalid_number_of_texture_dimens;
  PyObject *__pyx_kp_u_Invalid_positioning_policy;
  PyObject *__pyx_kp_u_Invalid_scale;
  PyObject *__pyx_kp_u_Invalid_scale_Expecting_an_AxisS;
  PyObject *__pyx_kp_u_Invalid_shape_in_axis;
  PyObject *__pyx_kp_u_Invalid_texture_size;
  PyObject *__pyx_kp_u_Invalid_type;
  PyObject *__pyx_kp_u_Item_not_found_with_index;
  PyObject *__pyx_n_s_JUSTIFIED;
  PyObject *__pyx_n_s_KeyDownHandler;
  PyObject *__pyx_n_s_KeyDownHandler____reduce_cython;
  PyObject *__pyx_n_s_KeyDownHandler____setstate_cytho;
  PyObject *__pyx_n_s_KeyError;
  PyObject *__pyx_n_s_KeyPressHandler;
  PyObject *__pyx_n_s_KeyPressHandler____reduce_cython;
  PyObject *__pyx_n_s_KeyPressHandler____setstate_cyth;
  PyObject *__pyx_n_s_KeyReleaseHandler;
  PyObject *__pyx_n_s_KeyReleaseHandler____reduce_cyth;
  PyObject *__pyx_n_s_KeyReleaseHandler____setstate_cy;
  PyObject *__pyx_n_s_LEFT;
  PyObject *__pyx_n_s_Layout;
  PyObject *__pyx_n_s_Layout___reduce_cython;
  PyObject *__pyx_n_s_Layout___setstate_cython;
  PyObject *__pyx_n_s_Layout_update_layout;
  PyObject *__pyx_n_s_LegendLocation;
  PyObject *__pyx_n_s_ListBox;
  PyObject *__pyx_n_s_ListBox___reduce_cython;
  PyObject *__pyx_n_s_ListBox___setstate_cython;
  PyObject *__pyx_n_s_MANUAL;
  PyObject *__pyx_n_s_MemoryError;
  PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;
  PyObject *__pyx_kp_s_MemoryView_of_r_object;
  PyObject *__pyx_n_s_Menu;
  PyObject *__pyx_n_s_MenuBar;
  PyObject *__pyx_n_s_MenuBar___reduce_cython;
  PyObject *__pyx_n_s_MenuBar___setstate_cython;
  PyObject *__pyx_n_s_MenuItem;
  PyObject *__pyx_n_s_MenuItem___reduce_cython;
  PyObject *__pyx_n_s_MenuItem___setstate_cython;
  PyObject *__pyx_n_s_Menu___reduce_cython;
  PyObject *__pyx_n_s_Menu___setstate_cython;
  PyObject *__pyx_n_s_MouseClickHandler;
  PyObject *__pyx_n_s_MouseClickHandler____reduce_cyth;
  PyObject *__pyx_n_s_MouseClickHandler____setstate_cy;
  PyObject *__pyx_n_s_MouseDoubleClickHandler;
  PyObject *__pyx_n_s_MouseDoubleClickHandler____reduc;
  PyObject *__pyx_n_s_MouseDoubleClickHandler____setst;
  PyObject *__pyx_n_s_MouseDownHandler;
  PyObject *__pyx_n_s_MouseDownHandler____reduce_cytho;
  PyObject *__pyx_n_s_MouseDownHandler____setstate_cyt;
  PyObject *__pyx_n_s_MouseDragHandler;
  PyObject *__pyx_n_s_MouseDragHandler____reduce_cytho;
  PyObject *__pyx_n_s_MouseDragHandler____setstate_cyt;
  PyObject *__pyx_n_s_MouseMoveHandler;
  PyObject *__pyx_n_s_MouseMoveHandler___reduce_cython;
  PyObject *__pyx_n_s_MouseMoveHandler___setstate_cyth;
  PyObject *__pyx_n_s_MouseReleaseHandler;
  PyObject *__pyx_n_s_MouseReleaseHandler____reduce_cy;
  PyObject *__pyx_n_s_MouseReleaseHandler____setstate;
  PyObject *__pyx_n_s_MouseWheelHandler;
  PyObject *__pyx_n_s_MouseWheelHandler___reduce_cytho;
  PyObject *__pyx_n_s_MouseWheelHandler___setstate_cyt;
  PyObject *__pyx_n_s_N;
  PyObject *__pyx_kp_u_None;
  PyObject *__pyx_n_s_NotAllowed;
  PyObject *__pyx_n_b_O;
  PyObject *__pyx_kp_u_Objects_of_type;
  PyObject *__pyx_n_s_OrderedDict;
  PyObject *__pyx_kp_u_Out_of_bounds_on_buffer_access_a;
  PyObject *__pyx_kp_u_Outside_range;
  PyObject *__pyx_n_s_PermissionError;
  PyObject *__pyx_n_s_PickleError;
  PyObject *__pyx_n_s_PlaceHolderParent;
  PyObject *__pyx_n_s_PlaceHolderParent___reduce_cytho;
  PyObject *__pyx_n_s_PlaceHolderParent___setstate_cyt;
  PyObject *__pyx_n_s_Plot;
  PyObject *__pyx_n_s_PlotAxisConfig;
  PyObject *__pyx_n_s_PlotAxisConfig___reduce_cython;
  PyObject *__pyx_n_s_PlotAxisConfig___setstate_cython;
  PyObject *__pyx_n_s_PlotAxisConfig_fit;
  PyObject *__pyx_n_s_PlotBars;
  PyObject *__pyx_n_s_PlotBars___reduce_cython;
  PyObject *__pyx_n_s_PlotBars___setstate_cython;
  PyObject *__pyx_n_s_PlotInfLines;
  PyObject *__pyx_n_s_PlotInfLines___reduce_cython;
  PyObject *__pyx_n_s_PlotInfLines___setstate_cython;
  PyObject *__pyx_n_s_PlotLegendConfig;
  PyObject *__pyx_n_s_PlotLegendConfig___reduce_cython;
  PyObject *__pyx_n_s_PlotLegendConfig___setstate_cyth;
  PyObject *__pyx_n_s_PlotLine;
  PyObject *__pyx_n_s_PlotLine___reduce_cython;
  PyObject *__pyx_n_s_PlotLine___setstate_cython;
  PyObject *__pyx_n_s_PlotScatter;
  PyObject *__pyx_n_s_PlotScatter___reduce_cython;
  PyObject *__pyx_n_s_PlotScatter___setstate_cython;
  PyObject *__pyx_n_s_PlotShadedLine;
  PyObject *__pyx_n_s_PlotShadedLine___reduce_cython;
  PyObject *__pyx_n_s_PlotShadedLine___setstate_cython;
  PyObject *__pyx_n_s_PlotStairs;
  PyObject *__pyx_n_s_PlotStairs___reduce_cython;
  PyObject *__pyx_n_s_PlotStairs___setstate_cython;
  PyObject *__pyx_n_s_PlotStems;
  PyObject *__pyx_n_s_PlotStems___reduce_cython;
  PyObject *__pyx_n_s_PlotStems___setstate_cython;
  PyObject *__pyx_n_s_Plot___reduce_cython;
  PyObject *__pyx_n_s_Plot___setstate_cython;
  PyObject *__pyx_kp_u_Point_data_must_be_an_array_of_u;
  PyObject *__pyx_kp_u_Point_data_must_be_an_array_of_u_2;
  PyObject *__pyx_kp_u_ProggyClean_ttf;
  PyObject *__pyx_n_s_ProgressBar;
  PyObject *__pyx_n_s_ProgressBar___reduce_cython;
  PyObject *__pyx_n_s_ProgressBar___setstate_cython;
  PyObject *__pyx_kp_u_Provided_context_is_not_a_valid;
  PyObject *__pyx_n_s_Pyx_EnumBase;
  PyObject *__pyx_n_s_Pyx_EnumBase___new;
  PyObject *__pyx_n_s_Pyx_EnumBase___repr;
  PyObject *__pyx_n_s_Pyx_EnumBase___str;
  PyObject *__pyx_n_s_Pyx_EnumMeta___reduce_cython;
  PyObject *__pyx_n_s_Pyx_EnumMeta___setstate_cython;
  PyObject *__pyx_n_s_Pyx_FlagBase;
  PyObject *__pyx_n_s_Pyx_FlagBase___new;
  PyObject *__pyx_n_s_Pyx_FlagBase___repr;
  PyObject *__pyx_n_s_Pyx_FlagBase___str;
  PyObject *__pyx_n_s_REL_DEFAULT;
  PyObject *__pyx_n_s_REL_PARENT;
  PyObject *__pyx_n_s_REL_VIEWPORT;
  PyObject *__pyx_n_s_REL_WINDOW;
  PyObject *__pyx_n_s_RIGHT;
  PyObject *__pyx_n_s_RadioButton;
  PyObject *__pyx_n_s_RadioButton___reduce_cython;
  PyObject *__pyx_n_s_RadioButton___setstate_cython;
  PyObject *__pyx_kp_u_Received;
  PyObject *__pyx_n_s_ResizeAll;
  PyObject *__pyx_n_s_ResizeEW;
  PyObject *__pyx_n_s_ResizeNESW;
  PyObject *__pyx_n_s_ResizeNS;
  PyObject *__pyx_n_s_ResizeNWSE;
  PyObject *__pyx_n_s_RuntimeError;
  PyObject *__pyx_n_s_Selectable;
  PyObject *__pyx_n_s_Selectable___reduce_cython;
  PyObject *__pyx_n_s_Selectable___setstate_cython;
  PyObject *__pyx_n_s_Separator;
  PyObject *__pyx_n_s_Separator___reduce_cython;
  PyObject *__pyx_n_s_Separator___setstate_cython;
  PyObject *__pyx_n_s_Sequence;
  PyObject *__pyx_n_s_SharedBool;
  PyObject *__pyx_n_s_SharedBool___reduce_cython;
  PyObject *__pyx_n_s_SharedBool___setstate_cython;
  PyObject *__pyx_n_s_SharedColor;
  PyObject *__pyx_n_s_SharedColor___reduce_cython;
  PyObject *__pyx_n_s_SharedColor___setstate_cython;
  PyObject *__pyx_n_s_SharedDouble;
  PyObject *__pyx_n_s_SharedDouble4;
  PyObject *__pyx_n_s_SharedDouble4___reduce_cython;
  PyObject *__pyx_n_s_SharedDouble4___setstate_cython;
  PyObject *__pyx_n_s_SharedDouble___reduce_cython;
  PyObject *__pyx_n_s_SharedDouble___setstate_cython;
  PyObject *__pyx_n_s_SharedFloat;
  PyObject *__pyx_n_s_SharedFloat4;
  PyObject *__pyx_n_s_SharedFloat4___reduce_cython;
  PyObject *__pyx_n_s_SharedFloat4___setstate_cython;
  PyObject *__pyx_n_s_SharedFloatVect;
  PyObject *__pyx_n_s_SharedFloatVect___reduce_cython;
  PyObject *__pyx_n_s_SharedFloatVect___setstate_cytho;
  PyObject *__pyx_n_s_SharedFloat___reduce_cython;
  PyObject *__pyx_n_s_SharedFloat___setstate_cython;
  PyObject *__pyx_n_s_SharedInt;
  PyObject *__pyx_n_s_SharedInt4;
  PyObject *__pyx_n_s_SharedInt4___reduce_cython;
  PyObject *__pyx_n_s_SharedInt4___setstate_cython;
  PyObject *__pyx_n_s_SharedInt___reduce_cython;
  PyObject *__pyx_n_s_SharedInt___setstate_cython;
  PyObject *__pyx_n_s_SharedStr;
  PyObject *__pyx_n_s_SharedStr___reduce_cython;
  PyObject *__pyx_n_s_SharedStr___setstate_cython;
  PyObject *__pyx_n_s_SharedValue;
  PyObject *__pyx_n_s_SharedValue___reduce_cython;
  PyObject *__pyx_n_s_SharedValue___setstate_cython;
  PyObject *__pyx_kp_u_Shared_value_is_empty_Cannot_set;
  PyObject *__pyx_n_s_SimplePlot;
  PyObject *__pyx_n_s_SimplePlot___reduce_cython;
  PyObject *__pyx_n_s_SimplePlot___setstate_cython;
  PyObject *__pyx_n_s_SimplePlot_configure;
  PyObject *__pyx_n_s_Slider;
  PyObject *__pyx_n_s_Slider___reduce_cython;
  PyObject *__pyx_n_s_Slider___setstate_cython;
  PyObject *__pyx_n_s_Slider_configure;
  PyObject *__pyx_n_s_Spacer;
  PyObject *__pyx_n_s_Spacer___reduce_cython;
  PyObject *__pyx_n_s_Spacer___setstate_cython;
  PyObject *__pyx_kp_s_Step_may_not_be_zero_axis_d;
  PyObject *__pyx_n_s_TOP;
  PyObject *__pyx_n_s_Tab;
  PyObject *__pyx_n_s_TabBar;
  PyObject *__pyx_n_s_TabBar___reduce_cython;
  PyObject *__pyx_n_s_TabBar___setstate_cython;
  PyObject *__pyx_n_s_TabButton;
  PyObject *__pyx_n_s_TabButton___reduce_cython;
  PyObject *__pyx_n_s_TabButton___setstate_cython;
  PyObject *__pyx_n_s_Tab___reduce_cython;
  PyObject *__pyx_n_s_Tab___setstate_cython;
  PyObject *__pyx_kp_u_Tag;
  PyObject *__pyx_kp_u_Target_texture_is_read_only;
  PyObject *__pyx_n_s_Text;
  PyObject *__pyx_n_s_Text___reduce_cython;
  PyObject *__pyx_n_s_Text___setstate_cython;
  PyObject *__pyx_n_s_Texture;
  PyObject *__pyx_n_s_Texture___delalloc;
  PyObject *__pyx_n_s_Texture___reduce_cython;
  PyObject *__pyx_n_s_Texture___setstate_cython;
  PyObject *__pyx_n_s_Texture_configure;
  PyObject *__pyx_kp_u_Texture_not_yet_built;
  PyObject *__pyx_n_s_Texture_set_value;
  PyObject *__pyx_kp_u_The_viewport_must_be_initialized;
  PyObject *__pyx_kp_u_The_viewport_must_be_not_be_init;
  PyObject *__pyx_kp_u_There_must_be_at_least_space_for;
  PyObject *__pyx_n_s_ThreadPoolExecutor;
  PyObject *__pyx_n_s_TimeWatcher;
  PyObject *__pyx_n_s_TimeWatcher___reduce_cython;
  PyObject *__pyx_n_s_TimeWatcher___setstate_cython;
  PyObject *__pyx_n_s_Tooltip;
  PyObject *__pyx_n_s_Tooltip___reduce_cython;
  PyObject *__pyx_n_s_Tooltip___setstate_cython;
  PyObject *__pyx_n_s_TreeNode;
  PyObject *__pyx_n_s_TreeNode___reduce_cython;
  PyObject *__pyx_n_s_TreeNode___setstate_cython;
  PyObject *__pyx_kp_u_Trying_to_attach_a_deleted_item;
  PyObject *__pyx_kp_u_Trying_to_attach_to_None;
  PyObject *__pyx_kp_u_Trying_to_attach_to_a_deleted_it;
  PyObject *__pyx_kp_u_Trying_to_attach_to_an_un_attach;
  PyObject *__pyx_kp_u_Trying_to_lock_parent_mutex_whil;
  PyObject *__pyx_n_s_TypeError;
  PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;
  PyObject *__pyx_kp_u_Uninitialized_font;
  PyObject *__pyx_kp_s_Unknown_enum_value_s;
  PyObject *__pyx_kp_u_Unused_configure_parameters;
  PyObject *__pyx_n_s_ValueError;
  PyObject *__pyx_n_s_VerticalLayout;
  PyObject *__pyx_n_s_VerticalLayout___reduce_cython;
  PyObject *__pyx_n_s_VerticalLayout___setstate_cython;
  PyObject *__pyx_n_s_VerticalLayout_update_layout;
  PyObject *__pyx_n_s_View_MemoryView;
  PyObject *__pyx_n_s_Viewport;
  PyObject *__pyx_n_s_ViewportDrawList;
  PyObject *__pyx_n_s_ViewportDrawList____reduce_cytho;
  PyObject *__pyx_n_s_ViewportDrawList____setstate_cyt;
  PyObject *__pyx_n_s_Viewport___reduce_cython;
  PyObject *__pyx_n_s_Viewport___setstate_cython;
  PyObject *__pyx_kp_u_Viewport_already_initialized;
  PyObject *__pyx_n_s_Viewport_configure;
  PyObject *__pyx_n_s_Viewport_initialize;
  PyObject *__pyx_n_s_Viewport_render_frame;
  PyObject *__pyx_n_s_Viewport_wake;
  PyObject *__pyx_kp_u_Warning_self_cannot_have_childre;
  PyObject *__pyx_n_s_WeakValueDictionary;
  PyObject *__pyx_n_s_Window;
  PyObject *__pyx_n_s_Window___reduce_cython;
  PyObject *__pyx_n_s_Window___setstate_cython;
  PyObject *__pyx_kp_u_Window_must_be_attached_before_b;
  PyObject *__pyx_n_s_X1;
  PyObject *__pyx_n_s_X2;
  PyObject *__pyx_n_s_X3;
  PyObject *__pyx_n_s_Y1;
  PyObject *__pyx_n_s_Y2;
  PyObject *__pyx_n_s_Y3;
  PyObject *__pyx_kp_u_You_must_add_fonts_first;
  PyObject *__pyx_kp_u__3;
  PyObject *__pyx_kp_u__4;
  PyObject *__pyx_n_s__401;
  PyObject *__pyx_kp_u__42;
  PyObject *__pyx_kp_u__44;
  PyObject *__pyx_n_s__5;
  PyObject *__pyx_kp_u__8;
  PyObject *__pyx_kp_u__9;
  PyObject *__pyx_n_s_abc;
  PyObject *__pyx_n_u_active_windows;
  PyObject *__pyx_n_s_add_font_file;
  PyObject *__pyx_n_s_alignment;
  PyObject *__pyx_n_s_allocate_buffer;
  PyObject *__pyx_kp_u_already_has_a_parent;
  PyObject *__pyx_kp_u_already_in_use;
  PyObject *__pyx_kp_u_and;
  PyObject *__pyx_n_s_append;
  PyObject *__pyx_n_s_args;
  PyObject *__pyx_n_s_array;
  PyObject *__pyx_kp_u_as_it_was_not_created_in_the_sa;
  PyObject *__pyx_kp_u_as_the_user_holds_a_lock_on;
  PyObject *__pyx_n_s_asarray;
  PyObject *__pyx_n_s_ascontiguousarray;
  PyObject *__pyx_n_s_asyncio_coroutines;
  PyObject *__pyx_n_u_attach;
  PyObject *__pyx_n_s_attach_before;
  PyObject *__pyx_n_s_attach_to_parent;
  PyObject *__pyx_n_u_autosize;
  PyObject *__pyx_n_s_backend_m;
  PyObject *__pyx_n_s_base;
  PyObject *__pyx_n_s_baseHandler;
  PyObject *__pyx_n_s_baseHandler___reduce_cython;
  PyObject *__pyx_n_s_baseHandler___setstate_cython;
  PyObject *__pyx_n_s_baseItem;
  PyObject *__pyx_n_s_baseItem___enter;
  PyObject *__pyx_n_s_baseItem___exit;
  PyObject *__pyx_n_s_baseItem___reduce_cython;
  PyObject *__pyx_n_s_baseItem___setstate_cython;
  PyObject *__pyx_n_s_baseItem_attach_before;
  PyObject *__pyx_n_s_baseItem_attach_to_parent;
  PyObject *__pyx_n_s_baseItem_configure;
  PyObject *__pyx_n_s_baseItem_delete_item;
  PyObject *__pyx_n_s_baseItem_detach_item;
  PyObject *__pyx_n_s_baseItem_lock_mutex;
  PyObject *__pyx_n_s_baseItem_unlock_mutex;
  PyObject *__pyx_n_s_baseTheme;
  PyObject *__pyx_n_s_baseTheme___reduce_cython;
  PyObject *__pyx_n_s_baseTheme___setstate_cython;
  PyObject *__pyx_n_s_baseTheme_configure;
  PyObject *__pyx_n_s_before;
  PyObject *__pyx_n_u_before;
  PyObject *__pyx_n_s_bpp;
  PyObject *__pyx_n_s_build;
  PyObject *__pyx_kp_u_but_not;
  PyObject *__pyx_kp_u_but_not_in_the_same_threads;
  PyObject *__pyx_n_s_button;
  PyObject *__pyx_n_s_c;
  PyObject *__pyx_n_u_c;
  PyObject *__pyx_n_s_call_info;
  PyObject *__pyx_n_s_callback;
  PyObject *__pyx_n_u_callback;
  PyObject *__pyx_n_s_callback_2;
  PyObject *__pyx_n_s_callbacks;
  PyObject *__pyx_n_s_can_skip_presenting;
  PyObject *__pyx_kp_u_cannot_be_disabled;
  PyObject *__pyx_n_s_center;
  PyObject *__pyx_kp_u_children_must_be_a_array_of_chil;
  PyObject *__pyx_n_s_class;
  PyObject *__pyx_n_s_class_getitem;
  PyObject *__pyx_n_s_cline_in_traceback;
  PyObject *__pyx_n_s_cls;
  PyObject *__pyx_n_s_co_argcount;
  PyObject *__pyx_n_s_code;
  PyObject *__pyx_n_s_collections;
  PyObject *__pyx_kp_s_collections_abc;
  PyObject *__pyx_n_s_color;
  PyObject *__pyx_n_s_color_as_floats;
  PyObject *__pyx_n_s_color_as_int;
  PyObject *__pyx_n_s_color_as_ints;
  PyObject *__pyx_n_s_color_vec;
  PyObject *__pyx_n_s_concurrent_futures;
  PyObject *__pyx_n_s_config;
  PyObject *__pyx_n_s_configure;
  PyObject *__pyx_n_s_context;
  PyObject *__pyx_kp_s_contiguous_and_direct;
  PyObject *__pyx_kp_s_contiguous_and_indirect;
  PyObject *__pyx_n_s_copy;
  PyObject *__pyx_n_s_count;
  PyObject *__pyx_n_s_current_time;
  PyObject *__pyx_kp_b_d;
  PyObject *__pyx_n_s_data;
  PyObject *__pyx_n_s_data_array;
  PyObject *__pyx_n_s_dct;
  PyObject *__pyx_kp_s_dearcygui_core;
  PyObject *__pyx_kp_s_dearcygui_core_pyx;
  PyObject *__pyx_n_s_default_dir;
  PyObject *__pyx_n_s_default_font_texture;
  PyObject *__pyx_n_s_defaults;
  PyObject *__pyx_n_s_delalloc;
  PyObject *__pyx_n_s_delete_item;
  PyObject *__pyx_n_s_delta;
  PyObject *__pyx_n_u_delta_event_handling;
  PyObject *__pyx_n_u_delta_presenting;
  PyObject *__pyx_n_u_delta_rendering;
  PyObject *__pyx_n_u_delta_whole_frame;
  PyObject *__pyx_n_s_density_scale;
  PyObject *__pyx_n_s_detach_item;
  PyObject *__pyx_n_s_dict;
  PyObject *__pyx_n_u_dict;
  PyObject *__pyx_n_s_dict_2;
  PyObject *__pyx_n_s_dir;
  PyObject *__pyx_n_s_dirname;
  PyObject *__pyx_kp_u_disable;
  PyObject *__pyx_n_s_doc;
  PyObject *__pyx_kp_u_does_not_exist;
  PyObject *__pyx_n_u_double;
  PyObject *__pyx_n_s_drawingItem;
  PyObject *__pyx_n_s_drawingItem___reduce_cython;
  PyObject *__pyx_n_s_drawingItem___setstate_cython;
  PyObject *__pyx_n_s_dtype;
  PyObject *__pyx_n_s_dtype_is_object;
  PyObject *__pyx_n_s_e;
  PyObject *__pyx_n_s_east;
  PyObject *__pyx_kp_u_enable;
  PyObject *__pyx_n_s_enabled;
  PyObject *__pyx_n_u_enabled;
  PyObject *__pyx_n_s_encode;
  PyObject *__pyx_n_s_encoding;
  PyObject *__pyx_n_s_enter;
  PyObject *__pyx_n_s_enum;
  PyObject *__pyx_n_s_enumerate;
  PyObject *__pyx_n_s_error;
  PyObject *__pyx_n_s_exc_type;
  PyObject *__pyx_n_s_exc_value;
  PyObject *__pyx_n_s_exists;
  PyObject *__pyx_n_s_exit;
  PyObject *__pyx_n_s_fetch_last_created_container;
  PyObject *__pyx_n_s_fetch_last_created_item;
  PyObject *__pyx_n_s_fetch_parent_queue_back;
  PyObject *__pyx_n_s_fetch_parent_queue_front;
  PyObject *__pyx_n_s_file;
  PyObject *__pyx_n_s_find_system_fonts_filename;
  PyObject *__pyx_n_s_fit;
  PyObject *__pyx_n_s_flags;
  PyObject *__pyx_n_u_float;
  PyObject *__pyx_n_s_float32;
  PyObject *__pyx_n_s_float64;
  PyObject *__pyx_n_s_font;
  PyObject *__pyx_n_s_font_object;
  PyObject *__pyx_n_s_fonts_filename;
  PyObject *__pyx_kp_u_for;
  PyObject *__pyx_n_s_format;
  PyObject *__pyx_n_u_format;
  PyObject *__pyx_n_s_format_exc;
  PyObject *__pyx_n_s_fortran;
  PyObject *__pyx_n_u_fortran;
  PyObject *__pyx_n_u_frame_count;
  PyObject *__pyx_kp_u_gc;
  PyObject *__pyx_n_s_get;
  PyObject *__pyx_n_s_get_mouse_clicked_count;
  PyObject *__pyx_n_s_get_mouse_drag_delta;
  PyObject *__pyx_n_s_get_mouse_position;
  PyObject *__pyx_n_s_get_system_fonts;
  PyObject *__pyx_n_s_get_system_fonts_filename;
  PyObject *__pyx_n_s_getstate;
  PyObject *__pyx_kp_u_got;
  PyObject *__pyx_kp_u_got_differing_extents_in_dimensi;
  PyObject *__pyx_n_s_height;
  PyObject *__pyx_n_s_hint_dynamic;
  PyObject *__pyx_n_s_histogram;
  PyObject *__pyx_n_s_i;
  PyObject *__pyx_n_s_id;
  PyObject *__pyx_n_s_ignore_if_fail;
  PyObject *__pyx_n_s_imgui_m;
  PyObject *__pyx_n_s_import;
  PyObject *__pyx_n_s_index;
  PyObject *__pyx_n_s_index_in_file;
  PyObject *__pyx_n_s_init;
  PyObject *__pyx_n_s_init_subclass;
  PyObject *__pyx_n_s_initialize;
  PyObject *__pyx_n_s_initializing;
  PyObject *__pyx_n_u_int;
  PyObject *__pyx_kp_u_is_an_invalid_index_type;
  PyObject *__pyx_n_s_is_coroutine;
  PyObject *__pyx_n_s_is_key_down;
  PyObject *__pyx_n_s_is_key_pressed;
  PyObject *__pyx_n_s_is_key_released;
  PyObject *__pyx_n_s_is_mouse_clicked;
  PyObject *__pyx_n_s_is_mouse_double_clicked;
  PyObject *__pyx_n_s_is_mouse_down;
  PyObject *__pyx_n_s_is_mouse_dragging;
  PyObject *__pyx_n_s_is_mouse_released;
  PyObject *__pyx_kp_u_is_not_a_compatible_item_instan;
  PyObject *__pyx_kp_u_is_not_a_handler;
  PyObject *__pyx_kp_u_isenabled;
  PyObject *__pyx_n_s_item;
  PyObject *__pyx_n_s_items;
  PyObject *__pyx_n_s_itemsize;
  PyObject *__pyx_kp_s_itemsize_0_for_cython_array;
  PyObject *__pyx_n_s_join;
  PyObject *__pyx_n_s_key;
  PyObject *__pyx_n_s_keymod;
  PyObject *__pyx_n_s_keys;
  PyObject *__pyx_n_s_kwargs;
  PyObject *__pyx_n_u_large;
  PyObject *__pyx_n_u_largest;
  PyObject *__pyx_n_s_last_container_uuid;
  PyObject *__pyx_n_u_last_container_uuid;
  PyObject *__pyx_n_s_last_item_uuid;
  PyObject *__pyx_n_u_last_item_uuid;
  PyObject *__pyx_n_u_last_time_after_rendering;
  PyObject *__pyx_n_u_last_time_after_swapping;
  PyObject *__pyx_n_u_last_time_before_event_handling;
  PyObject *__pyx_n_u_last_time_before_rendering;
  PyObject *__pyx_kp_b_ld;
  PyObject *__pyx_n_u_len;
  PyObject *__pyx_n_s_linear;
  PyObject *__pyx_n_s_local;
  PyObject *__pyx_n_s_lock_mutex;
  PyObject *__pyx_n_s_lock_threshold;
  PyObject *__pyx_n_s_locked;
  PyObject *__pyx_n_s_log10;
  PyObject *__pyx_n_s_logarithmic;
  PyObject *__pyx_n_u_logarithmic;
  PyObject *__pyx_n_s_m;
  PyObject *__pyx_n_s_m2;
  PyObject *__pyx_n_s_m3;
  PyObject *__pyx_n_s_main;
  PyObject *__pyx_n_u_max_clamped;
  PyObject *__pyx_n_s_max_workers;
  PyObject *__pyx_n_s_maximized;
  PyObject *__pyx_n_u_maxv;
  PyObject *__pyx_n_s_member_names;
  PyObject *__pyx_n_s_members;
  PyObject *__pyx_n_s_memview;
  PyObject *__pyx_n_s_metaclass;
  PyObject *__pyx_n_u_min_clamped;
  PyObject *__pyx_n_s_minimized;
  PyObject *__pyx_n_u_minv;
  PyObject *__pyx_n_s_mode;
  PyObject *__pyx_n_s_module;
  PyObject *__pyx_n_s_module_2;
  PyObject *__pyx_n_s_mouse_cursor;
  PyObject *__pyx_n_s_mro_entries;
  PyObject *__pyx_n_s_multiline;
  PyObject *__pyx_n_s_name;
  PyObject *__pyx_n_s_name_2;
  PyObject *__pyx_n_s_ndim;
  PyObject *__pyx_n_u_nearest_neighbor_upsampling;
  PyObject *__pyx_n_s_new;
  PyObject *__pyx_n_s_next_parent;
  PyObject *__pyx_n_s_nlocked;
  PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
  PyObject *__pyx_n_s_north;
  PyObject *__pyx_n_s_northeast;
  PyObject *__pyx_n_s_northwest;
  PyObject *__pyx_n_s_np;
  PyObject *__pyx_n_s_num_attached;
  PyObject *__pyx_n_s_numpy;
  PyObject *__pyx_kp_u_numpy__core_multiarray_failed_to;
  PyObject *__pyx_kp_u_numpy__core_umath_failed_to_impo;
  PyObject *__pyx_n_s_obj;
  PyObject *__pyx_n_s_os;
  PyObject *__pyx_n_s_pack;
  PyObject *__pyx_kp_u_pan_mod_must_be_a_combinaison_of;
  PyObject *__pyx_n_s_parent;
  PyObject *__pyx_n_u_parent;
  PyObject *__pyx_n_s_parent_queue;
  PyObject *__pyx_n_u_parent_queue;
  PyObject *__pyx_n_s_parents;
  PyObject *__pyx_kp_u_passed_as_items_Expected_array;
  PyObject *__pyx_kp_u_passed_as_labels_Expected_array;
  PyObject *__pyx_kp_u_passed_as_labels_coord_Expected;
  PyObject *__pyx_kp_u_passed_to;
  PyObject *__pyx_n_s_path;
  PyObject *__pyx_n_s_path_string;
  PyObject *__pyx_n_s_pickle;
  PyObject *__pyx_n_s_plotElement;
  PyObject *__pyx_n_s_plotElementWithLegend;
  PyObject *__pyx_n_s_plotElementWithLegend___reduce_c;
  PyObject *__pyx_n_s_plotElementWithLegend___setstate;
  PyObject *__pyx_n_s_plotElementX;
  PyObject *__pyx_n_s_plotElementXY;
  PyObject *__pyx_n_s_plotElementXYY;
  PyObject *__pyx_n_s_plotElementXYY___reduce_cython;
  PyObject *__pyx_n_s_plotElementXYY___setstate_cython;
  PyObject *__pyx_n_s_plotElementXY___reduce_cython;
  PyObject *__pyx_n_s_plotElementXY___setstate_cython;
  PyObject *__pyx_n_s_plotElementX___reduce_cython;
  PyObject *__pyx_n_s_plotElementX___setstate_cython;
  PyObject *__pyx_n_s_plotElement___reduce_cython;
  PyObject *__pyx_n_s_plotElement___setstate_cython;
  PyObject *__pyx_n_s_pop;
  PyObject *__pyx_n_s_pop_next_parent;
  PyObject *__pyx_n_s_pos;
  PyObject *__pyx_n_u_pos;
  PyObject *__pyx_n_s_pos_to_window;
  PyObject *__pyx_n_s_positioning;
  PyObject *__pyx_n_s_prepare;
  PyObject *__pyx_n_s_print;
  PyObject *__pyx_n_s_push_next_parent;
  PyObject *__pyx_n_s_python_time;
  PyObject *__pyx_n_s_pyx_PickleError;
  PyObject *__pyx_n_s_pyx_checksum;
  PyObject *__pyx_n_s_pyx_result;
  PyObject *__pyx_n_s_pyx_state;
  PyObject *__pyx_n_s_pyx_type;
  PyObject *__pyx_n_s_pyx_unpickle_Enum;
  PyObject *__pyx_n_s_pyx_unpickle___Pyx_EnumMeta;
  PyObject *__pyx_n_s_pyx_vtable;
  PyObject *__pyx_n_s_qualname;
  PyObject *__pyx_n_s_queue;
  PyObject *__pyx_kp_u_queue_must_be_a_subclass_of_conc;
  PyObject *__pyx_kp_u_raised_exception;
  PyObject *__pyx_n_s_range;
  PyObject *__pyx_n_s_reduce;
  PyObject *__pyx_n_s_reduce_cython;
  PyObject *__pyx_n_s_reduce_ex;
  PyObject *__pyx_n_s_register;
  PyObject *__pyx_n_u_regular;
  PyObject *__pyx_n_s_remaining;
  PyObject *__pyx_n_s_render_frame;
  PyObject *__pyx_n_u_rendered_indices;
  PyObject *__pyx_n_u_rendered_vertices;
  PyObject *__pyx_n_u_rendered_windows;
  PyObject *__pyx_n_s_repeat;
  PyObject *__pyx_n_s_repr;
  PyObject *__pyx_n_s_res;
  PyObject *__pyx_n_s_reset_mouse_drag_delta;
  PyObject *__pyx_n_s_reshape;
  PyObject *__pyx_n_s_resize_callback;
  PyObject *__pyx_n_s_results;
  PyObject *__pyx_n_s_reverse;
  PyObject *__pyx_n_s_round;
  PyObject *__pyx_kp_u_round_to_format_cannot_be_enable;
  PyObject *__pyx_kp_s_s_s;
  PyObject *__pyx_kp_s_s_s_d;
  PyObject *__pyx_n_u_scaleMax;
  PyObject *__pyx_n_u_scaleMin;
  PyObject *__pyx_n_s_sched_yield;
  PyObject *__pyx_n_s_scipy;
  PyObject *__pyx_n_s_scipy_spatial;
  PyObject *__pyx_n_s_self;
  PyObject *__pyx_n_u_self_2;
  PyObject *__pyx_n_s_self_m;
  PyObject *__pyx_n_s_set_name;
  PyObject *__pyx_n_s_set_value;
  PyObject *__pyx_n_s_setstate;
  PyObject *__pyx_n_s_setstate_cython;
  PyObject *__pyx_n_s_shape;
  PyObject *__pyx_n_s_shareable_value;
  PyObject *__pyx_n_s_should_attach;
  PyObject *__pyx_n_s_should_present;
  PyObject *__pyx_n_u_show;
  PyObject *__pyx_n_s_shutdown;
  PyObject *__pyx_n_s_simplices;
  PyObject *__pyx_n_s_size;
  PyObject *__pyx_n_u_size;
  PyObject *__pyx_n_s_sleep;
  PyObject *__pyx_n_u_small;
  PyObject *__pyx_n_s_source;
  PyObject *__pyx_n_u_source;
  PyObject *__pyx_n_s_source_item;
  PyObject *__pyx_n_s_south;
  PyObject *__pyx_n_s_southeast;
  PyObject *__pyx_n_s_southwest;
  PyObject *__pyx_n_s_spatial;
  PyObject *__pyx_n_s_spec;
  PyObject *__pyx_n_s_start;
  PyObject *__pyx_n_s_state;
  PyObject *__pyx_n_s_step;
  PyObject *__pyx_n_s_stop;
  PyObject *__pyx_n_s_str;
  PyObject *__pyx_kp_s_strided_and_direct;
  PyObject *__pyx_kp_s_strided_and_direct_or_indirect;
  PyObject *__pyx_kp_s_strided_and_indirect;
  PyObject *__pyx_kp_s_stringsource;
  PyObject *__pyx_n_s_struct;
  PyObject *__pyx_n_s_submit;
  PyObject *__pyx_n_s_subpixel;
  PyObject *__pyx_n_s_success;
  PyObject *__pyx_n_s_super;
  PyObject *__pyx_n_s_symlog;
  PyObject *__pyx_n_s_sys;
  PyObject *__pyx_n_s_t_any;
  PyObject *__pyx_n_s_t_button;
  PyObject *__pyx_n_s_t_checkbox;
  PyObject *__pyx_n_s_t_child;
  PyObject *__pyx_n_s_t_collapsingheader;
  PyObject *__pyx_n_s_t_colorbutton;
  PyObject *__pyx_n_s_t_coloredit;
  PyObject *__pyx_n_s_t_colorpicker;
  PyObject *__pyx_n_s_t_combo;
  PyObject *__pyx_n_s_t_discarded;
  PyObject *__pyx_n_s_t_enabled_False;
  PyObject *__pyx_n_s_t_enabled_True;
  PyObject *__pyx_n_s_t_enabled_any;
  PyObject *__pyx_n_s_t_image;
  PyObject *__pyx_n_s_t_imagebutton;
  PyObject *__pyx_n_s_t_inputtext;
  PyObject *__pyx_n_s_t_inputvalue;
  PyObject *__pyx_n_s_t_layout;
  PyObject *__pyx_n_s_t_listbox;
  PyObject *__pyx_n_s_t_menu;
  PyObject *__pyx_n_s_t_menubar;
  PyObject *__pyx_n_s_t_menuitem;
  PyObject *__pyx_n_s_t_plot;
  PyObject *__pyx_n_s_t_progressbar;
  PyObject *__pyx_n_s_t_radiobutton;
  PyObject *__pyx_n_s_t_selectable;
  PyObject *__pyx_n_s_t_simpleplot;
  PyObject *__pyx_n_s_t_slider;
  PyObject *__pyx_n_s_t_tab;
  PyObject *__pyx_n_s_t_tabbar;
  PyObject *__pyx_n_s_t_tabbutton;
  PyObject *__pyx_n_s_t_text;
  PyObject *__pyx_n_s_t_tooltip;
  PyObject *__pyx_n_s_t_treenode;
  PyObject *__pyx_n_s_t_window;
  PyObject *__pyx_n_s_target;
  PyObject *__pyx_kp_u_target_before_cannot_be_None;
  PyObject *__pyx_n_s_target_item;
  PyObject *__pyx_n_s_test;
  PyObject *__pyx_kp_u_texture_must_be_a_Texture;
  PyObject *__pyx_n_s_theme_categories;
  PyObject *__pyx_n_s_theme_enablers;
  PyObject *__pyx_n_s_threading;
  PyObject *__pyx_n_s_time;
  PyObject *__pyx_kp_u_to;
  PyObject *__pyx_n_s_traceback;
  PyObject *__pyx_n_s_uiItem;
  PyObject *__pyx_n_s_uiItem___dir;
  PyObject *__pyx_n_s_uiItem___reduce_cython;
  PyObject *__pyx_n_s_uiItem___setstate_cython;
  PyObject *__pyx_n_s_uiItem_configure;
  PyObject *__pyx_n_s_uint8;
  PyObject *__pyx_kp_s_unable_to_allocate_array_data;
  PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;
  PyObject *__pyx_n_s_unlock_mutex;
  PyObject *__pyx_n_s_unpack;
  PyObject *__pyx_n_s_update;
  PyObject *__pyx_n_s_update_layout;
  PyObject *__pyx_n_s_use_setstate;
  PyObject *__pyx_n_s_user_data;
  PyObject *__pyx_kp_u_utf_8;
  PyObject *__pyx_n_s_uuid;
  PyObject *__pyx_n_s_v;
  PyObject *__pyx_n_s_val;
  PyObject *__pyx_n_s_value;
  PyObject *__pyx_n_s_values;
  PyObject *__pyx_n_s_version_info;
  PyObject *__pyx_n_s_wait;
  PyObject *__pyx_n_s_wake;
  PyObject *__pyx_n_s_weakref;
  PyObject *__pyx_n_s_west;
  PyObject *__pyx_n_s_width;
  PyObject *__pyx_n_s_wrap_mutex;
  PyObject *__pyx_n_s_wrap_mutex___enter;
  PyObject *__pyx_n_s_wrap_mutex___exit;
  PyObject *__pyx_n_s_wrap_mutex___init;
  PyObject *__pyx_n_s_wrap_this_and_parents_mutex;
  PyObject *__pyx_n_s_wrap_this_and_parents_mutex___en;
  PyObject *__pyx_n_s_wrap_this_and_parents_mutex___ex;
  PyObject *__pyx_n_s_wrap_this_and_parents_mutex___in;
  PyObject *__pyx_n_s_zeros;
  PyObject *__pyx_kp_u_zoom_mod_must_be_a_combinaison_o;
  PyObject *__pyx_float_0_;
  PyObject *__pyx_float_1_;
  PyObject *__pyx_float_2_;
  PyObject *__pyx_float_13_;
  PyObject *__pyx_float_100_;
  PyObject *__pyx_float_0_005;
  PyObject *__pyx_float_neg_1_;
  PyObject *__pyx_int_0;
  PyObject *__pyx_int_1;
  PyObject *__pyx_int_3;
  PyObject *__pyx_int_112105877;
  PyObject *__pyx_int_136983863;
  PyObject *__pyx_int_184977713;
  PyObject *__pyx_int_222419149;
  PyObject *__pyx_int_228825662;
  PyObject *__pyx_int_238750788;
  PyObject *__pyx_int_neg_1;
  PyObject *__pyx_slice__7;
  PyObject *__pyx_tuple__2;
  PyObject *__pyx_tuple__6;
  PyObject *__pyx_tuple__10;
  PyObject *__pyx_tuple__11;
  PyObject *__pyx_tuple__12;
  PyObject *__pyx_tuple__13;
  PyObject *__pyx_tuple__14;
  PyObject *__pyx_tuple__15;
  PyObject *__pyx_tuple__16;
  PyObject *__pyx_tuple__17;
  PyObject *__pyx_tuple__18;
  PyObject *__pyx_tuple__19;
  PyObject *__pyx_tuple__20;
  PyObject *__pyx_tuple__21;
  PyObject *__pyx_tuple__22;
  PyObject *__pyx_tuple__23;
  PyObject *__pyx_tuple__24;
  PyObject *__pyx_tuple__25;
  PyObject *__pyx_tuple__26;
  PyObject *__pyx_tuple__27;
  PyObject *__pyx_tuple__28;
  PyObject *__pyx_tuple__29;
  PyObject *__pyx_tuple__30;
  PyObject *__pyx_tuple__31;
  PyObject *__pyx_tuple__32;
  PyObject *__pyx_tuple__33;
  PyObject *__pyx_tuple__34;
  PyObject *__pyx_tuple__35;
  PyObject *__pyx_tuple__36;
  PyObject *__pyx_tuple__37;
  PyObject *__pyx_tuple__38;
  PyObject *__pyx_tuple__39;
  PyObject *__pyx_tuple__40;
  PyObject *__pyx_tuple__41;
  PyObject *__pyx_tuple__43;
  PyObject *__pyx_tuple__45;
  PyObject *__pyx_tuple__46;
  PyObject *__pyx_tuple__47;
  PyObject *__pyx_tuple__48;
  PyObject *__pyx_tuple__49;
  PyObject *__pyx_tuple__50;
  PyObject *__pyx_tuple__51;
  PyObject *__pyx_tuple__52;
  PyObject *__pyx_tuple__53;
  PyObject *__pyx_tuple__54;
  PyObject *__pyx_tuple__55;
  PyObject *__pyx_tuple__56;
  PyObject *__pyx_tuple__57;
  PyObject *__pyx_tuple__58;
  PyObject *__pyx_tuple__59;
  PyObject *__pyx_tuple__60;
  PyObject *__pyx_tuple__61;
  PyObject *__pyx_tuple__62;
  PyObject *__pyx_tuple__63;
  PyObject *__pyx_tuple__64;
  PyObject *__pyx_tuple__65;
  PyObject *__pyx_tuple__66;
  PyObject *__pyx_tuple__67;
  PyObject *__pyx_tuple__68;
  PyObject *__pyx_tuple__69;
  PyObject *__pyx_tuple__70;
  PyObject *__pyx_tuple__71;
  PyObject *__pyx_tuple__72;
  PyObject *__pyx_tuple__73;
  PyObject *__pyx_tuple__74;
  PyObject *__pyx_tuple__75;
  PyObject *__pyx_tuple__76;
  PyObject *__pyx_tuple__78;
  PyObject *__pyx_tuple__80;
  PyObject *__pyx_tuple__82;
  PyObject *__pyx_tuple__83;
  PyObject *__pyx_tuple__89;
  PyObject *__pyx_tuple__91;
  PyObject *__pyx_tuple__92;
  PyObject *__pyx_tuple__93;
  PyObject *__pyx_tuple__94;
  PyObject *__pyx_tuple__95;
  PyObject *__pyx_tuple__96;
  PyObject *__pyx_tuple__97;
  PyObject *__pyx_tuple__98;
  PyObject *__pyx_tuple__99;
  PyObject *__pyx_tuple__101;
  PyObject *__pyx_tuple__102;
  PyObject *__pyx_tuple__109;
  PyObject *__pyx_tuple__111;
  PyObject *__pyx_tuple__113;
  PyObject *__pyx_tuple__115;
  PyObject *__pyx_tuple__117;
  PyObject *__pyx_tuple__119;
  PyObject *__pyx_tuple__123;
  PyObject *__pyx_tuple__125;
  PyObject *__pyx_tuple__127;
  PyObject *__pyx_tuple__128;
  PyObject *__pyx_tuple__133;
  PyObject *__pyx_tuple__136;
  PyObject *__pyx_tuple__138;
  PyObject *__pyx_tuple__143;
  PyObject *__pyx_tuple__145;
  PyObject *__pyx_tuple__153;
  PyObject *__pyx_tuple__155;
  PyObject *__pyx_tuple__157;
  PyObject *__pyx_tuple__159;
  PyObject *__pyx_tuple__160;
  PyObject *__pyx_tuple__162;
  PyObject *__pyx_tuple__164;
  PyObject *__pyx_tuple__258;
  PyObject *__pyx_tuple__260;
  PyObject *__pyx_tuple__264;
  PyObject *__pyx_tuple__314;
  PyObject *__pyx_tuple__340;
  PyObject *__pyx_tuple__342;
  PyObject *__pyx_tuple__344;
  PyObject *__pyx_tuple__348;
  PyObject *__pyx_tuple__353;
  PyObject *__pyx_tuple__355;
  PyObject *__pyx_tuple__356;
  PyObject *__pyx_tuple__396;
  PyObject *__pyx_tuple__398;
  PyObject *__pyx_codeobj__77;
  PyObject *__pyx_codeobj__79;
  PyObject *__pyx_codeobj__81;
  PyObject *__pyx_codeobj__84;
  PyObject *__pyx_codeobj__85;
  PyObject *__pyx_codeobj__86;
  PyObject *__pyx_codeobj__87;
  PyObject *__pyx_codeobj__88;
  PyObject *__pyx_codeobj__90;
  PyObject *__pyx_codeobj__100;
  PyObject *__pyx_codeobj__103;
  PyObject *__pyx_codeobj__104;
  PyObject *__pyx_codeobj__105;
  PyObject *__pyx_codeobj__106;
  PyObject *__pyx_codeobj__107;
  PyObject *__pyx_codeobj__108;
  PyObject *__pyx_codeobj__110;
  PyObject *__pyx_codeobj__112;
  PyObject *__pyx_codeobj__114;
  PyObject *__pyx_codeobj__116;
  PyObject *__pyx_codeobj__118;
  PyObject *__pyx_codeobj__120;
  PyObject *__pyx_codeobj__121;
  PyObject *__pyx_codeobj__122;
  PyObject *__pyx_codeobj__124;
  PyObject *__pyx_codeobj__126;
  PyObject *__pyx_codeobj__129;
  PyObject *__pyx_codeobj__130;
  PyObject *__pyx_codeobj__131;
  PyObject *__pyx_codeobj__132;
  PyObject *__pyx_codeobj__134;
  PyObject *__pyx_codeobj__135;
  PyObject *__pyx_codeobj__137;
  PyObject *__pyx_codeobj__139;
  PyObject *__pyx_codeobj__140;
  PyObject *__pyx_codeobj__141;
  PyObject *__pyx_codeobj__142;
  PyObject *__pyx_codeobj__144;
  PyObject *__pyx_codeobj__146;
  PyObject *__pyx_codeobj__147;
  PyObject *__pyx_codeobj__148;
  PyObject *__pyx_codeobj__149;
  PyObject *__pyx_codeobj__150;
  PyObject *__pyx_codeobj__151;
  PyObject *__pyx_codeobj__152;
  PyObject *__pyx_codeobj__154;
  PyObject *__pyx_codeobj__156;
  PyObject *__pyx_codeobj__158;
  PyObject *__pyx_codeobj__161;
  PyObject *__pyx_codeobj__163;
  PyObject *__pyx_codeobj__165;
  PyObject *__pyx_codeobj__166;
  PyObject *__pyx_codeobj__167;
  PyObject *__pyx_codeobj__168;
  PyObject *__pyx_codeobj__169;
  PyObject *__pyx_codeobj__170;
  PyObject *__pyx_codeobj__171;
  PyObject *__pyx_codeobj__172;
  PyObject *__pyx_codeobj__173;
  PyObject *__pyx_codeobj__174;
  PyObject *__pyx_codeobj__175;
  PyObject *__pyx_codeobj__176;
  PyObject *__pyx_codeobj__177;
  PyObject *__pyx_codeobj__178;
  PyObject *__pyx_codeobj__179;
  PyObject *__pyx_codeobj__180;
  PyObject *__pyx_codeobj__181;
  PyObject *__pyx_codeobj__182;
  PyObject *__pyx_codeobj__183;
  PyObject *__pyx_codeobj__184;
  PyObject *__pyx_codeobj__185;
  PyObject *__pyx_codeobj__186;
  PyObject *__pyx_codeobj__187;
  PyObject *__pyx_codeobj__188;
  PyObject *__pyx_codeobj__189;
  PyObject *__pyx_codeobj__190;
  PyObject *__pyx_codeobj__191;
  PyObject *__pyx_codeobj__192;
  PyObject *__pyx_codeobj__193;
  PyObject *__pyx_codeobj__194;
  PyObject *__pyx_codeobj__195;
  PyObject *__pyx_codeobj__196;
  PyObject *__pyx_codeobj__197;
  PyObject *__pyx_codeobj__198;
  PyObject *__pyx_codeobj__199;
  PyObject *__pyx_codeobj__200;
  PyObject *__pyx_codeobj__201;
  PyObject *__pyx_codeobj__202;
  PyObject *__pyx_codeobj__203;
  PyObject *__pyx_codeobj__204;
  PyObject *__pyx_codeobj__205;
  PyObject *__pyx_codeobj__206;
  PyObject *__pyx_codeobj__207;
  PyObject *__pyx_codeobj__208;
  PyObject *__pyx_codeobj__209;
  PyObject *__pyx_codeobj__210;
  PyObject *__pyx_codeobj__211;
  PyObject *__pyx_codeobj__212;
  PyObject *__pyx_codeobj__213;
  PyObject *__pyx_codeobj__214;
  PyObject *__pyx_codeobj__215;
  PyObject *__pyx_codeobj__216;
  PyObject *__pyx_codeobj__217;
  PyObject *__pyx_codeobj__218;
  PyObject *__pyx_codeobj__219;
  PyObject *__pyx_codeobj__220;
  PyObject *__pyx_codeobj__221;
  PyObject *__pyx_codeobj__222;
  PyObject *__pyx_codeobj__223;
  PyObject *__pyx_codeobj__224;
  PyObject *__pyx_codeobj__225;
  PyObject *__pyx_codeobj__226;
  PyObject *__pyx_codeobj__227;
  PyObject *__pyx_codeobj__228;
  PyObject *__pyx_codeobj__229;
  PyObject *__pyx_codeobj__230;
  PyObject *__pyx_codeobj__231;
  PyObject *__pyx_codeobj__232;
  PyObject *__pyx_codeobj__233;
  PyObject *__pyx_codeobj__234;
  PyObject *__pyx_codeobj__235;
  PyObject *__pyx_codeobj__236;
  PyObject *__pyx_codeobj__237;
  PyObject *__pyx_codeobj__238;
  PyObject *__pyx_codeobj__239;
  PyObject *__pyx_codeobj__240;
  PyObject *__pyx_codeobj__241;
  PyObject *__pyx_codeobj__242;
  PyObject *__pyx_codeobj__243;
  PyObject *__pyx_codeobj__244;
  PyObject *__pyx_codeobj__245;
  PyObject *__pyx_codeobj__246;
  PyObject *__pyx_codeobj__247;
  PyObject *__pyx_codeobj__248;
  PyObject *__pyx_codeobj__249;
  PyObject *__pyx_codeobj__250;
  PyObject *__pyx_codeobj__251;
  PyObject *__pyx_codeobj__252;
  PyObject *__pyx_codeobj__253;
  PyObject *__pyx_codeobj__254;
  PyObject *__pyx_codeobj__255;
  PyObject *__pyx_codeobj__256;
  PyObject *__pyx_codeobj__257;
  PyObject *__pyx_codeobj__259;
  PyObject *__pyx_codeobj__261;
  PyObject *__pyx_codeobj__262;
  PyObject *__pyx_codeobj__263;
  PyObject *__pyx_codeobj__265;
  PyObject *__pyx_codeobj__266;
  PyObject *__pyx_codeobj__267;
  PyObject *__pyx_codeobj__268;
  PyObject *__pyx_codeobj__269;
  PyObject *__pyx_codeobj__270;
  PyObject *__pyx_codeobj__271;
  PyObject *__pyx_codeobj__272;
  PyObject *__pyx_codeobj__273;
  PyObject *__pyx_codeobj__274;
  PyObject *__pyx_codeobj__275;
  PyObject *__pyx_codeobj__276;
  PyObject *__pyx_codeobj__277;
  PyObject *__pyx_codeobj__278;
  PyObject *__pyx_codeobj__279;
  PyObject *__pyx_codeobj__280;
  PyObject *__pyx_codeobj__281;
  PyObject *__pyx_codeobj__282;
  PyObject *__pyx_codeobj__283;
  PyObject *__pyx_codeobj__284;
  PyObject *__pyx_codeobj__285;
  PyObject *__pyx_codeobj__286;
  PyObject *__pyx_codeobj__287;
  PyObject *__pyx_codeobj__288;
  PyObject *__pyx_codeobj__289;
  PyObject *__pyx_codeobj__290;
  PyObject *__pyx_codeobj__291;
  PyObject *__pyx_codeobj__292;
  PyObject *__pyx_codeobj__293;
  PyObject *__pyx_codeobj__294;
  PyObject *__pyx_codeobj__295;
  PyObject *__pyx_codeobj__296;
  PyObject *__pyx_codeobj__297;
  PyObject *__pyx_codeobj__298;
  PyObject *__pyx_codeobj__299;
  PyObject *__pyx_codeobj__300;
  PyObject *__pyx_codeobj__301;
  PyObject *__pyx_codeobj__302;
  PyObject *__pyx_codeobj__303;
  PyObject *__pyx_codeobj__304;
  PyObject *__pyx_codeobj__305;
  PyObject *__pyx_codeobj__306;
  PyObject *__pyx_codeobj__307;
  PyObject *__pyx_codeobj__308;
  PyObject *__pyx_codeobj__309;
  PyObject *__pyx_codeobj__310;
  PyObject *__pyx_codeobj__311;
  PyObject *__pyx_codeobj__312;
  PyObject *__pyx_codeobj__313;
  PyObject *__pyx_codeobj__315;
  PyObject *__pyx_codeobj__316;
  PyObject *__pyx_codeobj__317;
  PyObject *__pyx_codeobj__318;
  PyObject *__pyx_codeobj__319;
  PyObject *__pyx_codeobj__320;
  PyObject *__pyx_codeobj__321;
  PyObject *__pyx_codeobj__322;
  PyObject *__pyx_codeobj__323;
  PyObject *__pyx_codeobj__324;
  PyObject *__pyx_codeobj__325;
  PyObject *__pyx_codeobj__326;
  PyObject *__pyx_codeobj__327;
  PyObject *__pyx_codeobj__328;
  PyObject *__pyx_codeobj__329;
  PyObject *__pyx_codeobj__330;
  PyObject *__pyx_codeobj__331;
  PyObject *__pyx_codeobj__332;
  PyObject *__pyx_codeobj__333;
  PyObject *__pyx_codeobj__334;
  PyObject *__pyx_codeobj__335;
  PyObject *__pyx_codeobj__336;
  PyObject *__pyx_codeobj__337;
  PyObject *__pyx_codeobj__338;
  PyObject *__pyx_codeobj__339;
  PyObject *__pyx_codeobj__341;
  PyObject *__pyx_codeobj__343;
  PyObject *__pyx_codeobj__345;
  PyObject *__pyx_codeobj__346;
  PyObject *__pyx_codeobj__347;
  PyObject *__pyx_codeobj__349;
  PyObject *__pyx_codeobj__350;
  PyObject *__pyx_codeobj__351;
  PyObject *__pyx_codeobj__352;
  PyObject *__pyx_codeobj__354;
  PyObject *__pyx_codeobj__357;
  PyObject *__pyx_codeobj__358;
  PyObject *__pyx_codeobj__359;
  PyObject *__pyx_codeobj__360;
  PyObject *__pyx_codeobj__361;
  PyObject *__pyx_codeobj__362;
  PyObject *__pyx_codeobj__363;
  PyObject *__pyx_codeobj__364;
  PyObject *__pyx_codeobj__365;
  PyObject *__pyx_codeobj__366;
  PyObject *__pyx_codeobj__367;
  PyObject *__pyx_codeobj__368;
  PyObject *__pyx_codeobj__369;
  PyObject *__pyx_codeobj__370;
  PyObject *__pyx_codeobj__371;
  PyObject *__pyx_codeobj__372;
  PyObject *__pyx_codeobj__373;
  PyObject *__pyx_codeobj__374;
  PyObject *__pyx_codeobj__375;
  PyObject *__pyx_codeobj__376;
  PyObject *__pyx_codeobj__377;
  PyObject *__pyx_codeobj__378;
  PyObject *__pyx_codeobj__379;
  PyObject *__pyx_codeobj__380;
  PyObject *__pyx_codeobj__381;
  PyObject *__pyx_codeobj__382;
  PyObject *__pyx_codeobj__383;
  PyObject *__pyx_codeobj__384;
  PyObject *__pyx_codeobj__385;
  PyObject *__pyx_codeobj__386;
  PyObject *__pyx_codeobj__387;
  PyObject *__pyx_codeobj__388;
  PyObject *__pyx_codeobj__389;
  PyObject *__pyx_codeobj__390;
  PyObject *__pyx_codeobj__391;
  PyObject *__pyx_codeobj__392;
  PyObject *__pyx_codeobj__393;
  PyObject *__pyx_codeobj__394;
  PyObject *__pyx_codeobj__395;
  PyObject *__pyx_codeobj__397;
  PyObject *__pyx_codeobj__399;
  PyObject *__pyx_codeobj__400;
} __pyx_mstate;

#if CYTHON_USE_MODULE_STATE
#ifdef __cplusplus
namespace {
  extern struct PyModuleDef __pyx_moduledef;
} /* anonymous namespace */
#else
static struct PyModuleDef __pyx_moduledef;
#endif

#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o))

#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef)))

#define __pyx_m (PyState_FindModule(&__pyx_moduledef))
#else
static __pyx_mstate __pyx_mstate_global_static =
#ifdef __cplusplus
    {};
#else
    {0};
#endif
static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static;
#endif
/* #### Code section: module_state_clear ### */
#if CYTHON_USE_MODULE_STATE
static int __pyx_m_clear(PyObject *m) {
  __pyx_mstate *clear_module_state = __pyx_mstate(m);
  if (!clear_module_state) return 0;
  Py_CLEAR(clear_module_state->__pyx_d);
  Py_CLEAR(clear_module_state->__pyx_b);
  Py_CLEAR(clear_module_state->__pyx_cython_runtime);
  Py_CLEAR(clear_module_state->__pyx_empty_tuple);
  Py_CLEAR(clear_module_state->__pyx_empty_bytes);
  Py_CLEAR(clear_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
  #endif
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_dtype);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flatiter);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_broadcast);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ndarray);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_generic);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_number);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_integer);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_signedinteger);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_unsignedinteger);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_inexact);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_floating);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_complexfloating);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flexible);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_character);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ufunc);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Context);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Context);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_baseItem);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_baseItem);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Viewport);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Viewport);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Callback);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Callback);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_drawingItem);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_drawingItem);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawingList);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawingList);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawingListScale);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawingListScale);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawArrow_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawArrow_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawBezierCubic_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawBezierCubic_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawBezierQuadratic_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawCircle_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawCircle_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawEllipse_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawEllipse_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawImage_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawImage_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawImageQuad_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawImageQuad_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawLine_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawLine_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawPolyline_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawPolyline_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawPolygon_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawPolygon_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawQuad_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawQuad_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawRect_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawRect_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawText_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawText_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawTriangle_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawTriangle_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawInvisibleButton);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawInvisibleButton);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ViewportDrawList_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ViewportDrawList_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedValue);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedBool);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedBool);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedFloat);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedFloat);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedInt);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedInt);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedColor);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedColor);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedDouble);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedDouble);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedStr);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedStr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedFloat4);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedFloat4);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedInt4);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedInt4);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedDouble4);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedDouble4);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SharedFloatVect);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SharedFloatVect);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_baseHandler);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_baseHandler);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_KeyDownHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_KeyDownHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_KeyPressHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_KeyPressHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_KeyReleaseHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseClickHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseClickHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseDoubleClickHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseDownHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseDownHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseDragHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseDragHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseMoveHandler);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseMoveHandler);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseReleaseHandler_);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MouseWheelHandler);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MouseWheelHandler);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_uiItem);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_uiItem);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawInWindow);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawInWindow);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_SimplePlot);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_SimplePlot);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Button);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Button);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Combo);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Combo);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Checkbox);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Checkbox);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Slider);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Slider);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ListBox);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ListBox);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_RadioButton);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_RadioButton);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_InputText);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_InputText);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_InputValue);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_InputValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Text);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Text);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Selectable);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Selectable);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MenuItem);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MenuItem);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ProgressBar);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ProgressBar);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Image);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Image);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ImageButton);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ImageButton);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Separator);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Separator);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Spacer);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Spacer);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_MenuBar);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_MenuBar);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Menu);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Menu);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Tooltip);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Tooltip);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_TabButton);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_TabButton);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Tab);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Tab);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_TabBar);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_TabBar);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Layout);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Layout);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_HorizontalLayout);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_HorizontalLayout);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_VerticalLayout);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_VerticalLayout);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_TreeNode);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_TreeNode);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_CollapsingHeader);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_CollapsingHeader);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ChildWindow);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ChildWindow);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ColorButton);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ColorButton);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ColorEdit);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ColorEdit);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_ColorPicker);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_ColorPicker);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_TimeWatcher);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_TimeWatcher);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Window);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Window);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Texture);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Texture);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Font);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Font);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_FontTexture);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_FontTexture);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_baseTheme);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_baseTheme);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotAxisConfig);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotAxisConfig);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotLegendConfig);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotLegendConfig);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_Plot);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_Plot);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_plotElement);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_plotElement);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_plotElementWithLegend);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_plotElementWithLegend);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_plotElementXY);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_plotElementXY);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotLine);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotLine);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_plotElementXYY);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_plotElementXYY);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotShadedLine);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotShadedLine);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotStems);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotStems);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotBars);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotBars);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotStairs);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotStairs);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_plotElementX);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_plotElementX);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotInfLines);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotInfLines);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlotScatter);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlotScatter);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DrawInPlot);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DrawInPlot);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_DPGCallback);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_DPGCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_9dearcygui_4core_PlaceHolderParent);
  Py_CLEAR(clear_module_state->__pyx_type_9dearcygui_4core_PlaceHolderParent);
  Py_CLEAR(clear_module_state->__pyx_ptype___Pyx_EnumMeta);
  Py_CLEAR(clear_module_state->__Pyx_EnumMeta);
  Py_CLEAR(clear_module_state->__pyx_array_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_array);
  Py_CLEAR(clear_module_state->__pyx_MemviewEnum_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_MemviewEnum);
  Py_CLEAR(clear_module_state->__pyx_memoryview_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryview);
  Py_CLEAR(clear_module_state->__pyx_memoryviewslice_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryviewslice);
  Py_CLEAR(clear_module_state->__pyx_kp_b_);
  Py_CLEAR(clear_module_state->__pyx_kp_s_);
  Py_CLEAR(clear_module_state->__pyx_kp_u_);
  Py_CLEAR(clear_module_state->__pyx_kp_b_3f);
  Py_CLEAR(clear_module_state->__pyx_n_s_ASCII);
  Py_CLEAR(clear_module_state->__pyx_kp_s_All_dimensions_preceding_dimensi);
  Py_CLEAR(clear_module_state->__pyx_kp_u_An_error_occured_in_the_viewport);
  Py_CLEAR(clear_module_state->__pyx_kp_u_An_error_occured_in_the_viewport_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_AssertionError);
  Py_CLEAR(clear_module_state->__pyx_n_s_AttributeError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Axes_must_be_a_tuple_of_valid_X);
  Py_CLEAR(clear_module_state->__pyx_n_s_Axis);
  Py_CLEAR(clear_module_state->__pyx_n_s_AxisScale);
  Py_CLEAR(clear_module_state->__pyx_n_u_B);
  Py_CLEAR(clear_module_state->__pyx_n_s_BOTTOM);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Buffer_view_does_not_expose_stri);
  Py_CLEAR(clear_module_state->__pyx_n_s_Button);
  Py_CLEAR(clear_module_state->__pyx_n_s_Button___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Button___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_C);
  Py_CLEAR(clear_module_state->__pyx_n_s_CENTER);
  Py_CLEAR(clear_module_state->__pyx_n_u_C_CONTIGUOUS);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback);
  Py_CLEAR(clear_module_state->__pyx_n_s_Callback_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_Callback___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Callback___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback_argument_was);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback_arguments_were);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback_called_without_argument);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback_function_takes_too_many);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Callback_requires_a_callable_obj);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Can_only_create_a_buffer_that_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_add_Font_to_built_FontTex);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Cannot_assign_to_read_only_memor);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_attach);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_bind_sibling_if_no_parent);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Cannot_create_writable_memory_vi);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_get_mouse_position_no_mou);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_index_with_type);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_set_empty_texture);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Cannot_transpose_memoryview_with);
  Py_CLEAR(clear_module_state->__pyx_n_s_Checkbox);
  Py_CLEAR(clear_module_state->__pyx_n_s_Checkbox___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Checkbox___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ChildWindow);
  Py_CLEAR(clear_module_state->__pyx_n_s_ChildWindow___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ChildWindow___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CollapsingHeader);
  Py_CLEAR(clear_module_state->__pyx_n_s_CollapsingHeader___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CollapsingHeader___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorButton);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorButton___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorButton___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorEdit);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorEdit___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorEdit___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorPicker);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorPicker___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ColorPicker___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Color_data_must_either_an_int32);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Color_value_component_outside_bo);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Color_value_component_outside_bo_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_Combo);
  Py_CLEAR(clear_module_state->__pyx_n_s_Combo___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Combo___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_fetch_last_created_conta);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_fetch_last_created_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_fetch_parent_queue_back);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_fetch_parent_queue_front);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_get_mouse_clicked_count);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_get_mouse_drag_delta);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_get_mouse_position);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_key_down);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_key_pressed);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_key_released);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_mouse_clicked);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_mouse_double_clicked);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_mouse_down);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_mouse_dragging);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_is_mouse_released);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_pop_next_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_push_next_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_Context_reset_mouse_drag_delta);
  Py_CLEAR(clear_module_state->__pyx_n_s_CursorArrow);
  Py_CLEAR(clear_module_state->__pyx_n_s_CursorNone);
  Py_CLEAR(clear_module_state->__pyx_n_s_CursorTextInput);
  Py_CLEAR(clear_module_state->__pyx_n_s_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_DPGCallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_DPGCallback___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DPGCallback___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_b_DPG_PAYLOAD);
  Py_CLEAR(clear_module_state->__pyx_n_s_Delaunay);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Dimension_d_is_not_direct);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawArrow);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawArrow____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawArrow____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierCubic);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierCubic____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierCubic____setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierQuadratic);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierQuadratic____reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawBezierQuadratic____setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawCircle);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawCircle____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawCircle____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawEllipse);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawEllipse____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawEllipse____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImage);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImageQuad);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImageQuad____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImageQuad____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImage____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawImage____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInPlot);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInPlot___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInPlot___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInWindow);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInWindow___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInWindow___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInvisibleButton);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInvisibleButton___reduce_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawInvisibleButton___setstate_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawLine);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawLine____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawLine____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolygon);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolygon____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolygon____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolyline);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolyline____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawPolyline____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawQuad);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawQuad____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawQuad____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawRect);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawRect____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawRect____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawText);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawText____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawText____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawTriangle);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawTriangle____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawTriangle____setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingList);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingListScale);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingListScale___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingListScale___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingList___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_DrawingList___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Ellipsis);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Empty_shape_tuple_for_cython_arr);
  Py_CLEAR(clear_module_state->__pyx_n_s_EnumBase);
  Py_CLEAR(clear_module_state->__pyx_n_s_EnumType);
  Py_CLEAR(clear_module_state->__pyx_n_s_Executor);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_a_shareable_value_of_ty);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_int_float_or_double_Got);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_tuple_for_pos_x_y);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Expected_tuple_got);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Failed_to_build_target_texture_d);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Failed_to_create_the_viewport);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Failed_to_load_target_Font_file);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Failed_to_upload_target_texture);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Field_undefined_for_type);
  Py_CLEAR(clear_module_state->__pyx_kp_u_File);
  Py_CLEAR(clear_module_state->__pyx_n_s_FindSystemFontsFilenameException);
  Py_CLEAR(clear_module_state->__pyx_n_s_Font);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture___delalloc);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture_add_font_file);
  Py_CLEAR(clear_module_state->__pyx_n_s_FontTexture_build);
  Py_CLEAR(clear_module_state->__pyx_n_s_Font___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Font___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Hand);
  Py_CLEAR(clear_module_state->__pyx_n_s_HorizontalLayout);
  Py_CLEAR(clear_module_state->__pyx_n_s_HorizontalLayout___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_HorizontalLayout___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_HorizontalLayout_update_layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_Image);
  Py_CLEAR(clear_module_state->__pyx_n_s_ImageButton);
  Py_CLEAR(clear_module_state->__pyx_n_s_ImageButton___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ImageButton___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Image___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Image___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ImportError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_IndexError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Index_out_of_bounds_axis_d);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Indirect_dimensions_not_supporte);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputText);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputText___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputText___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputValue___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputValue___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_InputValue_configure);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Instance_of_type_cannot_be_attac);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Instance_of_type_cannot_be_sibli);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Instance_of_type_cannot_have_a_s);
  Py_CLEAR(clear_module_state->__pyx_n_s_IntEnum);
  Py_CLEAR(clear_module_state->__pyx_n_s_IntFlag);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_alignment_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_arguments_passed_to_Text);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_button);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_button_mask);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_cursor_type_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_direction_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_height_mode_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_key);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_location_Must_be_a_Legen);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_mode_expected_c_or_fortr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_number_of_texture_dimens);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_positioning_policy);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_scale);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_scale_Expecting_an_AxisS);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_shape_in_axis);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_texture_size);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_type);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Item_not_found_with_index);
  Py_CLEAR(clear_module_state->__pyx_n_s_JUSTIFIED);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyDownHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyDownHandler____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyDownHandler____setstate_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyError);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyPressHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyPressHandler____reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyPressHandler____setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyReleaseHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyReleaseHandler____reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_KeyReleaseHandler____setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_LEFT);
  Py_CLEAR(clear_module_state->__pyx_n_s_Layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_Layout___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Layout___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Layout_update_layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_LegendLocation);
  Py_CLEAR(clear_module_state->__pyx_n_s_ListBox);
  Py_CLEAR(clear_module_state->__pyx_n_s_ListBox___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ListBox___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MANUAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_MemoryError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_MemoryView_of_r_at_0x_x);
  Py_CLEAR(clear_module_state->__pyx_kp_s_MemoryView_of_r_object);
  Py_CLEAR(clear_module_state->__pyx_n_s_Menu);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuBar);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuBar___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuBar___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuItem);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuItem___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MenuItem___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Menu___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Menu___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseClickHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseClickHandler____reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseClickHandler____setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDoubleClickHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDoubleClickHandler____reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDoubleClickHandler____setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDownHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDownHandler____reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDownHandler____setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDragHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDragHandler____reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseDragHandler____setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseMoveHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseMoveHandler___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseMoveHandler___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseReleaseHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseReleaseHandler____reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseReleaseHandler____setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseWheelHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseWheelHandler___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_MouseWheelHandler___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_N);
  Py_CLEAR(clear_module_state->__pyx_kp_u_None);
  Py_CLEAR(clear_module_state->__pyx_n_s_NotAllowed);
  Py_CLEAR(clear_module_state->__pyx_n_b_O);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Objects_of_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_OrderedDict);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Outside_range);
  Py_CLEAR(clear_module_state->__pyx_n_s_PermissionError);
  Py_CLEAR(clear_module_state->__pyx_n_s_PickleError);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlaceHolderParent);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlaceHolderParent___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlaceHolderParent___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_Plot);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotAxisConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotAxisConfig___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotAxisConfig___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotAxisConfig_fit);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotBars);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotBars___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotBars___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotInfLines);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotInfLines___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotInfLines___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLegendConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLegendConfig___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLegendConfig___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLine);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLine___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotLine___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotScatter);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotScatter___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotScatter___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotShadedLine);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotShadedLine___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotShadedLine___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStairs);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStairs___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStairs___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStems);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStems___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_PlotStems___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Plot___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Plot___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Point_data_must_be_an_array_of_u);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Point_data_must_be_an_array_of_u_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_ProggyClean_ttf);
  Py_CLEAR(clear_module_state->__pyx_n_s_ProgressBar);
  Py_CLEAR(clear_module_state->__pyx_n_s_ProgressBar___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_ProgressBar___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Provided_context_is_not_a_valid);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumBase);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumBase___new);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumBase___repr);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumBase___str);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumMeta___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumMeta___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___new);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___repr);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___str);
  Py_CLEAR(clear_module_state->__pyx_n_s_REL_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_REL_PARENT);
  Py_CLEAR(clear_module_state->__pyx_n_s_REL_VIEWPORT);
  Py_CLEAR(clear_module_state->__pyx_n_s_REL_WINDOW);
  Py_CLEAR(clear_module_state->__pyx_n_s_RIGHT);
  Py_CLEAR(clear_module_state->__pyx_n_s_RadioButton);
  Py_CLEAR(clear_module_state->__pyx_n_s_RadioButton___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_RadioButton___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Received);
  Py_CLEAR(clear_module_state->__pyx_n_s_ResizeAll);
  Py_CLEAR(clear_module_state->__pyx_n_s_ResizeEW);
  Py_CLEAR(clear_module_state->__pyx_n_s_ResizeNESW);
  Py_CLEAR(clear_module_state->__pyx_n_s_ResizeNS);
  Py_CLEAR(clear_module_state->__pyx_n_s_ResizeNWSE);
  Py_CLEAR(clear_module_state->__pyx_n_s_RuntimeError);
  Py_CLEAR(clear_module_state->__pyx_n_s_Selectable);
  Py_CLEAR(clear_module_state->__pyx_n_s_Selectable___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Selectable___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Separator);
  Py_CLEAR(clear_module_state->__pyx_n_s_Separator___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Separator___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Sequence);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedBool);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedBool___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedBool___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedColor);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedColor___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedColor___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble4);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble4___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble4___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedDouble___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat4);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat4___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat4___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloatVect);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloatVect___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloatVect___setstate_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedFloat___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt4);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt4___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt4___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedInt___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedStr);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedStr___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedStr___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedValue___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SharedValue___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Shared_value_is_empty_Cannot_set);
  Py_CLEAR(clear_module_state->__pyx_n_s_SimplePlot);
  Py_CLEAR(clear_module_state->__pyx_n_s_SimplePlot___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SimplePlot___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_SimplePlot_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_Slider);
  Py_CLEAR(clear_module_state->__pyx_n_s_Slider___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Slider___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Slider_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_Spacer);
  Py_CLEAR(clear_module_state->__pyx_n_s_Spacer___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Spacer___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Step_may_not_be_zero_axis_d);
  Py_CLEAR(clear_module_state->__pyx_n_s_TOP);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tab);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabBar);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabBar___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabBar___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabButton);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabButton___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TabButton___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tab___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tab___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Tag);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Target_texture_is_read_only);
  Py_CLEAR(clear_module_state->__pyx_n_s_Text);
  Py_CLEAR(clear_module_state->__pyx_n_s_Text___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Text___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture___delalloc);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture_configure);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Texture_not_yet_built);
  Py_CLEAR(clear_module_state->__pyx_n_s_Texture_set_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_The_viewport_must_be_initialized);
  Py_CLEAR(clear_module_state->__pyx_kp_u_The_viewport_must_be_not_be_init);
  Py_CLEAR(clear_module_state->__pyx_kp_u_There_must_be_at_least_space_for);
  Py_CLEAR(clear_module_state->__pyx_n_s_ThreadPoolExecutor);
  Py_CLEAR(clear_module_state->__pyx_n_s_TimeWatcher);
  Py_CLEAR(clear_module_state->__pyx_n_s_TimeWatcher___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TimeWatcher___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tooltip);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tooltip___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tooltip___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TreeNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_TreeNode___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_TreeNode___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Trying_to_attach_a_deleted_item);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Trying_to_attach_to_None);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Trying_to_attach_to_a_deleted_it);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Trying_to_attach_to_an_un_attach);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Trying_to_lock_parent_mutex_whil);
  Py_CLEAR(clear_module_state->__pyx_n_s_TypeError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Unable_to_convert_item_to_object);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Uninitialized_font);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Unknown_enum_value_s);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Unused_configure_parameters);
  Py_CLEAR(clear_module_state->__pyx_n_s_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_VerticalLayout);
  Py_CLEAR(clear_module_state->__pyx_n_s_VerticalLayout___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VerticalLayout___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VerticalLayout_update_layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_View_MemoryView);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport);
  Py_CLEAR(clear_module_state->__pyx_n_s_ViewportDrawList);
  Py_CLEAR(clear_module_state->__pyx_n_s_ViewportDrawList____reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_ViewportDrawList____setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Viewport_already_initialized);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport_initialize);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport_render_frame);
  Py_CLEAR(clear_module_state->__pyx_n_s_Viewport_wake);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Warning_self_cannot_have_childre);
  Py_CLEAR(clear_module_state->__pyx_n_s_WeakValueDictionary);
  Py_CLEAR(clear_module_state->__pyx_n_s_Window);
  Py_CLEAR(clear_module_state->__pyx_n_s_Window___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_Window___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Window_must_be_attached_before_b);
  Py_CLEAR(clear_module_state->__pyx_n_s_X1);
  Py_CLEAR(clear_module_state->__pyx_n_s_X2);
  Py_CLEAR(clear_module_state->__pyx_n_s_X3);
  Py_CLEAR(clear_module_state->__pyx_n_s_Y1);
  Py_CLEAR(clear_module_state->__pyx_n_s_Y2);
  Py_CLEAR(clear_module_state->__pyx_n_s_Y3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_You_must_add_fonts_first);
  Py_CLEAR(clear_module_state->__pyx_kp_u__3);
  Py_CLEAR(clear_module_state->__pyx_kp_u__4);
  Py_CLEAR(clear_module_state->__pyx_n_s__401);
  Py_CLEAR(clear_module_state->__pyx_kp_u__42);
  Py_CLEAR(clear_module_state->__pyx_kp_u__44);
  Py_CLEAR(clear_module_state->__pyx_n_s__5);
  Py_CLEAR(clear_module_state->__pyx_kp_u__8);
  Py_CLEAR(clear_module_state->__pyx_kp_u__9);
  Py_CLEAR(clear_module_state->__pyx_n_s_abc);
  Py_CLEAR(clear_module_state->__pyx_n_u_active_windows);
  Py_CLEAR(clear_module_state->__pyx_n_s_add_font_file);
  Py_CLEAR(clear_module_state->__pyx_n_s_alignment);
  Py_CLEAR(clear_module_state->__pyx_n_s_allocate_buffer);
  Py_CLEAR(clear_module_state->__pyx_kp_u_already_has_a_parent);
  Py_CLEAR(clear_module_state->__pyx_kp_u_already_in_use);
  Py_CLEAR(clear_module_state->__pyx_kp_u_and);
  Py_CLEAR(clear_module_state->__pyx_n_s_append);
  Py_CLEAR(clear_module_state->__pyx_n_s_args);
  Py_CLEAR(clear_module_state->__pyx_n_s_array);
  Py_CLEAR(clear_module_state->__pyx_kp_u_as_it_was_not_created_in_the_sa);
  Py_CLEAR(clear_module_state->__pyx_kp_u_as_the_user_holds_a_lock_on);
  Py_CLEAR(clear_module_state->__pyx_n_s_asarray);
  Py_CLEAR(clear_module_state->__pyx_n_s_ascontiguousarray);
  Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
  Py_CLEAR(clear_module_state->__pyx_n_u_attach);
  Py_CLEAR(clear_module_state->__pyx_n_s_attach_before);
  Py_CLEAR(clear_module_state->__pyx_n_s_attach_to_parent);
  Py_CLEAR(clear_module_state->__pyx_n_u_autosize);
  Py_CLEAR(clear_module_state->__pyx_n_s_backend_m);
  Py_CLEAR(clear_module_state->__pyx_n_s_base);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseHandler);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseHandler___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseHandler___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem___enter);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem___exit);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_attach_before);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_attach_to_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_delete_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_detach_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_lock_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseItem_unlock_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseTheme);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseTheme___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseTheme___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_baseTheme_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_before);
  Py_CLEAR(clear_module_state->__pyx_n_u_before);
  Py_CLEAR(clear_module_state->__pyx_n_s_bpp);
  Py_CLEAR(clear_module_state->__pyx_n_s_build);
  Py_CLEAR(clear_module_state->__pyx_kp_u_but_not);
  Py_CLEAR(clear_module_state->__pyx_kp_u_but_not_in_the_same_threads);
  Py_CLEAR(clear_module_state->__pyx_n_s_button);
  Py_CLEAR(clear_module_state->__pyx_n_s_c);
  Py_CLEAR(clear_module_state->__pyx_n_u_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_call_info);
  Py_CLEAR(clear_module_state->__pyx_n_s_callback);
  Py_CLEAR(clear_module_state->__pyx_n_u_callback);
  Py_CLEAR(clear_module_state->__pyx_n_s_callback_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_callbacks);
  Py_CLEAR(clear_module_state->__pyx_n_s_can_skip_presenting);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cannot_be_disabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_center);
  Py_CLEAR(clear_module_state->__pyx_kp_u_children_must_be_a_array_of_chil);
  Py_CLEAR(clear_module_state->__pyx_n_s_class);
  Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem);
  Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
  Py_CLEAR(clear_module_state->__pyx_n_s_cls);
  Py_CLEAR(clear_module_state->__pyx_n_s_co_argcount);
  Py_CLEAR(clear_module_state->__pyx_n_s_code);
  Py_CLEAR(clear_module_state->__pyx_n_s_collections);
  Py_CLEAR(clear_module_state->__pyx_kp_s_collections_abc);
  Py_CLEAR(clear_module_state->__pyx_n_s_color);
  Py_CLEAR(clear_module_state->__pyx_n_s_color_as_floats);
  Py_CLEAR(clear_module_state->__pyx_n_s_color_as_int);
  Py_CLEAR(clear_module_state->__pyx_n_s_color_as_ints);
  Py_CLEAR(clear_module_state->__pyx_n_s_color_vec);
  Py_CLEAR(clear_module_state->__pyx_n_s_concurrent_futures);
  Py_CLEAR(clear_module_state->__pyx_n_s_config);
  Py_CLEAR(clear_module_state->__pyx_n_s_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_context);
  Py_CLEAR(clear_module_state->__pyx_kp_s_contiguous_and_direct);
  Py_CLEAR(clear_module_state->__pyx_kp_s_contiguous_and_indirect);
  Py_CLEAR(clear_module_state->__pyx_n_s_copy);
  Py_CLEAR(clear_module_state->__pyx_n_s_count);
  Py_CLEAR(clear_module_state->__pyx_n_s_current_time);
  Py_CLEAR(clear_module_state->__pyx_kp_b_d);
  Py_CLEAR(clear_module_state->__pyx_n_s_data);
  Py_CLEAR(clear_module_state->__pyx_n_s_data_array);
  Py_CLEAR(clear_module_state->__pyx_n_s_dct);
  Py_CLEAR(clear_module_state->__pyx_kp_s_dearcygui_core);
  Py_CLEAR(clear_module_state->__pyx_kp_s_dearcygui_core_pyx);
  Py_CLEAR(clear_module_state->__pyx_n_s_default_dir);
  Py_CLEAR(clear_module_state->__pyx_n_s_default_font_texture);
  Py_CLEAR(clear_module_state->__pyx_n_s_defaults);
  Py_CLEAR(clear_module_state->__pyx_n_s_delalloc);
  Py_CLEAR(clear_module_state->__pyx_n_s_delete_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_delta);
  Py_CLEAR(clear_module_state->__pyx_n_u_delta_event_handling);
  Py_CLEAR(clear_module_state->__pyx_n_u_delta_presenting);
  Py_CLEAR(clear_module_state->__pyx_n_u_delta_rendering);
  Py_CLEAR(clear_module_state->__pyx_n_u_delta_whole_frame);
  Py_CLEAR(clear_module_state->__pyx_n_s_density_scale);
  Py_CLEAR(clear_module_state->__pyx_n_s_detach_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_dict);
  Py_CLEAR(clear_module_state->__pyx_n_u_dict);
  Py_CLEAR(clear_module_state->__pyx_n_s_dict_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_dir);
  Py_CLEAR(clear_module_state->__pyx_n_s_dirname);
  Py_CLEAR(clear_module_state->__pyx_kp_u_disable);
  Py_CLEAR(clear_module_state->__pyx_n_s_doc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_does_not_exist);
  Py_CLEAR(clear_module_state->__pyx_n_u_double);
  Py_CLEAR(clear_module_state->__pyx_n_s_drawingItem);
  Py_CLEAR(clear_module_state->__pyx_n_s_drawingItem___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_drawingItem___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_dtype);
  Py_CLEAR(clear_module_state->__pyx_n_s_dtype_is_object);
  Py_CLEAR(clear_module_state->__pyx_n_s_e);
  Py_CLEAR(clear_module_state->__pyx_n_s_east);
  Py_CLEAR(clear_module_state->__pyx_kp_u_enable);
  Py_CLEAR(clear_module_state->__pyx_n_s_enabled);
  Py_CLEAR(clear_module_state->__pyx_n_u_enabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_encode);
  Py_CLEAR(clear_module_state->__pyx_n_s_encoding);
  Py_CLEAR(clear_module_state->__pyx_n_s_enter);
  Py_CLEAR(clear_module_state->__pyx_n_s_enum);
  Py_CLEAR(clear_module_state->__pyx_n_s_enumerate);
  Py_CLEAR(clear_module_state->__pyx_n_s_error);
  Py_CLEAR(clear_module_state->__pyx_n_s_exc_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_exc_value);
  Py_CLEAR(clear_module_state->__pyx_n_s_exists);
  Py_CLEAR(clear_module_state->__pyx_n_s_exit);
  Py_CLEAR(clear_module_state->__pyx_n_s_fetch_last_created_container);
  Py_CLEAR(clear_module_state->__pyx_n_s_fetch_last_created_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_fetch_parent_queue_back);
  Py_CLEAR(clear_module_state->__pyx_n_s_fetch_parent_queue_front);
  Py_CLEAR(clear_module_state->__pyx_n_s_file);
  Py_CLEAR(clear_module_state->__pyx_n_s_find_system_fonts_filename);
  Py_CLEAR(clear_module_state->__pyx_n_s_fit);
  Py_CLEAR(clear_module_state->__pyx_n_s_flags);
  Py_CLEAR(clear_module_state->__pyx_n_u_float);
  Py_CLEAR(clear_module_state->__pyx_n_s_float32);
  Py_CLEAR(clear_module_state->__pyx_n_s_float64);
  Py_CLEAR(clear_module_state->__pyx_n_s_font);
  Py_CLEAR(clear_module_state->__pyx_n_s_font_object);
  Py_CLEAR(clear_module_state->__pyx_n_s_fonts_filename);
  Py_CLEAR(clear_module_state->__pyx_kp_u_for);
  Py_CLEAR(clear_module_state->__pyx_n_s_format);
  Py_CLEAR(clear_module_state->__pyx_n_u_format);
  Py_CLEAR(clear_module_state->__pyx_n_s_format_exc);
  Py_CLEAR(clear_module_state->__pyx_n_s_fortran);
  Py_CLEAR(clear_module_state->__pyx_n_u_fortran);
  Py_CLEAR(clear_module_state->__pyx_n_u_frame_count);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gc);
  Py_CLEAR(clear_module_state->__pyx_n_s_get);
  Py_CLEAR(clear_module_state->__pyx_n_s_get_mouse_clicked_count);
  Py_CLEAR(clear_module_state->__pyx_n_s_get_mouse_drag_delta);
  Py_CLEAR(clear_module_state->__pyx_n_s_get_mouse_position);
  Py_CLEAR(clear_module_state->__pyx_n_s_get_system_fonts);
  Py_CLEAR(clear_module_state->__pyx_n_s_get_system_fonts_filename);
  Py_CLEAR(clear_module_state->__pyx_n_s_getstate);
  Py_CLEAR(clear_module_state->__pyx_kp_u_got);
  Py_CLEAR(clear_module_state->__pyx_kp_u_got_differing_extents_in_dimensi);
  Py_CLEAR(clear_module_state->__pyx_n_s_height);
  Py_CLEAR(clear_module_state->__pyx_n_s_hint_dynamic);
  Py_CLEAR(clear_module_state->__pyx_n_s_histogram);
  Py_CLEAR(clear_module_state->__pyx_n_s_i);
  Py_CLEAR(clear_module_state->__pyx_n_s_id);
  Py_CLEAR(clear_module_state->__pyx_n_s_ignore_if_fail);
  Py_CLEAR(clear_module_state->__pyx_n_s_imgui_m);
  Py_CLEAR(clear_module_state->__pyx_n_s_import);
  Py_CLEAR(clear_module_state->__pyx_n_s_index);
  Py_CLEAR(clear_module_state->__pyx_n_s_index_in_file);
  Py_CLEAR(clear_module_state->__pyx_n_s_init);
  Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass);
  Py_CLEAR(clear_module_state->__pyx_n_s_initialize);
  Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
  Py_CLEAR(clear_module_state->__pyx_n_u_int);
  Py_CLEAR(clear_module_state->__pyx_kp_u_is_an_invalid_index_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_key_down);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_key_pressed);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_key_released);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_mouse_clicked);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_mouse_double_clicked);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_mouse_down);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_mouse_dragging);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_mouse_released);
  Py_CLEAR(clear_module_state->__pyx_kp_u_is_not_a_compatible_item_instan);
  Py_CLEAR(clear_module_state->__pyx_kp_u_is_not_a_handler);
  Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_items);
  Py_CLEAR(clear_module_state->__pyx_n_s_itemsize);
  Py_CLEAR(clear_module_state->__pyx_kp_s_itemsize_0_for_cython_array);
  Py_CLEAR(clear_module_state->__pyx_n_s_join);
  Py_CLEAR(clear_module_state->__pyx_n_s_key);
  Py_CLEAR(clear_module_state->__pyx_n_s_keymod);
  Py_CLEAR(clear_module_state->__pyx_n_s_keys);
  Py_CLEAR(clear_module_state->__pyx_n_s_kwargs);
  Py_CLEAR(clear_module_state->__pyx_n_u_large);
  Py_CLEAR(clear_module_state->__pyx_n_u_largest);
  Py_CLEAR(clear_module_state->__pyx_n_s_last_container_uuid);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_container_uuid);
  Py_CLEAR(clear_module_state->__pyx_n_s_last_item_uuid);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_item_uuid);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_time_after_rendering);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_time_after_swapping);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_time_before_event_handling);
  Py_CLEAR(clear_module_state->__pyx_n_u_last_time_before_rendering);
  Py_CLEAR(clear_module_state->__pyx_kp_b_ld);
  Py_CLEAR(clear_module_state->__pyx_n_u_len);
  Py_CLEAR(clear_module_state->__pyx_n_s_linear);
  Py_CLEAR(clear_module_state->__pyx_n_s_local);
  Py_CLEAR(clear_module_state->__pyx_n_s_lock_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_lock_threshold);
  Py_CLEAR(clear_module_state->__pyx_n_s_locked);
  Py_CLEAR(clear_module_state->__pyx_n_s_log10);
  Py_CLEAR(clear_module_state->__pyx_n_s_logarithmic);
  Py_CLEAR(clear_module_state->__pyx_n_u_logarithmic);
  Py_CLEAR(clear_module_state->__pyx_n_s_m);
  Py_CLEAR(clear_module_state->__pyx_n_s_m2);
  Py_CLEAR(clear_module_state->__pyx_n_s_m3);
  Py_CLEAR(clear_module_state->__pyx_n_s_main);
  Py_CLEAR(clear_module_state->__pyx_n_u_max_clamped);
  Py_CLEAR(clear_module_state->__pyx_n_s_max_workers);
  Py_CLEAR(clear_module_state->__pyx_n_s_maximized);
  Py_CLEAR(clear_module_state->__pyx_n_u_maxv);
  Py_CLEAR(clear_module_state->__pyx_n_s_member_names);
  Py_CLEAR(clear_module_state->__pyx_n_s_members);
  Py_CLEAR(clear_module_state->__pyx_n_s_memview);
  Py_CLEAR(clear_module_state->__pyx_n_s_metaclass);
  Py_CLEAR(clear_module_state->__pyx_n_u_min_clamped);
  Py_CLEAR(clear_module_state->__pyx_n_s_minimized);
  Py_CLEAR(clear_module_state->__pyx_n_u_minv);
  Py_CLEAR(clear_module_state->__pyx_n_s_mode);
  Py_CLEAR(clear_module_state->__pyx_n_s_module);
  Py_CLEAR(clear_module_state->__pyx_n_s_module_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_mouse_cursor);
  Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries);
  Py_CLEAR(clear_module_state->__pyx_n_s_multiline);
  Py_CLEAR(clear_module_state->__pyx_n_s_name);
  Py_CLEAR(clear_module_state->__pyx_n_s_name_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_ndim);
  Py_CLEAR(clear_module_state->__pyx_n_u_nearest_neighbor_upsampling);
  Py_CLEAR(clear_module_state->__pyx_n_s_new);
  Py_CLEAR(clear_module_state->__pyx_n_s_next_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_nlocked);
  Py_CLEAR(clear_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
  Py_CLEAR(clear_module_state->__pyx_n_s_north);
  Py_CLEAR(clear_module_state->__pyx_n_s_northeast);
  Py_CLEAR(clear_module_state->__pyx_n_s_northwest);
  Py_CLEAR(clear_module_state->__pyx_n_s_np);
  Py_CLEAR(clear_module_state->__pyx_n_s_num_attached);
  Py_CLEAR(clear_module_state->__pyx_n_s_numpy);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numpy__core_multiarray_failed_to);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numpy__core_umath_failed_to_impo);
  Py_CLEAR(clear_module_state->__pyx_n_s_obj);
  Py_CLEAR(clear_module_state->__pyx_n_s_os);
  Py_CLEAR(clear_module_state->__pyx_n_s_pack);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pan_mod_must_be_a_combinaison_of);
  Py_CLEAR(clear_module_state->__pyx_n_s_parent);
  Py_CLEAR(clear_module_state->__pyx_n_u_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_parent_queue);
  Py_CLEAR(clear_module_state->__pyx_n_u_parent_queue);
  Py_CLEAR(clear_module_state->__pyx_n_s_parents);
  Py_CLEAR(clear_module_state->__pyx_kp_u_passed_as_items_Expected_array);
  Py_CLEAR(clear_module_state->__pyx_kp_u_passed_as_labels_Expected_array);
  Py_CLEAR(clear_module_state->__pyx_kp_u_passed_as_labels_coord_Expected);
  Py_CLEAR(clear_module_state->__pyx_kp_u_passed_to);
  Py_CLEAR(clear_module_state->__pyx_n_s_path);
  Py_CLEAR(clear_module_state->__pyx_n_s_path_string);
  Py_CLEAR(clear_module_state->__pyx_n_s_pickle);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElement);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementWithLegend);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementWithLegend___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementWithLegend___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementX);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXY);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXYY);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXYY___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXYY___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXY___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementXY___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementX___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElementX___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElement___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_plotElement___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_pop);
  Py_CLEAR(clear_module_state->__pyx_n_s_pop_next_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_pos);
  Py_CLEAR(clear_module_state->__pyx_n_u_pos);
  Py_CLEAR(clear_module_state->__pyx_n_s_pos_to_window);
  Py_CLEAR(clear_module_state->__pyx_n_s_positioning);
  Py_CLEAR(clear_module_state->__pyx_n_s_prepare);
  Py_CLEAR(clear_module_state->__pyx_n_s_print);
  Py_CLEAR(clear_module_state->__pyx_n_s_push_next_parent);
  Py_CLEAR(clear_module_state->__pyx_n_s_python_time);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_PickleError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_checksum);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_result);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_state);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_unpickle_Enum);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_unpickle___Pyx_EnumMeta);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_vtable);
  Py_CLEAR(clear_module_state->__pyx_n_s_qualname);
  Py_CLEAR(clear_module_state->__pyx_n_s_queue);
  Py_CLEAR(clear_module_state->__pyx_kp_u_queue_must_be_a_subclass_of_conc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_raised_exception);
  Py_CLEAR(clear_module_state->__pyx_n_s_range);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce_ex);
  Py_CLEAR(clear_module_state->__pyx_n_s_register);
  Py_CLEAR(clear_module_state->__pyx_n_u_regular);
  Py_CLEAR(clear_module_state->__pyx_n_s_remaining);
  Py_CLEAR(clear_module_state->__pyx_n_s_render_frame);
  Py_CLEAR(clear_module_state->__pyx_n_u_rendered_indices);
  Py_CLEAR(clear_module_state->__pyx_n_u_rendered_vertices);
  Py_CLEAR(clear_module_state->__pyx_n_u_rendered_windows);
  Py_CLEAR(clear_module_state->__pyx_n_s_repeat);
  Py_CLEAR(clear_module_state->__pyx_n_s_repr);
  Py_CLEAR(clear_module_state->__pyx_n_s_res);
  Py_CLEAR(clear_module_state->__pyx_n_s_reset_mouse_drag_delta);
  Py_CLEAR(clear_module_state->__pyx_n_s_reshape);
  Py_CLEAR(clear_module_state->__pyx_n_s_resize_callback);
  Py_CLEAR(clear_module_state->__pyx_n_s_results);
  Py_CLEAR(clear_module_state->__pyx_n_s_reverse);
  Py_CLEAR(clear_module_state->__pyx_n_s_round);
  Py_CLEAR(clear_module_state->__pyx_kp_u_round_to_format_cannot_be_enable);
  Py_CLEAR(clear_module_state->__pyx_kp_s_s_s);
  Py_CLEAR(clear_module_state->__pyx_kp_s_s_s_d);
  Py_CLEAR(clear_module_state->__pyx_n_u_scaleMax);
  Py_CLEAR(clear_module_state->__pyx_n_u_scaleMin);
  Py_CLEAR(clear_module_state->__pyx_n_s_sched_yield);
  Py_CLEAR(clear_module_state->__pyx_n_s_scipy);
  Py_CLEAR(clear_module_state->__pyx_n_s_scipy_spatial);
  Py_CLEAR(clear_module_state->__pyx_n_s_self);
  Py_CLEAR(clear_module_state->__pyx_n_u_self_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_self_m);
  Py_CLEAR(clear_module_state->__pyx_n_s_set_name);
  Py_CLEAR(clear_module_state->__pyx_n_s_set_value);
  Py_CLEAR(clear_module_state->__pyx_n_s_setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_shape);
  Py_CLEAR(clear_module_state->__pyx_n_s_shareable_value);
  Py_CLEAR(clear_module_state->__pyx_n_s_should_attach);
  Py_CLEAR(clear_module_state->__pyx_n_s_should_present);
  Py_CLEAR(clear_module_state->__pyx_n_u_show);
  Py_CLEAR(clear_module_state->__pyx_n_s_shutdown);
  Py_CLEAR(clear_module_state->__pyx_n_s_simplices);
  Py_CLEAR(clear_module_state->__pyx_n_s_size);
  Py_CLEAR(clear_module_state->__pyx_n_u_size);
  Py_CLEAR(clear_module_state->__pyx_n_s_sleep);
  Py_CLEAR(clear_module_state->__pyx_n_u_small);
  Py_CLEAR(clear_module_state->__pyx_n_s_source);
  Py_CLEAR(clear_module_state->__pyx_n_u_source);
  Py_CLEAR(clear_module_state->__pyx_n_s_source_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_south);
  Py_CLEAR(clear_module_state->__pyx_n_s_southeast);
  Py_CLEAR(clear_module_state->__pyx_n_s_southwest);
  Py_CLEAR(clear_module_state->__pyx_n_s_spatial);
  Py_CLEAR(clear_module_state->__pyx_n_s_spec);
  Py_CLEAR(clear_module_state->__pyx_n_s_start);
  Py_CLEAR(clear_module_state->__pyx_n_s_state);
  Py_CLEAR(clear_module_state->__pyx_n_s_step);
  Py_CLEAR(clear_module_state->__pyx_n_s_stop);
  Py_CLEAR(clear_module_state->__pyx_n_s_str);
  Py_CLEAR(clear_module_state->__pyx_kp_s_strided_and_direct);
  Py_CLEAR(clear_module_state->__pyx_kp_s_strided_and_direct_or_indirect);
  Py_CLEAR(clear_module_state->__pyx_kp_s_strided_and_indirect);
  Py_CLEAR(clear_module_state->__pyx_kp_s_stringsource);
  Py_CLEAR(clear_module_state->__pyx_n_s_struct);
  Py_CLEAR(clear_module_state->__pyx_n_s_submit);
  Py_CLEAR(clear_module_state->__pyx_n_s_subpixel);
  Py_CLEAR(clear_module_state->__pyx_n_s_success);
  Py_CLEAR(clear_module_state->__pyx_n_s_super);
  Py_CLEAR(clear_module_state->__pyx_n_s_symlog);
  Py_CLEAR(clear_module_state->__pyx_n_s_sys);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_any);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_button);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_checkbox);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_child);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_collapsingheader);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_colorbutton);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_coloredit);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_colorpicker);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_combo);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_discarded);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_enabled_False);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_enabled_True);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_enabled_any);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_image);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_imagebutton);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_inputtext);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_inputvalue);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_listbox);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_menu);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_menubar);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_menuitem);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_plot);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_progressbar);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_radiobutton);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_selectable);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_simpleplot);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_slider);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_tab);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_tabbar);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_tabbutton);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_text);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_tooltip);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_treenode);
  Py_CLEAR(clear_module_state->__pyx_n_s_t_window);
  Py_CLEAR(clear_module_state->__pyx_n_s_target);
  Py_CLEAR(clear_module_state->__pyx_kp_u_target_before_cannot_be_None);
  Py_CLEAR(clear_module_state->__pyx_n_s_target_item);
  Py_CLEAR(clear_module_state->__pyx_n_s_test);
  Py_CLEAR(clear_module_state->__pyx_kp_u_texture_must_be_a_Texture);
  Py_CLEAR(clear_module_state->__pyx_n_s_theme_categories);
  Py_CLEAR(clear_module_state->__pyx_n_s_theme_enablers);
  Py_CLEAR(clear_module_state->__pyx_n_s_threading);
  Py_CLEAR(clear_module_state->__pyx_n_s_time);
  Py_CLEAR(clear_module_state->__pyx_kp_u_to);
  Py_CLEAR(clear_module_state->__pyx_n_s_traceback);
  Py_CLEAR(clear_module_state->__pyx_n_s_uiItem);
  Py_CLEAR(clear_module_state->__pyx_n_s_uiItem___dir);
  Py_CLEAR(clear_module_state->__pyx_n_s_uiItem___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_uiItem___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_uiItem_configure);
  Py_CLEAR(clear_module_state->__pyx_n_s_uint8);
  Py_CLEAR(clear_module_state->__pyx_kp_s_unable_to_allocate_array_data);
  Py_CLEAR(clear_module_state->__pyx_kp_s_unable_to_allocate_shape_and_str);
  Py_CLEAR(clear_module_state->__pyx_n_s_unlock_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_unpack);
  Py_CLEAR(clear_module_state->__pyx_n_s_update);
  Py_CLEAR(clear_module_state->__pyx_n_s_update_layout);
  Py_CLEAR(clear_module_state->__pyx_n_s_use_setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_user_data);
  Py_CLEAR(clear_module_state->__pyx_kp_u_utf_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_uuid);
  Py_CLEAR(clear_module_state->__pyx_n_s_v);
  Py_CLEAR(clear_module_state->__pyx_n_s_val);
  Py_CLEAR(clear_module_state->__pyx_n_s_value);
  Py_CLEAR(clear_module_state->__pyx_n_s_values);
  Py_CLEAR(clear_module_state->__pyx_n_s_version_info);
  Py_CLEAR(clear_module_state->__pyx_n_s_wait);
  Py_CLEAR(clear_module_state->__pyx_n_s_wake);
  Py_CLEAR(clear_module_state->__pyx_n_s_weakref);
  Py_CLEAR(clear_module_state->__pyx_n_s_west);
  Py_CLEAR(clear_module_state->__pyx_n_s_width);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_mutex___enter);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_mutex___exit);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_mutex___init);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_this_and_parents_mutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_this_and_parents_mutex___en);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_this_and_parents_mutex___ex);
  Py_CLEAR(clear_module_state->__pyx_n_s_wrap_this_and_parents_mutex___in);
  Py_CLEAR(clear_module_state->__pyx_n_s_zeros);
  Py_CLEAR(clear_module_state->__pyx_kp_u_zoom_mod_must_be_a_combinaison_o);
  Py_CLEAR(clear_module_state->__pyx_float_0_);
  Py_CLEAR(clear_module_state->__pyx_float_1_);
  Py_CLEAR(clear_module_state->__pyx_float_2_);
  Py_CLEAR(clear_module_state->__pyx_float_13_);
  Py_CLEAR(clear_module_state->__pyx_float_100_);
  Py_CLEAR(clear_module_state->__pyx_float_0_005);
  Py_CLEAR(clear_module_state->__pyx_float_neg_1_);
  Py_CLEAR(clear_module_state->__pyx_int_0);
  Py_CLEAR(clear_module_state->__pyx_int_1);
  Py_CLEAR(clear_module_state->__pyx_int_3);
  Py_CLEAR(clear_module_state->__pyx_int_112105877);
  Py_CLEAR(clear_module_state->__pyx_int_136983863);
  Py_CLEAR(clear_module_state->__pyx_int_184977713);
  Py_CLEAR(clear_module_state->__pyx_int_222419149);
  Py_CLEAR(clear_module_state->__pyx_int_228825662);
  Py_CLEAR(clear_module_state->__pyx_int_238750788);
  Py_CLEAR(clear_module_state->__pyx_int_neg_1);
  Py_CLEAR(clear_module_state->__pyx_slice__7);
  Py_CLEAR(clear_module_state->__pyx_tuple__2);
  Py_CLEAR(clear_module_state->__pyx_tuple__6);
  Py_CLEAR(clear_module_state->__pyx_tuple__10);
  Py_CLEAR(clear_module_state->__pyx_tuple__11);
  Py_CLEAR(clear_module_state->__pyx_tuple__12);
  Py_CLEAR(clear_module_state->__pyx_tuple__13);
  Py_CLEAR(clear_module_state->__pyx_tuple__14);
  Py_CLEAR(clear_module_state->__pyx_tuple__15);
  Py_CLEAR(clear_module_state->__pyx_tuple__16);
  Py_CLEAR(clear_module_state->__pyx_tuple__17);
  Py_CLEAR(clear_module_state->__pyx_tuple__18);
  Py_CLEAR(clear_module_state->__pyx_tuple__19);
  Py_CLEAR(clear_module_state->__pyx_tuple__20);
  Py_CLEAR(clear_module_state->__pyx_tuple__21);
  Py_CLEAR(clear_module_state->__pyx_tuple__22);
  Py_CLEAR(clear_module_state->__pyx_tuple__23);
  Py_CLEAR(clear_module_state->__pyx_tuple__24);
  Py_CLEAR(clear_module_state->__pyx_tuple__25);
  Py_CLEAR(clear_module_state->__pyx_tuple__26);
  Py_CLEAR(clear_module_state->__pyx_tuple__27);
  Py_CLEAR(clear_module_state->__pyx_tuple__28);
  Py_CLEAR(clear_module_state->__pyx_tuple__29);
  Py_CLEAR(clear_module_state->__pyx_tuple__30);
  Py_CLEAR(clear_module_state->__pyx_tuple__31);
  Py_CLEAR(clear_module_state->__pyx_tuple__32);
  Py_CLEAR(clear_module_state->__pyx_tuple__33);
  Py_CLEAR(clear_module_state->__pyx_tuple__34);
  Py_CLEAR(clear_module_state->__pyx_tuple__35);
  Py_CLEAR(clear_module_state->__pyx_tuple__36);
  Py_CLEAR(clear_module_state->__pyx_tuple__37);
  Py_CLEAR(clear_module_state->__pyx_tuple__38);
  Py_CLEAR(clear_module_state->__pyx_tuple__39);
  Py_CLEAR(clear_module_state->__pyx_tuple__40);
  Py_CLEAR(clear_module_state->__pyx_tuple__41);
  Py_CLEAR(clear_module_state->__pyx_tuple__43);
  Py_CLEAR(clear_module_state->__pyx_tuple__45);
  Py_CLEAR(clear_module_state->__pyx_tuple__46);
  Py_CLEAR(clear_module_state->__pyx_tuple__47);
  Py_CLEAR(clear_module_state->__pyx_tuple__48);
  Py_CLEAR(clear_module_state->__pyx_tuple__49);
  Py_CLEAR(clear_module_state->__pyx_tuple__50);
  Py_CLEAR(clear_module_state->__pyx_tuple__51);
  Py_CLEAR(clear_module_state->__pyx_tuple__52);
  Py_CLEAR(clear_module_state->__pyx_tuple__53);
  Py_CLEAR(clear_module_state->__pyx_tuple__54);
  Py_CLEAR(clear_module_state->__pyx_tuple__55);
  Py_CLEAR(clear_module_state->__pyx_tuple__56);
  Py_CLEAR(clear_module_state->__pyx_tuple__57);
  Py_CLEAR(clear_module_state->__pyx_tuple__58);
  Py_CLEAR(clear_module_state->__pyx_tuple__59);
  Py_CLEAR(clear_module_state->__pyx_tuple__60);
  Py_CLEAR(clear_module_state->__pyx_tuple__61);
  Py_CLEAR(clear_module_state->__pyx_tuple__62);
  Py_CLEAR(clear_module_state->__pyx_tuple__63);
  Py_CLEAR(clear_module_state->__pyx_tuple__64);
  Py_CLEAR(clear_module_state->__pyx_tuple__65);
  Py_CLEAR(clear_module_state->__pyx_tuple__66);
  Py_CLEAR(clear_module_state->__pyx_tuple__67);
  Py_CLEAR(clear_module_state->__pyx_tuple__68);
  Py_CLEAR(clear_module_state->__pyx_tuple__69);
  Py_CLEAR(clear_module_state->__pyx_tuple__70);
  Py_CLEAR(clear_module_state->__pyx_tuple__71);
  Py_CLEAR(clear_module_state->__pyx_tuple__72);
  Py_CLEAR(clear_module_state->__pyx_tuple__73);
  Py_CLEAR(clear_module_state->__pyx_tuple__74);
  Py_CLEAR(clear_module_state->__pyx_tuple__75);
  Py_CLEAR(clear_module_state->__pyx_tuple__76);
  Py_CLEAR(clear_module_state->__pyx_tuple__78);
  Py_CLEAR(clear_module_state->__pyx_tuple__80);
  Py_CLEAR(clear_module_state->__pyx_tuple__82);
  Py_CLEAR(clear_module_state->__pyx_tuple__83);
  Py_CLEAR(clear_module_state->__pyx_tuple__89);
  Py_CLEAR(clear_module_state->__pyx_tuple__91);
  Py_CLEAR(clear_module_state->__pyx_tuple__92);
  Py_CLEAR(clear_module_state->__pyx_tuple__93);
  Py_CLEAR(clear_module_state->__pyx_tuple__94);
  Py_CLEAR(clear_module_state->__pyx_tuple__95);
  Py_CLEAR(clear_module_state->__pyx_tuple__96);
  Py_CLEAR(clear_module_state->__pyx_tuple__97);
  Py_CLEAR(clear_module_state->__pyx_tuple__98);
  Py_CLEAR(clear_module_state->__pyx_tuple__99);
  Py_CLEAR(clear_module_state->__pyx_tuple__101);
  Py_CLEAR(clear_module_state->__pyx_tuple__102);
  Py_CLEAR(clear_module_state->__pyx_tuple__109);
  Py_CLEAR(clear_module_state->__pyx_tuple__111);
  Py_CLEAR(clear_module_state->__pyx_tuple__113);
  Py_CLEAR(clear_module_state->__pyx_tuple__115);
  Py_CLEAR(clear_module_state->__pyx_tuple__117);
  Py_CLEAR(clear_module_state->__pyx_tuple__119);
  Py_CLEAR(clear_module_state->__pyx_tuple__123);
  Py_CLEAR(clear_module_state->__pyx_tuple__125);
  Py_CLEAR(clear_module_state->__pyx_tuple__127);
  Py_CLEAR(clear_module_state->__pyx_tuple__128);
  Py_CLEAR(clear_module_state->__pyx_tuple__133);
  Py_CLEAR(clear_module_state->__pyx_tuple__136);
  Py_CLEAR(clear_module_state->__pyx_tuple__138);
  Py_CLEAR(clear_module_state->__pyx_tuple__143);
  Py_CLEAR(clear_module_state->__pyx_tuple__145);
  Py_CLEAR(clear_module_state->__pyx_tuple__153);
  Py_CLEAR(clear_module_state->__pyx_tuple__155);
  Py_CLEAR(clear_module_state->__pyx_tuple__157);
  Py_CLEAR(clear_module_state->__pyx_tuple__159);
  Py_CLEAR(clear_module_state->__pyx_tuple__160);
  Py_CLEAR(clear_module_state->__pyx_tuple__162);
  Py_CLEAR(clear_module_state->__pyx_tuple__164);
  Py_CLEAR(clear_module_state->__pyx_tuple__258);
  Py_CLEAR(clear_module_state->__pyx_tuple__260);
  Py_CLEAR(clear_module_state->__pyx_tuple__264);
  Py_CLEAR(clear_module_state->__pyx_tuple__314);
  Py_CLEAR(clear_module_state->__pyx_tuple__340);
  Py_CLEAR(clear_module_state->__pyx_tuple__342);
  Py_CLEAR(clear_module_state->__pyx_tuple__344);
  Py_CLEAR(clear_module_state->__pyx_tuple__348);
  Py_CLEAR(clear_module_state->__pyx_tuple__353);
  Py_CLEAR(clear_module_state->__pyx_tuple__355);
  Py_CLEAR(clear_module_state->__pyx_tuple__356);
  Py_CLEAR(clear_module_state->__pyx_tuple__396);
  Py_CLEAR(clear_module_state->__pyx_tuple__398);
  Py_CLEAR(clear_module_state->__pyx_codeobj__77);
  Py_CLEAR(clear_module_state->__pyx_codeobj__79);
  Py_CLEAR(clear_module_state->__pyx_codeobj__81);
  Py_CLEAR(clear_module_state->__pyx_codeobj__84);
  Py_CLEAR(clear_module_state->__pyx_codeobj__85);
  Py_CLEAR(clear_module_state->__pyx_codeobj__86);
  Py_CLEAR(clear_module_state->__pyx_codeobj__87);
  Py_CLEAR(clear_module_state->__pyx_codeobj__88);
  Py_CLEAR(clear_module_state->__pyx_codeobj__90);
  Py_CLEAR(clear_module_state->__pyx_codeobj__100);
  Py_CLEAR(clear_module_state->__pyx_codeobj__103);
  Py_CLEAR(clear_module_state->__pyx_codeobj__104);
  Py_CLEAR(clear_module_state->__pyx_codeobj__105);
  Py_CLEAR(clear_module_state->__pyx_codeobj__106);
  Py_CLEAR(clear_module_state->__pyx_codeobj__107);
  Py_CLEAR(clear_module_state->__pyx_codeobj__108);
  Py_CLEAR(clear_module_state->__pyx_codeobj__110);
  Py_CLEAR(clear_module_state->__pyx_codeobj__112);
  Py_CLEAR(clear_module_state->__pyx_codeobj__114);
  Py_CLEAR(clear_module_state->__pyx_codeobj__116);
  Py_CLEAR(clear_module_state->__pyx_codeobj__118);
  Py_CLEAR(clear_module_state->__pyx_codeobj__120);
  Py_CLEAR(clear_module_state->__pyx_codeobj__121);
  Py_CLEAR(clear_module_state->__pyx_codeobj__122);
  Py_CLEAR(clear_module_state->__pyx_codeobj__124);
  Py_CLEAR(clear_module_state->__pyx_codeobj__126);
  Py_CLEAR(clear_module_state->__pyx_codeobj__129);
  Py_CLEAR(clear_module_state->__pyx_codeobj__130);
  Py_CLEAR(clear_module_state->__pyx_codeobj__131);
  Py_CLEAR(clear_module_state->__pyx_codeobj__132);
  Py_CLEAR(clear_module_state->__pyx_codeobj__134);
  Py_CLEAR(clear_module_state->__pyx_codeobj__135);
  Py_CLEAR(clear_module_state->__pyx_codeobj__137);
  Py_CLEAR(clear_module_state->__pyx_codeobj__139);
  Py_CLEAR(clear_module_state->__pyx_codeobj__140);
  Py_CLEAR(clear_module_state->__pyx_codeobj__141);
  Py_CLEAR(clear_module_state->__pyx_codeobj__142);
  Py_CLEAR(clear_module_state->__pyx_codeobj__144);
  Py_CLEAR(clear_module_state->__pyx_codeobj__146);
  Py_CLEAR(clear_module_state->__pyx_codeobj__147);
  Py_CLEAR(clear_module_state->__pyx_codeobj__148);
  Py_CLEAR(clear_module_state->__pyx_codeobj__149);
  Py_CLEAR(clear_module_state->__pyx_codeobj__150);
  Py_CLEAR(clear_module_state->__pyx_codeobj__151);
  Py_CLEAR(clear_module_state->__pyx_codeobj__152);
  Py_CLEAR(clear_module_state->__pyx_codeobj__154);
  Py_CLEAR(clear_module_state->__pyx_codeobj__156);
  Py_CLEAR(clear_module_state->__pyx_codeobj__158);
  Py_CLEAR(clear_module_state->__pyx_codeobj__161);
  Py_CLEAR(clear_module_state->__pyx_codeobj__163);
  Py_CLEAR(clear_module_state->__pyx_codeobj__165);
  Py_CLEAR(clear_module_state->__pyx_codeobj__166);
  Py_CLEAR(clear_module_state->__pyx_codeobj__167);
  Py_CLEAR(clear_module_state->__pyx_codeobj__168);
  Py_CLEAR(clear_module_state->__pyx_codeobj__169);
  Py_CLEAR(clear_module_state->__pyx_codeobj__170);
  Py_CLEAR(clear_module_state->__pyx_codeobj__171);
  Py_CLEAR(clear_module_state->__pyx_codeobj__172);
  Py_CLEAR(clear_module_state->__pyx_codeobj__173);
  Py_CLEAR(clear_module_state->__pyx_codeobj__174);
  Py_CLEAR(clear_module_state->__pyx_codeobj__175);
  Py_CLEAR(clear_module_state->__pyx_codeobj__176);
  Py_CLEAR(clear_module_state->__pyx_codeobj__177);
  Py_CLEAR(clear_module_state->__pyx_codeobj__178);
  Py_CLEAR(clear_module_state->__pyx_codeobj__179);
  Py_CLEAR(clear_module_state->__pyx_codeobj__180);
  Py_CLEAR(clear_module_state->__pyx_codeobj__181);
  Py_CLEAR(clear_module_state->__pyx_codeobj__182);
  Py_CLEAR(clear_module_state->__pyx_codeobj__183);
  Py_CLEAR(clear_module_state->__pyx_codeobj__184);
  Py_CLEAR(clear_module_state->__pyx_codeobj__185);
  Py_CLEAR(clear_module_state->__pyx_codeobj__186);
  Py_CLEAR(clear_module_state->__pyx_codeobj__187);
  Py_CLEAR(clear_module_state->__pyx_codeobj__188);
  Py_CLEAR(clear_module_state->__pyx_codeobj__189);
  Py_CLEAR(clear_module_state->__pyx_codeobj__190);
  Py_CLEAR(clear_module_state->__pyx_codeobj__191);
  Py_CLEAR(clear_module_state->__pyx_codeobj__192);
  Py_CLEAR(clear_module_state->__pyx_codeobj__193);
  Py_CLEAR(clear_module_state->__pyx_codeobj__194);
  Py_CLEAR(clear_module_state->__pyx_codeobj__195);
  Py_CLEAR(clear_module_state->__pyx_codeobj__196);
  Py_CLEAR(clear_module_state->__pyx_codeobj__197);
  Py_CLEAR(clear_module_state->__pyx_codeobj__198);
  Py_CLEAR(clear_module_state->__pyx_codeobj__199);
  Py_CLEAR(clear_module_state->__pyx_codeobj__200);
  Py_CLEAR(clear_module_state->__pyx_codeobj__201);
  Py_CLEAR(clear_module_state->__pyx_codeobj__202);
  Py_CLEAR(clear_module_state->__pyx_codeobj__203);
  Py_CLEAR(clear_module_state->__pyx_codeobj__204);
  Py_CLEAR(clear_module_state->__pyx_codeobj__205);
  Py_CLEAR(clear_module_state->__pyx_codeobj__206);
  Py_CLEAR(clear_module_state->__pyx_codeobj__207);
  Py_CLEAR(clear_module_state->__pyx_codeobj__208);
  Py_CLEAR(clear_module_state->__pyx_codeobj__209);
  Py_CLEAR(clear_module_state->__pyx_codeobj__210);
  Py_CLEAR(clear_module_state->__pyx_codeobj__211);
  Py_CLEAR(clear_module_state->__pyx_codeobj__212);
  Py_CLEAR(clear_module_state->__pyx_codeobj__213);
  Py_CLEAR(clear_module_state->__pyx_codeobj__214);
  Py_CLEAR(clear_module_state->__pyx_codeobj__215);
  Py_CLEAR(clear_module_state->__pyx_codeobj__216);
  Py_CLEAR(clear_module_state->__pyx_codeobj__217);
  Py_CLEAR(clear_module_state->__pyx_codeobj__218);
  Py_CLEAR(clear_module_state->__pyx_codeobj__219);
  Py_CLEAR(clear_module_state->__pyx_codeobj__220);
  Py_CLEAR(clear_module_state->__pyx_codeobj__221);
  Py_CLEAR(clear_module_state->__pyx_codeobj__222);
  Py_CLEAR(clear_module_state->__pyx_codeobj__223);
  Py_CLEAR(clear_module_state->__pyx_codeobj__224);
  Py_CLEAR(clear_module_state->__pyx_codeobj__225);
  Py_CLEAR(clear_module_state->__pyx_codeobj__226);
  Py_CLEAR(clear_module_state->__pyx_codeobj__227);
  Py_CLEAR(clear_module_state->__pyx_codeobj__228);
  Py_CLEAR(clear_module_state->__pyx_codeobj__229);
  Py_CLEAR(clear_module_state->__pyx_codeobj__230);
  Py_CLEAR(clear_module_state->__pyx_codeobj__231);
  Py_CLEAR(clear_module_state->__pyx_codeobj__232);
  Py_CLEAR(clear_module_state->__pyx_codeobj__233);
  Py_CLEAR(clear_module_state->__pyx_codeobj__234);
  Py_CLEAR(clear_module_state->__pyx_codeobj__235);
  Py_CLEAR(clear_module_state->__pyx_codeobj__236);
  Py_CLEAR(clear_module_state->__pyx_codeobj__237);
  Py_CLEAR(clear_module_state->__pyx_codeobj__238);
  Py_CLEAR(clear_module_state->__pyx_codeobj__239);
  Py_CLEAR(clear_module_state->__pyx_codeobj__240);
  Py_CLEAR(clear_module_state->__pyx_codeobj__241);
  Py_CLEAR(clear_module_state->__pyx_codeobj__242);
  Py_CLEAR(clear_module_state->__pyx_codeobj__243);
  Py_CLEAR(clear_module_state->__pyx_codeobj__244);
  Py_CLEAR(clear_module_state->__pyx_codeobj__245);
  Py_CLEAR(clear_module_state->__pyx_codeobj__246);
  Py_CLEAR(clear_module_state->__pyx_codeobj__247);
  Py_CLEAR(clear_module_state->__pyx_codeobj__248);
  Py_CLEAR(clear_module_state->__pyx_codeobj__249);
  Py_CLEAR(clear_module_state->__pyx_codeobj__250);
  Py_CLEAR(clear_module_state->__pyx_codeobj__251);
  Py_CLEAR(clear_module_state->__pyx_codeobj__252);
  Py_CLEAR(clear_module_state->__pyx_codeobj__253);
  Py_CLEAR(clear_module_state->__pyx_codeobj__254);
  Py_CLEAR(clear_module_state->__pyx_codeobj__255);
  Py_CLEAR(clear_module_state->__pyx_codeobj__256);
  Py_CLEAR(clear_module_state->__pyx_codeobj__257);
  Py_CLEAR(clear_module_state->__pyx_codeobj__259);
  Py_CLEAR(clear_module_state->__pyx_codeobj__261);
  Py_CLEAR(clear_module_state->__pyx_codeobj__262);
  Py_CLEAR(clear_module_state->__pyx_codeobj__263);
  Py_CLEAR(clear_module_state->__pyx_codeobj__265);
  Py_CLEAR(clear_module_state->__pyx_codeobj__266);
  Py_CLEAR(clear_module_state->__pyx_codeobj__267);
  Py_CLEAR(clear_module_state->__pyx_codeobj__268);
  Py_CLEAR(clear_module_state->__pyx_codeobj__269);
  Py_CLEAR(clear_module_state->__pyx_codeobj__270);
  Py_CLEAR(clear_module_state->__pyx_codeobj__271);
  Py_CLEAR(clear_module_state->__pyx_codeobj__272);
  Py_CLEAR(clear_module_state->__pyx_codeobj__273);
  Py_CLEAR(clear_module_state->__pyx_codeobj__274);
  Py_CLEAR(clear_module_state->__pyx_codeobj__275);
  Py_CLEAR(clear_module_state->__pyx_codeobj__276);
  Py_CLEAR(clear_module_state->__pyx_codeobj__277);
  Py_CLEAR(clear_module_state->__pyx_codeobj__278);
  Py_CLEAR(clear_module_state->__pyx_codeobj__279);
  Py_CLEAR(clear_module_state->__pyx_codeobj__280);
  Py_CLEAR(clear_module_state->__pyx_codeobj__281);
  Py_CLEAR(clear_module_state->__pyx_codeobj__282);
  Py_CLEAR(clear_module_state->__pyx_codeobj__283);
  Py_CLEAR(clear_module_state->__pyx_codeobj__284);
  Py_CLEAR(clear_module_state->__pyx_codeobj__285);
  Py_CLEAR(clear_module_state->__pyx_codeobj__286);
  Py_CLEAR(clear_module_state->__pyx_codeobj__287);
  Py_CLEAR(clear_module_state->__pyx_codeobj__288);
  Py_CLEAR(clear_module_state->__pyx_codeobj__289);
  Py_CLEAR(clear_module_state->__pyx_codeobj__290);
  Py_CLEAR(clear_module_state->__pyx_codeobj__291);
  Py_CLEAR(clear_module_state->__pyx_codeobj__292);
  Py_CLEAR(clear_module_state->__pyx_codeobj__293);
  Py_CLEAR(clear_module_state->__pyx_codeobj__294);
  Py_CLEAR(clear_module_state->__pyx_codeobj__295);
  Py_CLEAR(clear_module_state->__pyx_codeobj__296);
  Py_CLEAR(clear_module_state->__pyx_codeobj__297);
  Py_CLEAR(clear_module_state->__pyx_codeobj__298);
  Py_CLEAR(clear_module_state->__pyx_codeobj__299);
  Py_CLEAR(clear_module_state->__pyx_codeobj__300);
  Py_CLEAR(clear_module_state->__pyx_codeobj__301);
  Py_CLEAR(clear_module_state->__pyx_codeobj__302);
  Py_CLEAR(clear_module_state->__pyx_codeobj__303);
  Py_CLEAR(clear_module_state->__pyx_codeobj__304);
  Py_CLEAR(clear_module_state->__pyx_codeobj__305);
  Py_CLEAR(clear_module_state->__pyx_codeobj__306);
  Py_CLEAR(clear_module_state->__pyx_codeobj__307);
  Py_CLEAR(clear_module_state->__pyx_codeobj__308);
  Py_CLEAR(clear_module_state->__pyx_codeobj__309);
  Py_CLEAR(clear_module_state->__pyx_codeobj__310);
  Py_CLEAR(clear_module_state->__pyx_codeobj__311);
  Py_CLEAR(clear_module_state->__pyx_codeobj__312);
  Py_CLEAR(clear_module_state->__pyx_codeobj__313);
  Py_CLEAR(clear_module_state->__pyx_codeobj__315);
  Py_CLEAR(clear_module_state->__pyx_codeobj__316);
  Py_CLEAR(clear_module_state->__pyx_codeobj__317);
  Py_CLEAR(clear_module_state->__pyx_codeobj__318);
  Py_CLEAR(clear_module_state->__pyx_codeobj__319);
  Py_CLEAR(clear_module_state->__pyx_codeobj__320);
  Py_CLEAR(clear_module_state->__pyx_codeobj__321);
  Py_CLEAR(clear_module_state->__pyx_codeobj__322);
  Py_CLEAR(clear_module_state->__pyx_codeobj__323);
  Py_CLEAR(clear_module_state->__pyx_codeobj__324);
  Py_CLEAR(clear_module_state->__pyx_codeobj__325);
  Py_CLEAR(clear_module_state->__pyx_codeobj__326);
  Py_CLEAR(clear_module_state->__pyx_codeobj__327);
  Py_CLEAR(clear_module_state->__pyx_codeobj__328);
  Py_CLEAR(clear_module_state->__pyx_codeobj__329);
  Py_CLEAR(clear_module_state->__pyx_codeobj__330);
  Py_CLEAR(clear_module_state->__pyx_codeobj__331);
  Py_CLEAR(clear_module_state->__pyx_codeobj__332);
  Py_CLEAR(clear_module_state->__pyx_codeobj__333);
  Py_CLEAR(clear_module_state->__pyx_codeobj__334);
  Py_CLEAR(clear_module_state->__pyx_codeobj__335);
  Py_CLEAR(clear_module_state->__pyx_codeobj__336);
  Py_CLEAR(clear_module_state->__pyx_codeobj__337);
  Py_CLEAR(clear_module_state->__pyx_codeobj__338);
  Py_CLEAR(clear_module_state->__pyx_codeobj__339);
  Py_CLEAR(clear_module_state->__pyx_codeobj__341);
  Py_CLEAR(clear_module_state->__pyx_codeobj__343);
  Py_CLEAR(clear_module_state->__pyx_codeobj__345);
  Py_CLEAR(clear_module_state->__pyx_codeobj__346);
  Py_CLEAR(clear_module_state->__pyx_codeobj__347);
  Py_CLEAR(clear_module_state->__pyx_codeobj__349);
  Py_CLEAR(clear_module_state->__pyx_codeobj__350);
  Py_CLEAR(clear_module_state->__pyx_codeobj__351);
  Py_CLEAR(clear_module_state->__pyx_codeobj__352);
  Py_CLEAR(clear_module_state->__pyx_codeobj__354);
  Py_CLEAR(clear_module_state->__pyx_codeobj__357);
  Py_CLEAR(clear_module_state->__pyx_codeobj__358);
  Py_CLEAR(clear_module_state->__pyx_codeobj__359);
  Py_CLEAR(clear_module_state->__pyx_codeobj__360);
  Py_CLEAR(clear_module_state->__pyx_codeobj__361);
  Py_CLEAR(clear_module_state->__pyx_codeobj__362);
  Py_CLEAR(clear_module_state->__pyx_codeobj__363);
  Py_CLEAR(clear_module_state->__pyx_codeobj__364);
  Py_CLEAR(clear_module_state->__pyx_codeobj__365);
  Py_CLEAR(clear_module_state->__pyx_codeobj__366);
  Py_CLEAR(clear_module_state->__pyx_codeobj__367);
  Py_CLEAR(clear_module_state->__pyx_codeobj__368);
  Py_CLEAR(clear_module_state->__pyx_codeobj__369);
  Py_CLEAR(clear_module_state->__pyx_codeobj__370);
  Py_CLEAR(clear_module_state->__pyx_codeobj__371);
  Py_CLEAR(clear_module_state->__pyx_codeobj__372);
  Py_CLEAR(clear_module_state->__pyx_codeobj__373);
  Py_CLEAR(clear_module_state->__pyx_codeobj__374);
  Py_CLEAR(clear_module_state->__pyx_codeobj__375);
  Py_CLEAR(clear_module_state->__pyx_codeobj__376);
  Py_CLEAR(clear_module_state->__pyx_codeobj__377);
  Py_CLEAR(clear_module_state->__pyx_codeobj__378);
  Py_CLEAR(clear_module_state->__pyx_codeobj__379);
  Py_CLEAR(clear_module_state->__pyx_codeobj__380);
  Py_CLEAR(clear_module_state->__pyx_codeobj__381);
  Py_CLEAR(clear_module_state->__pyx_codeobj__382);
  Py_CLEAR(clear_module_state->__pyx_codeobj__383);
  Py_CLEAR(clear_module_state->__pyx_codeobj__384);
  Py_CLEAR(clear_module_state->__pyx_codeobj__385);
  Py_CLEAR(clear_module_state->__pyx_codeobj__386);
  Py_CLEAR(clear_module_state->__pyx_codeobj__387);
  Py_CLEAR(clear_module_state->__pyx_codeobj__388);
  Py_CLEAR(clear_module_state->__pyx_codeobj__389);
  Py_CLEAR(clear_module_state->__pyx_codeobj__390);
  Py_CLEAR(clear_module_state->__pyx_codeobj__391);
  Py_CLEAR(clear_module_state->__pyx_codeobj__392);
  Py_CLEAR(clear_module_state->__pyx_codeobj__393);
  Py_CLEAR(clear_module_state->__pyx_codeobj__394);
  Py_CLEAR(clear_module_state->__pyx_codeobj__395);
  Py_CLEAR(clear_module_state->__pyx_codeobj__397);
  Py_CLEAR(clear_module_state->__pyx_codeobj__399);
  Py_CLEAR(clear_module_state->__pyx_codeobj__400);
  return 0;
}
#endif
/* #### Code section: module_state_traverse ### */
#if CYTHON_USE_MODULE_STATE
static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
  __pyx_mstate *traverse_module_state = __pyx_mstate(m);
  if (!traverse_module_state) return 0;
  Py_VISIT(traverse_module_state->__pyx_d);
  Py_VISIT(traverse_module_state->__pyx_b);
  Py_VISIT(traverse_module_state->__pyx_cython_runtime);
  Py_VISIT(traverse_module_state->__pyx_empty_tuple);
  Py_VISIT(traverse_module_state->__pyx_empty_bytes);
  Py_VISIT(traverse_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
  #endif
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_dtype);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flatiter);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_broadcast);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ndarray);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_generic);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_number);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_integer);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_signedinteger);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_unsignedinteger);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_inexact);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_floating);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_complexfloating);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flexible);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_character);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ufunc);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Context);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Context);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_baseItem);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_baseItem);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Viewport);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Viewport);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Callback);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Callback);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_drawingItem);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_drawingItem);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawingList);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawingList);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawingListScale);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawingListScale);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawArrow_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawArrow_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawBezierCubic_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawBezierCubic_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawBezierQuadratic_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawCircle_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawCircle_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawEllipse_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawEllipse_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawImage_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawImage_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawImageQuad_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawImageQuad_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawLine_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawLine_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawPolyline_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawPolyline_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawPolygon_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawPolygon_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawQuad_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawQuad_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawRect_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawRect_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawText_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawText_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawTriangle_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawTriangle_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawInvisibleButton);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawInvisibleButton);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ViewportDrawList_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ViewportDrawList_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedValue);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedBool);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedBool);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedFloat);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedFloat);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedInt);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedInt);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedColor);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedColor);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedDouble);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedDouble);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedStr);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedStr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedFloat4);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedFloat4);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedInt4);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedInt4);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedDouble4);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedDouble4);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SharedFloatVect);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SharedFloatVect);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_baseHandler);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_baseHandler);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_KeyDownHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_KeyDownHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_KeyPressHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_KeyPressHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_KeyReleaseHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseClickHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseClickHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseDoubleClickHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseDownHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseDownHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseDragHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseDragHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseMoveHandler);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseMoveHandler);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseReleaseHandler_);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MouseWheelHandler);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MouseWheelHandler);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_uiItem);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_uiItem);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawInWindow);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawInWindow);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_SimplePlot);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_SimplePlot);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Button);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Button);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Combo);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Combo);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Checkbox);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Checkbox);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Slider);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Slider);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ListBox);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ListBox);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_RadioButton);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_RadioButton);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_InputText);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_InputText);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_InputValue);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_InputValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Text);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Text);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Selectable);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Selectable);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MenuItem);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MenuItem);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ProgressBar);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ProgressBar);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Image);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Image);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ImageButton);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ImageButton);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Separator);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Separator);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Spacer);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Spacer);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_MenuBar);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_MenuBar);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Menu);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Menu);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Tooltip);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Tooltip);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_TabButton);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_TabButton);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Tab);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Tab);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_TabBar);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_TabBar);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Layout);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Layout);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_HorizontalLayout);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_HorizontalLayout);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_VerticalLayout);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_VerticalLayout);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_TreeNode);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_TreeNode);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_CollapsingHeader);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_CollapsingHeader);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ChildWindow);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ChildWindow);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ColorButton);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ColorButton);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ColorEdit);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ColorEdit);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_ColorPicker);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_ColorPicker);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_TimeWatcher);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_TimeWatcher);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Window);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Window);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Texture);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Texture);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Font);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Font);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_FontTexture);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_FontTexture);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_baseTheme);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_baseTheme);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotAxisConfig);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotAxisConfig);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotLegendConfig);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotLegendConfig);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_Plot);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_Plot);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_plotElement);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_plotElement);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_plotElementWithLegend);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_plotElementWithLegend);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_plotElementXY);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_plotElementXY);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotLine);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotLine);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_plotElementXYY);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_plotElementXYY);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotShadedLine);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotShadedLine);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotStems);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotStems);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotBars);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotBars);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotStairs);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotStairs);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_plotElementX);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_plotElementX);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotInfLines);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotInfLines);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlotScatter);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlotScatter);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DrawInPlot);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DrawInPlot);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_DPGCallback);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_DPGCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_9dearcygui_4core_PlaceHolderParent);
  Py_VISIT(traverse_module_state->__pyx_type_9dearcygui_4core_PlaceHolderParent);
  Py_VISIT(traverse_module_state->__pyx_ptype___Pyx_EnumMeta);
  Py_VISIT(traverse_module_state->__Pyx_EnumMeta);
  Py_VISIT(traverse_module_state->__pyx_array_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_array);
  Py_VISIT(traverse_module_state->__pyx_MemviewEnum_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_MemviewEnum);
  Py_VISIT(traverse_module_state->__pyx_memoryview_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryview);
  Py_VISIT(traverse_module_state->__pyx_memoryviewslice_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryviewslice);
  Py_VISIT(traverse_module_state->__pyx_kp_b_);
  Py_VISIT(traverse_module_state->__pyx_kp_s_);
  Py_VISIT(traverse_module_state->__pyx_kp_u_);
  Py_VISIT(traverse_module_state->__pyx_kp_b_3f);
  Py_VISIT(traverse_module_state->__pyx_n_s_ASCII);
  Py_VISIT(traverse_module_state->__pyx_kp_s_All_dimensions_preceding_dimensi);
  Py_VISIT(traverse_module_state->__pyx_kp_u_An_error_occured_in_the_viewport);
  Py_VISIT(traverse_module_state->__pyx_kp_u_An_error_occured_in_the_viewport_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_AssertionError);
  Py_VISIT(traverse_module_state->__pyx_n_s_AttributeError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Axes_must_be_a_tuple_of_valid_X);
  Py_VISIT(traverse_module_state->__pyx_n_s_Axis);
  Py_VISIT(traverse_module_state->__pyx_n_s_AxisScale);
  Py_VISIT(traverse_module_state->__pyx_n_u_B);
  Py_VISIT(traverse_module_state->__pyx_n_s_BOTTOM);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Buffer_view_does_not_expose_stri);
  Py_VISIT(traverse_module_state->__pyx_n_s_Button);
  Py_VISIT(traverse_module_state->__pyx_n_s_Button___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Button___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_C);
  Py_VISIT(traverse_module_state->__pyx_n_s_CENTER);
  Py_VISIT(traverse_module_state->__pyx_n_u_C_CONTIGUOUS);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback);
  Py_VISIT(traverse_module_state->__pyx_n_s_Callback_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_Callback___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Callback___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback_argument_was);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback_arguments_were);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback_called_without_argument);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback_function_takes_too_many);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Callback_requires_a_callable_obj);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Can_only_create_a_buffer_that_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_add_Font_to_built_FontTex);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Cannot_assign_to_read_only_memor);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_attach);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_bind_sibling_if_no_parent);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Cannot_create_writable_memory_vi);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_get_mouse_position_no_mou);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_index_with_type);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_set_empty_texture);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Cannot_transpose_memoryview_with);
  Py_VISIT(traverse_module_state->__pyx_n_s_Checkbox);
  Py_VISIT(traverse_module_state->__pyx_n_s_Checkbox___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Checkbox___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ChildWindow);
  Py_VISIT(traverse_module_state->__pyx_n_s_ChildWindow___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ChildWindow___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CollapsingHeader);
  Py_VISIT(traverse_module_state->__pyx_n_s_CollapsingHeader___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CollapsingHeader___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorButton);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorButton___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorButton___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorEdit);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorEdit___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorEdit___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorPicker);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorPicker___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ColorPicker___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Color_data_must_either_an_int32);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Color_value_component_outside_bo);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Color_value_component_outside_bo_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_Combo);
  Py_VISIT(traverse_module_state->__pyx_n_s_Combo___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Combo___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_fetch_last_created_conta);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_fetch_last_created_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_fetch_parent_queue_back);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_fetch_parent_queue_front);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_get_mouse_clicked_count);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_get_mouse_drag_delta);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_get_mouse_position);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_key_down);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_key_pressed);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_key_released);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_mouse_clicked);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_mouse_double_clicked);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_mouse_down);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_mouse_dragging);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_is_mouse_released);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_pop_next_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_push_next_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_Context_reset_mouse_drag_delta);
  Py_VISIT(traverse_module_state->__pyx_n_s_CursorArrow);
  Py_VISIT(traverse_module_state->__pyx_n_s_CursorNone);
  Py_VISIT(traverse_module_state->__pyx_n_s_CursorTextInput);
  Py_VISIT(traverse_module_state->__pyx_n_s_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_DPGCallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_DPGCallback___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DPGCallback___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_b_DPG_PAYLOAD);
  Py_VISIT(traverse_module_state->__pyx_n_s_Delaunay);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Dimension_d_is_not_direct);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawArrow);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawArrow____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawArrow____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierCubic);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierCubic____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierCubic____setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierQuadratic);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierQuadratic____reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawBezierQuadratic____setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawCircle);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawCircle____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawCircle____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawEllipse);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawEllipse____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawEllipse____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImage);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImageQuad);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImageQuad____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImageQuad____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImage____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawImage____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInPlot);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInPlot___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInPlot___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInWindow);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInWindow___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInWindow___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInvisibleButton);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInvisibleButton___reduce_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawInvisibleButton___setstate_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawLine);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawLine____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawLine____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolygon);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolygon____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolygon____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolyline);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolyline____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawPolyline____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawQuad);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawQuad____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawQuad____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawRect);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawRect____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawRect____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawText);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawText____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawText____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawTriangle);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawTriangle____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawTriangle____setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingList);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingListScale);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingListScale___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingListScale___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingList___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_DrawingList___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Ellipsis);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Empty_shape_tuple_for_cython_arr);
  Py_VISIT(traverse_module_state->__pyx_n_s_EnumBase);
  Py_VISIT(traverse_module_state->__pyx_n_s_EnumType);
  Py_VISIT(traverse_module_state->__pyx_n_s_Executor);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_a_shareable_value_of_ty);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_int_float_or_double_Got);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_tuple_for_pos_x_y);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Expected_tuple_got);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Failed_to_build_target_texture_d);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Failed_to_create_the_viewport);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Failed_to_load_target_Font_file);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Failed_to_upload_target_texture);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Field_undefined_for_type);
  Py_VISIT(traverse_module_state->__pyx_kp_u_File);
  Py_VISIT(traverse_module_state->__pyx_n_s_FindSystemFontsFilenameException);
  Py_VISIT(traverse_module_state->__pyx_n_s_Font);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture___delalloc);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture_add_font_file);
  Py_VISIT(traverse_module_state->__pyx_n_s_FontTexture_build);
  Py_VISIT(traverse_module_state->__pyx_n_s_Font___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Font___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Hand);
  Py_VISIT(traverse_module_state->__pyx_n_s_HorizontalLayout);
  Py_VISIT(traverse_module_state->__pyx_n_s_HorizontalLayout___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_HorizontalLayout___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_HorizontalLayout_update_layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_Image);
  Py_VISIT(traverse_module_state->__pyx_n_s_ImageButton);
  Py_VISIT(traverse_module_state->__pyx_n_s_ImageButton___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ImageButton___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Image___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Image___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ImportError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_IndexError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Index_out_of_bounds_axis_d);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Indirect_dimensions_not_supporte);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputText);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputText___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputText___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputValue___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputValue___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_InputValue_configure);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Instance_of_type_cannot_be_attac);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Instance_of_type_cannot_be_sibli);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Instance_of_type_cannot_have_a_s);
  Py_VISIT(traverse_module_state->__pyx_n_s_IntEnum);
  Py_VISIT(traverse_module_state->__pyx_n_s_IntFlag);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_alignment_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_arguments_passed_to_Text);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_button);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_button_mask);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_cursor_type_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_direction_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_height_mode_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_key);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_location_Must_be_a_Legen);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_mode_expected_c_or_fortr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_number_of_texture_dimens);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_positioning_policy);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_scale);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_scale_Expecting_an_AxisS);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_shape_in_axis);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_texture_size);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_type);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Item_not_found_with_index);
  Py_VISIT(traverse_module_state->__pyx_n_s_JUSTIFIED);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyDownHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyDownHandler____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyDownHandler____setstate_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyError);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyPressHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyPressHandler____reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyPressHandler____setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyReleaseHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyReleaseHandler____reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_KeyReleaseHandler____setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_LEFT);
  Py_VISIT(traverse_module_state->__pyx_n_s_Layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_Layout___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Layout___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Layout_update_layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_LegendLocation);
  Py_VISIT(traverse_module_state->__pyx_n_s_ListBox);
  Py_VISIT(traverse_module_state->__pyx_n_s_ListBox___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ListBox___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MANUAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_MemoryError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_MemoryView_of_r_at_0x_x);
  Py_VISIT(traverse_module_state->__pyx_kp_s_MemoryView_of_r_object);
  Py_VISIT(traverse_module_state->__pyx_n_s_Menu);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuBar);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuBar___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuBar___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuItem);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuItem___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MenuItem___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Menu___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Menu___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseClickHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseClickHandler____reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseClickHandler____setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDoubleClickHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDoubleClickHandler____reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDoubleClickHandler____setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDownHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDownHandler____reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDownHandler____setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDragHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDragHandler____reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseDragHandler____setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseMoveHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseMoveHandler___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseMoveHandler___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseReleaseHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseReleaseHandler____reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseReleaseHandler____setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseWheelHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseWheelHandler___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_MouseWheelHandler___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_N);
  Py_VISIT(traverse_module_state->__pyx_kp_u_None);
  Py_VISIT(traverse_module_state->__pyx_n_s_NotAllowed);
  Py_VISIT(traverse_module_state->__pyx_n_b_O);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Objects_of_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_OrderedDict);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Outside_range);
  Py_VISIT(traverse_module_state->__pyx_n_s_PermissionError);
  Py_VISIT(traverse_module_state->__pyx_n_s_PickleError);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlaceHolderParent);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlaceHolderParent___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlaceHolderParent___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_Plot);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotAxisConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotAxisConfig___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotAxisConfig___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotAxisConfig_fit);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotBars);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotBars___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotBars___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotInfLines);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotInfLines___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotInfLines___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLegendConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLegendConfig___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLegendConfig___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLine);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLine___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotLine___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotScatter);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotScatter___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotScatter___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotShadedLine);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotShadedLine___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotShadedLine___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStairs);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStairs___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStairs___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStems);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStems___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_PlotStems___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Plot___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Plot___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Point_data_must_be_an_array_of_u);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Point_data_must_be_an_array_of_u_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_ProggyClean_ttf);
  Py_VISIT(traverse_module_state->__pyx_n_s_ProgressBar);
  Py_VISIT(traverse_module_state->__pyx_n_s_ProgressBar___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_ProgressBar___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Provided_context_is_not_a_valid);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumBase);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumBase___new);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumBase___repr);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumBase___str);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumMeta___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumMeta___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___new);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___repr);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___str);
  Py_VISIT(traverse_module_state->__pyx_n_s_REL_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_REL_PARENT);
  Py_VISIT(traverse_module_state->__pyx_n_s_REL_VIEWPORT);
  Py_VISIT(traverse_module_state->__pyx_n_s_REL_WINDOW);
  Py_VISIT(traverse_module_state->__pyx_n_s_RIGHT);
  Py_VISIT(traverse_module_state->__pyx_n_s_RadioButton);
  Py_VISIT(traverse_module_state->__pyx_n_s_RadioButton___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_RadioButton___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Received);
  Py_VISIT(traverse_module_state->__pyx_n_s_ResizeAll);
  Py_VISIT(traverse_module_state->__pyx_n_s_ResizeEW);
  Py_VISIT(traverse_module_state->__pyx_n_s_ResizeNESW);
  Py_VISIT(traverse_module_state->__pyx_n_s_ResizeNS);
  Py_VISIT(traverse_module_state->__pyx_n_s_ResizeNWSE);
  Py_VISIT(traverse_module_state->__pyx_n_s_RuntimeError);
  Py_VISIT(traverse_module_state->__pyx_n_s_Selectable);
  Py_VISIT(traverse_module_state->__pyx_n_s_Selectable___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Selectable___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Separator);
  Py_VISIT(traverse_module_state->__pyx_n_s_Separator___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Separator___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Sequence);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedBool);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedBool___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedBool___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedColor);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedColor___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedColor___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble4);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble4___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble4___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedDouble___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat4);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat4___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat4___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloatVect);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloatVect___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloatVect___setstate_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedFloat___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt4);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt4___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt4___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedInt___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedStr);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedStr___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedStr___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedValue___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SharedValue___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Shared_value_is_empty_Cannot_set);
  Py_VISIT(traverse_module_state->__pyx_n_s_SimplePlot);
  Py_VISIT(traverse_module_state->__pyx_n_s_SimplePlot___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SimplePlot___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_SimplePlot_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_Slider);
  Py_VISIT(traverse_module_state->__pyx_n_s_Slider___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Slider___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Slider_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_Spacer);
  Py_VISIT(traverse_module_state->__pyx_n_s_Spacer___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Spacer___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Step_may_not_be_zero_axis_d);
  Py_VISIT(traverse_module_state->__pyx_n_s_TOP);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tab);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabBar);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabBar___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabBar___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabButton);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabButton___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TabButton___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tab___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tab___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Tag);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Target_texture_is_read_only);
  Py_VISIT(traverse_module_state->__pyx_n_s_Text);
  Py_VISIT(traverse_module_state->__pyx_n_s_Text___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Text___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture___delalloc);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture_configure);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Texture_not_yet_built);
  Py_VISIT(traverse_module_state->__pyx_n_s_Texture_set_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_The_viewport_must_be_initialized);
  Py_VISIT(traverse_module_state->__pyx_kp_u_The_viewport_must_be_not_be_init);
  Py_VISIT(traverse_module_state->__pyx_kp_u_There_must_be_at_least_space_for);
  Py_VISIT(traverse_module_state->__pyx_n_s_ThreadPoolExecutor);
  Py_VISIT(traverse_module_state->__pyx_n_s_TimeWatcher);
  Py_VISIT(traverse_module_state->__pyx_n_s_TimeWatcher___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TimeWatcher___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tooltip);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tooltip___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tooltip___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TreeNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_TreeNode___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_TreeNode___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Trying_to_attach_a_deleted_item);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Trying_to_attach_to_None);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Trying_to_attach_to_a_deleted_it);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Trying_to_attach_to_an_un_attach);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Trying_to_lock_parent_mutex_whil);
  Py_VISIT(traverse_module_state->__pyx_n_s_TypeError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Unable_to_convert_item_to_object);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Uninitialized_font);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Unknown_enum_value_s);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Unused_configure_parameters);
  Py_VISIT(traverse_module_state->__pyx_n_s_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_VerticalLayout);
  Py_VISIT(traverse_module_state->__pyx_n_s_VerticalLayout___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VerticalLayout___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VerticalLayout_update_layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_View_MemoryView);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport);
  Py_VISIT(traverse_module_state->__pyx_n_s_ViewportDrawList);
  Py_VISIT(traverse_module_state->__pyx_n_s_ViewportDrawList____reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_ViewportDrawList____setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Viewport_already_initialized);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport_initialize);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport_render_frame);
  Py_VISIT(traverse_module_state->__pyx_n_s_Viewport_wake);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Warning_self_cannot_have_childre);
  Py_VISIT(traverse_module_state->__pyx_n_s_WeakValueDictionary);
  Py_VISIT(traverse_module_state->__pyx_n_s_Window);
  Py_VISIT(traverse_module_state->__pyx_n_s_Window___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_Window___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Window_must_be_attached_before_b);
  Py_VISIT(traverse_module_state->__pyx_n_s_X1);
  Py_VISIT(traverse_module_state->__pyx_n_s_X2);
  Py_VISIT(traverse_module_state->__pyx_n_s_X3);
  Py_VISIT(traverse_module_state->__pyx_n_s_Y1);
  Py_VISIT(traverse_module_state->__pyx_n_s_Y2);
  Py_VISIT(traverse_module_state->__pyx_n_s_Y3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_You_must_add_fonts_first);
  Py_VISIT(traverse_module_state->__pyx_kp_u__3);
  Py_VISIT(traverse_module_state->__pyx_kp_u__4);
  Py_VISIT(traverse_module_state->__pyx_n_s__401);
  Py_VISIT(traverse_module_state->__pyx_kp_u__42);
  Py_VISIT(traverse_module_state->__pyx_kp_u__44);
  Py_VISIT(traverse_module_state->__pyx_n_s__5);
  Py_VISIT(traverse_module_state->__pyx_kp_u__8);
  Py_VISIT(traverse_module_state->__pyx_kp_u__9);
  Py_VISIT(traverse_module_state->__pyx_n_s_abc);
  Py_VISIT(traverse_module_state->__pyx_n_u_active_windows);
  Py_VISIT(traverse_module_state->__pyx_n_s_add_font_file);
  Py_VISIT(traverse_module_state->__pyx_n_s_alignment);
  Py_VISIT(traverse_module_state->__pyx_n_s_allocate_buffer);
  Py_VISIT(traverse_module_state->__pyx_kp_u_already_has_a_parent);
  Py_VISIT(traverse_module_state->__pyx_kp_u_already_in_use);
  Py_VISIT(traverse_module_state->__pyx_kp_u_and);
  Py_VISIT(traverse_module_state->__pyx_n_s_append);
  Py_VISIT(traverse_module_state->__pyx_n_s_args);
  Py_VISIT(traverse_module_state->__pyx_n_s_array);
  Py_VISIT(traverse_module_state->__pyx_kp_u_as_it_was_not_created_in_the_sa);
  Py_VISIT(traverse_module_state->__pyx_kp_u_as_the_user_holds_a_lock_on);
  Py_VISIT(traverse_module_state->__pyx_n_s_asarray);
  Py_VISIT(traverse_module_state->__pyx_n_s_ascontiguousarray);
  Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
  Py_VISIT(traverse_module_state->__pyx_n_u_attach);
  Py_VISIT(traverse_module_state->__pyx_n_s_attach_before);
  Py_VISIT(traverse_module_state->__pyx_n_s_attach_to_parent);
  Py_VISIT(traverse_module_state->__pyx_n_u_autosize);
  Py_VISIT(traverse_module_state->__pyx_n_s_backend_m);
  Py_VISIT(traverse_module_state->__pyx_n_s_base);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseHandler);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseHandler___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseHandler___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem___enter);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem___exit);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_attach_before);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_attach_to_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_delete_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_detach_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_lock_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseItem_unlock_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseTheme);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseTheme___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseTheme___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_baseTheme_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_before);
  Py_VISIT(traverse_module_state->__pyx_n_u_before);
  Py_VISIT(traverse_module_state->__pyx_n_s_bpp);
  Py_VISIT(traverse_module_state->__pyx_n_s_build);
  Py_VISIT(traverse_module_state->__pyx_kp_u_but_not);
  Py_VISIT(traverse_module_state->__pyx_kp_u_but_not_in_the_same_threads);
  Py_VISIT(traverse_module_state->__pyx_n_s_button);
  Py_VISIT(traverse_module_state->__pyx_n_s_c);
  Py_VISIT(traverse_module_state->__pyx_n_u_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_call_info);
  Py_VISIT(traverse_module_state->__pyx_n_s_callback);
  Py_VISIT(traverse_module_state->__pyx_n_u_callback);
  Py_VISIT(traverse_module_state->__pyx_n_s_callback_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_callbacks);
  Py_VISIT(traverse_module_state->__pyx_n_s_can_skip_presenting);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cannot_be_disabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_center);
  Py_VISIT(traverse_module_state->__pyx_kp_u_children_must_be_a_array_of_chil);
  Py_VISIT(traverse_module_state->__pyx_n_s_class);
  Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem);
  Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
  Py_VISIT(traverse_module_state->__pyx_n_s_cls);
  Py_VISIT(traverse_module_state->__pyx_n_s_co_argcount);
  Py_VISIT(traverse_module_state->__pyx_n_s_code);
  Py_VISIT(traverse_module_state->__pyx_n_s_collections);
  Py_VISIT(traverse_module_state->__pyx_kp_s_collections_abc);
  Py_VISIT(traverse_module_state->__pyx_n_s_color);
  Py_VISIT(traverse_module_state->__pyx_n_s_color_as_floats);
  Py_VISIT(traverse_module_state->__pyx_n_s_color_as_int);
  Py_VISIT(traverse_module_state->__pyx_n_s_color_as_ints);
  Py_VISIT(traverse_module_state->__pyx_n_s_color_vec);
  Py_VISIT(traverse_module_state->__pyx_n_s_concurrent_futures);
  Py_VISIT(traverse_module_state->__pyx_n_s_config);
  Py_VISIT(traverse_module_state->__pyx_n_s_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_context);
  Py_VISIT(traverse_module_state->__pyx_kp_s_contiguous_and_direct);
  Py_VISIT(traverse_module_state->__pyx_kp_s_contiguous_and_indirect);
  Py_VISIT(traverse_module_state->__pyx_n_s_copy);
  Py_VISIT(traverse_module_state->__pyx_n_s_count);
  Py_VISIT(traverse_module_state->__pyx_n_s_current_time);
  Py_VISIT(traverse_module_state->__pyx_kp_b_d);
  Py_VISIT(traverse_module_state->__pyx_n_s_data);
  Py_VISIT(traverse_module_state->__pyx_n_s_data_array);
  Py_VISIT(traverse_module_state->__pyx_n_s_dct);
  Py_VISIT(traverse_module_state->__pyx_kp_s_dearcygui_core);
  Py_VISIT(traverse_module_state->__pyx_kp_s_dearcygui_core_pyx);
  Py_VISIT(traverse_module_state->__pyx_n_s_default_dir);
  Py_VISIT(traverse_module_state->__pyx_n_s_default_font_texture);
  Py_VISIT(traverse_module_state->__pyx_n_s_defaults);
  Py_VISIT(traverse_module_state->__pyx_n_s_delalloc);
  Py_VISIT(traverse_module_state->__pyx_n_s_delete_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_delta);
  Py_VISIT(traverse_module_state->__pyx_n_u_delta_event_handling);
  Py_VISIT(traverse_module_state->__pyx_n_u_delta_presenting);
  Py_VISIT(traverse_module_state->__pyx_n_u_delta_rendering);
  Py_VISIT(traverse_module_state->__pyx_n_u_delta_whole_frame);
  Py_VISIT(traverse_module_state->__pyx_n_s_density_scale);
  Py_VISIT(traverse_module_state->__pyx_n_s_detach_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_dict);
  Py_VISIT(traverse_module_state->__pyx_n_u_dict);
  Py_VISIT(traverse_module_state->__pyx_n_s_dict_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_dir);
  Py_VISIT(traverse_module_state->__pyx_n_s_dirname);
  Py_VISIT(traverse_module_state->__pyx_kp_u_disable);
  Py_VISIT(traverse_module_state->__pyx_n_s_doc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_does_not_exist);
  Py_VISIT(traverse_module_state->__pyx_n_u_double);
  Py_VISIT(traverse_module_state->__pyx_n_s_drawingItem);
  Py_VISIT(traverse_module_state->__pyx_n_s_drawingItem___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_drawingItem___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_dtype);
  Py_VISIT(traverse_module_state->__pyx_n_s_dtype_is_object);
  Py_VISIT(traverse_module_state->__pyx_n_s_e);
  Py_VISIT(traverse_module_state->__pyx_n_s_east);
  Py_VISIT(traverse_module_state->__pyx_kp_u_enable);
  Py_VISIT(traverse_module_state->__pyx_n_s_enabled);
  Py_VISIT(traverse_module_state->__pyx_n_u_enabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_encode);
  Py_VISIT(traverse_module_state->__pyx_n_s_encoding);
  Py_VISIT(traverse_module_state->__pyx_n_s_enter);
  Py_VISIT(traverse_module_state->__pyx_n_s_enum);
  Py_VISIT(traverse_module_state->__pyx_n_s_enumerate);
  Py_VISIT(traverse_module_state->__pyx_n_s_error);
  Py_VISIT(traverse_module_state->__pyx_n_s_exc_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_exc_value);
  Py_VISIT(traverse_module_state->__pyx_n_s_exists);
  Py_VISIT(traverse_module_state->__pyx_n_s_exit);
  Py_VISIT(traverse_module_state->__pyx_n_s_fetch_last_created_container);
  Py_VISIT(traverse_module_state->__pyx_n_s_fetch_last_created_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_fetch_parent_queue_back);
  Py_VISIT(traverse_module_state->__pyx_n_s_fetch_parent_queue_front);
  Py_VISIT(traverse_module_state->__pyx_n_s_file);
  Py_VISIT(traverse_module_state->__pyx_n_s_find_system_fonts_filename);
  Py_VISIT(traverse_module_state->__pyx_n_s_fit);
  Py_VISIT(traverse_module_state->__pyx_n_s_flags);
  Py_VISIT(traverse_module_state->__pyx_n_u_float);
  Py_VISIT(traverse_module_state->__pyx_n_s_float32);
  Py_VISIT(traverse_module_state->__pyx_n_s_float64);
  Py_VISIT(traverse_module_state->__pyx_n_s_font);
  Py_VISIT(traverse_module_state->__pyx_n_s_font_object);
  Py_VISIT(traverse_module_state->__pyx_n_s_fonts_filename);
  Py_VISIT(traverse_module_state->__pyx_kp_u_for);
  Py_VISIT(traverse_module_state->__pyx_n_s_format);
  Py_VISIT(traverse_module_state->__pyx_n_u_format);
  Py_VISIT(traverse_module_state->__pyx_n_s_format_exc);
  Py_VISIT(traverse_module_state->__pyx_n_s_fortran);
  Py_VISIT(traverse_module_state->__pyx_n_u_fortran);
  Py_VISIT(traverse_module_state->__pyx_n_u_frame_count);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gc);
  Py_VISIT(traverse_module_state->__pyx_n_s_get);
  Py_VISIT(traverse_module_state->__pyx_n_s_get_mouse_clicked_count);
  Py_VISIT(traverse_module_state->__pyx_n_s_get_mouse_drag_delta);
  Py_VISIT(traverse_module_state->__pyx_n_s_get_mouse_position);
  Py_VISIT(traverse_module_state->__pyx_n_s_get_system_fonts);
  Py_VISIT(traverse_module_state->__pyx_n_s_get_system_fonts_filename);
  Py_VISIT(traverse_module_state->__pyx_n_s_getstate);
  Py_VISIT(traverse_module_state->__pyx_kp_u_got);
  Py_VISIT(traverse_module_state->__pyx_kp_u_got_differing_extents_in_dimensi);
  Py_VISIT(traverse_module_state->__pyx_n_s_height);
  Py_VISIT(traverse_module_state->__pyx_n_s_hint_dynamic);
  Py_VISIT(traverse_module_state->__pyx_n_s_histogram);
  Py_VISIT(traverse_module_state->__pyx_n_s_i);
  Py_VISIT(traverse_module_state->__pyx_n_s_id);
  Py_VISIT(traverse_module_state->__pyx_n_s_ignore_if_fail);
  Py_VISIT(traverse_module_state->__pyx_n_s_imgui_m);
  Py_VISIT(traverse_module_state->__pyx_n_s_import);
  Py_VISIT(traverse_module_state->__pyx_n_s_index);
  Py_VISIT(traverse_module_state->__pyx_n_s_index_in_file);
  Py_VISIT(traverse_module_state->__pyx_n_s_init);
  Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass);
  Py_VISIT(traverse_module_state->__pyx_n_s_initialize);
  Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
  Py_VISIT(traverse_module_state->__pyx_n_u_int);
  Py_VISIT(traverse_module_state->__pyx_kp_u_is_an_invalid_index_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_key_down);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_key_pressed);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_key_released);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_mouse_clicked);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_mouse_double_clicked);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_mouse_down);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_mouse_dragging);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_mouse_released);
  Py_VISIT(traverse_module_state->__pyx_kp_u_is_not_a_compatible_item_instan);
  Py_VISIT(traverse_module_state->__pyx_kp_u_is_not_a_handler);
  Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_items);
  Py_VISIT(traverse_module_state->__pyx_n_s_itemsize);
  Py_VISIT(traverse_module_state->__pyx_kp_s_itemsize_0_for_cython_array);
  Py_VISIT(traverse_module_state->__pyx_n_s_join);
  Py_VISIT(traverse_module_state->__pyx_n_s_key);
  Py_VISIT(traverse_module_state->__pyx_n_s_keymod);
  Py_VISIT(traverse_module_state->__pyx_n_s_keys);
  Py_VISIT(traverse_module_state->__pyx_n_s_kwargs);
  Py_VISIT(traverse_module_state->__pyx_n_u_large);
  Py_VISIT(traverse_module_state->__pyx_n_u_largest);
  Py_VISIT(traverse_module_state->__pyx_n_s_last_container_uuid);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_container_uuid);
  Py_VISIT(traverse_module_state->__pyx_n_s_last_item_uuid);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_item_uuid);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_time_after_rendering);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_time_after_swapping);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_time_before_event_handling);
  Py_VISIT(traverse_module_state->__pyx_n_u_last_time_before_rendering);
  Py_VISIT(traverse_module_state->__pyx_kp_b_ld);
  Py_VISIT(traverse_module_state->__pyx_n_u_len);
  Py_VISIT(traverse_module_state->__pyx_n_s_linear);
  Py_VISIT(traverse_module_state->__pyx_n_s_local);
  Py_VISIT(traverse_module_state->__pyx_n_s_lock_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_lock_threshold);
  Py_VISIT(traverse_module_state->__pyx_n_s_locked);
  Py_VISIT(traverse_module_state->__pyx_n_s_log10);
  Py_VISIT(traverse_module_state->__pyx_n_s_logarithmic);
  Py_VISIT(traverse_module_state->__pyx_n_u_logarithmic);
  Py_VISIT(traverse_module_state->__pyx_n_s_m);
  Py_VISIT(traverse_module_state->__pyx_n_s_m2);
  Py_VISIT(traverse_module_state->__pyx_n_s_m3);
  Py_VISIT(traverse_module_state->__pyx_n_s_main);
  Py_VISIT(traverse_module_state->__pyx_n_u_max_clamped);
  Py_VISIT(traverse_module_state->__pyx_n_s_max_workers);
  Py_VISIT(traverse_module_state->__pyx_n_s_maximized);
  Py_VISIT(traverse_module_state->__pyx_n_u_maxv);
  Py_VISIT(traverse_module_state->__pyx_n_s_member_names);
  Py_VISIT(traverse_module_state->__pyx_n_s_members);
  Py_VISIT(traverse_module_state->__pyx_n_s_memview);
  Py_VISIT(traverse_module_state->__pyx_n_s_metaclass);
  Py_VISIT(traverse_module_state->__pyx_n_u_min_clamped);
  Py_VISIT(traverse_module_state->__pyx_n_s_minimized);
  Py_VISIT(traverse_module_state->__pyx_n_u_minv);
  Py_VISIT(traverse_module_state->__pyx_n_s_mode);
  Py_VISIT(traverse_module_state->__pyx_n_s_module);
  Py_VISIT(traverse_module_state->__pyx_n_s_module_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_mouse_cursor);
  Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries);
  Py_VISIT(traverse_module_state->__pyx_n_s_multiline);
  Py_VISIT(traverse_module_state->__pyx_n_s_name);
  Py_VISIT(traverse_module_state->__pyx_n_s_name_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_ndim);
  Py_VISIT(traverse_module_state->__pyx_n_u_nearest_neighbor_upsampling);
  Py_VISIT(traverse_module_state->__pyx_n_s_new);
  Py_VISIT(traverse_module_state->__pyx_n_s_next_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_nlocked);
  Py_VISIT(traverse_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
  Py_VISIT(traverse_module_state->__pyx_n_s_north);
  Py_VISIT(traverse_module_state->__pyx_n_s_northeast);
  Py_VISIT(traverse_module_state->__pyx_n_s_northwest);
  Py_VISIT(traverse_module_state->__pyx_n_s_np);
  Py_VISIT(traverse_module_state->__pyx_n_s_num_attached);
  Py_VISIT(traverse_module_state->__pyx_n_s_numpy);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numpy__core_multiarray_failed_to);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numpy__core_umath_failed_to_impo);
  Py_VISIT(traverse_module_state->__pyx_n_s_obj);
  Py_VISIT(traverse_module_state->__pyx_n_s_os);
  Py_VISIT(traverse_module_state->__pyx_n_s_pack);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pan_mod_must_be_a_combinaison_of);
  Py_VISIT(traverse_module_state->__pyx_n_s_parent);
  Py_VISIT(traverse_module_state->__pyx_n_u_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_parent_queue);
  Py_VISIT(traverse_module_state->__pyx_n_u_parent_queue);
  Py_VISIT(traverse_module_state->__pyx_n_s_parents);
  Py_VISIT(traverse_module_state->__pyx_kp_u_passed_as_items_Expected_array);
  Py_VISIT(traverse_module_state->__pyx_kp_u_passed_as_labels_Expected_array);
  Py_VISIT(traverse_module_state->__pyx_kp_u_passed_as_labels_coord_Expected);
  Py_VISIT(traverse_module_state->__pyx_kp_u_passed_to);
  Py_VISIT(traverse_module_state->__pyx_n_s_path);
  Py_VISIT(traverse_module_state->__pyx_n_s_path_string);
  Py_VISIT(traverse_module_state->__pyx_n_s_pickle);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElement);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementWithLegend);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementWithLegend___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementWithLegend___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementX);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXY);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXYY);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXYY___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXYY___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXY___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementXY___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementX___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElementX___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElement___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_plotElement___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_pop);
  Py_VISIT(traverse_module_state->__pyx_n_s_pop_next_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_pos);
  Py_VISIT(traverse_module_state->__pyx_n_u_pos);
  Py_VISIT(traverse_module_state->__pyx_n_s_pos_to_window);
  Py_VISIT(traverse_module_state->__pyx_n_s_positioning);
  Py_VISIT(traverse_module_state->__pyx_n_s_prepare);
  Py_VISIT(traverse_module_state->__pyx_n_s_print);
  Py_VISIT(traverse_module_state->__pyx_n_s_push_next_parent);
  Py_VISIT(traverse_module_state->__pyx_n_s_python_time);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_PickleError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_checksum);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_result);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_state);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_unpickle_Enum);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_unpickle___Pyx_EnumMeta);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_vtable);
  Py_VISIT(traverse_module_state->__pyx_n_s_qualname);
  Py_VISIT(traverse_module_state->__pyx_n_s_queue);
  Py_VISIT(traverse_module_state->__pyx_kp_u_queue_must_be_a_subclass_of_conc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_raised_exception);
  Py_VISIT(traverse_module_state->__pyx_n_s_range);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce_ex);
  Py_VISIT(traverse_module_state->__pyx_n_s_register);
  Py_VISIT(traverse_module_state->__pyx_n_u_regular);
  Py_VISIT(traverse_module_state->__pyx_n_s_remaining);
  Py_VISIT(traverse_module_state->__pyx_n_s_render_frame);
  Py_VISIT(traverse_module_state->__pyx_n_u_rendered_indices);
  Py_VISIT(traverse_module_state->__pyx_n_u_rendered_vertices);
  Py_VISIT(traverse_module_state->__pyx_n_u_rendered_windows);
  Py_VISIT(traverse_module_state->__pyx_n_s_repeat);
  Py_VISIT(traverse_module_state->__pyx_n_s_repr);
  Py_VISIT(traverse_module_state->__pyx_n_s_res);
  Py_VISIT(traverse_module_state->__pyx_n_s_reset_mouse_drag_delta);
  Py_VISIT(traverse_module_state->__pyx_n_s_reshape);
  Py_VISIT(traverse_module_state->__pyx_n_s_resize_callback);
  Py_VISIT(traverse_module_state->__pyx_n_s_results);
  Py_VISIT(traverse_module_state->__pyx_n_s_reverse);
  Py_VISIT(traverse_module_state->__pyx_n_s_round);
  Py_VISIT(traverse_module_state->__pyx_kp_u_round_to_format_cannot_be_enable);
  Py_VISIT(traverse_module_state->__pyx_kp_s_s_s);
  Py_VISIT(traverse_module_state->__pyx_kp_s_s_s_d);
  Py_VISIT(traverse_module_state->__pyx_n_u_scaleMax);
  Py_VISIT(traverse_module_state->__pyx_n_u_scaleMin);
  Py_VISIT(traverse_module_state->__pyx_n_s_sched_yield);
  Py_VISIT(traverse_module_state->__pyx_n_s_scipy);
  Py_VISIT(traverse_module_state->__pyx_n_s_scipy_spatial);
  Py_VISIT(traverse_module_state->__pyx_n_s_self);
  Py_VISIT(traverse_module_state->__pyx_n_u_self_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_self_m);
  Py_VISIT(traverse_module_state->__pyx_n_s_set_name);
  Py_VISIT(traverse_module_state->__pyx_n_s_set_value);
  Py_VISIT(traverse_module_state->__pyx_n_s_setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_shape);
  Py_VISIT(traverse_module_state->__pyx_n_s_shareable_value);
  Py_VISIT(traverse_module_state->__pyx_n_s_should_attach);
  Py_VISIT(traverse_module_state->__pyx_n_s_should_present);
  Py_VISIT(traverse_module_state->__pyx_n_u_show);
  Py_VISIT(traverse_module_state->__pyx_n_s_shutdown);
  Py_VISIT(traverse_module_state->__pyx_n_s_simplices);
  Py_VISIT(traverse_module_state->__pyx_n_s_size);
  Py_VISIT(traverse_module_state->__pyx_n_u_size);
  Py_VISIT(traverse_module_state->__pyx_n_s_sleep);
  Py_VISIT(traverse_module_state->__pyx_n_u_small);
  Py_VISIT(traverse_module_state->__pyx_n_s_source);
  Py_VISIT(traverse_module_state->__pyx_n_u_source);
  Py_VISIT(traverse_module_state->__pyx_n_s_source_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_south);
  Py_VISIT(traverse_module_state->__pyx_n_s_southeast);
  Py_VISIT(traverse_module_state->__pyx_n_s_southwest);
  Py_VISIT(traverse_module_state->__pyx_n_s_spatial);
  Py_VISIT(traverse_module_state->__pyx_n_s_spec);
  Py_VISIT(traverse_module_state->__pyx_n_s_start);
  Py_VISIT(traverse_module_state->__pyx_n_s_state);
  Py_VISIT(traverse_module_state->__pyx_n_s_step);
  Py_VISIT(traverse_module_state->__pyx_n_s_stop);
  Py_VISIT(traverse_module_state->__pyx_n_s_str);
  Py_VISIT(traverse_module_state->__pyx_kp_s_strided_and_direct);
  Py_VISIT(traverse_module_state->__pyx_kp_s_strided_and_direct_or_indirect);
  Py_VISIT(traverse_module_state->__pyx_kp_s_strided_and_indirect);
  Py_VISIT(traverse_module_state->__pyx_kp_s_stringsource);
  Py_VISIT(traverse_module_state->__pyx_n_s_struct);
  Py_VISIT(traverse_module_state->__pyx_n_s_submit);
  Py_VISIT(traverse_module_state->__pyx_n_s_subpixel);
  Py_VISIT(traverse_module_state->__pyx_n_s_success);
  Py_VISIT(traverse_module_state->__pyx_n_s_super);
  Py_VISIT(traverse_module_state->__pyx_n_s_symlog);
  Py_VISIT(traverse_module_state->__pyx_n_s_sys);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_any);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_button);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_checkbox);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_child);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_collapsingheader);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_colorbutton);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_coloredit);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_colorpicker);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_combo);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_discarded);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_enabled_False);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_enabled_True);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_enabled_any);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_image);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_imagebutton);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_inputtext);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_inputvalue);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_listbox);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_menu);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_menubar);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_menuitem);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_plot);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_progressbar);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_radiobutton);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_selectable);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_simpleplot);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_slider);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_tab);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_tabbar);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_tabbutton);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_text);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_tooltip);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_treenode);
  Py_VISIT(traverse_module_state->__pyx_n_s_t_window);
  Py_VISIT(traverse_module_state->__pyx_n_s_target);
  Py_VISIT(traverse_module_state->__pyx_kp_u_target_before_cannot_be_None);
  Py_VISIT(traverse_module_state->__pyx_n_s_target_item);
  Py_VISIT(traverse_module_state->__pyx_n_s_test);
  Py_VISIT(traverse_module_state->__pyx_kp_u_texture_must_be_a_Texture);
  Py_VISIT(traverse_module_state->__pyx_n_s_theme_categories);
  Py_VISIT(traverse_module_state->__pyx_n_s_theme_enablers);
  Py_VISIT(traverse_module_state->__pyx_n_s_threading);
  Py_VISIT(traverse_module_state->__pyx_n_s_time);
  Py_VISIT(traverse_module_state->__pyx_kp_u_to);
  Py_VISIT(traverse_module_state->__pyx_n_s_traceback);
  Py_VISIT(traverse_module_state->__pyx_n_s_uiItem);
  Py_VISIT(traverse_module_state->__pyx_n_s_uiItem___dir);
  Py_VISIT(traverse_module_state->__pyx_n_s_uiItem___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_uiItem___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_uiItem_configure);
  Py_VISIT(traverse_module_state->__pyx_n_s_uint8);
  Py_VISIT(traverse_module_state->__pyx_kp_s_unable_to_allocate_array_data);
  Py_VISIT(traverse_module_state->__pyx_kp_s_unable_to_allocate_shape_and_str);
  Py_VISIT(traverse_module_state->__pyx_n_s_unlock_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_unpack);
  Py_VISIT(traverse_module_state->__pyx_n_s_update);
  Py_VISIT(traverse_module_state->__pyx_n_s_update_layout);
  Py_VISIT(traverse_module_state->__pyx_n_s_use_setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_user_data);
  Py_VISIT(traverse_module_state->__pyx_kp_u_utf_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_uuid);
  Py_VISIT(traverse_module_state->__pyx_n_s_v);
  Py_VISIT(traverse_module_state->__pyx_n_s_val);
  Py_VISIT(traverse_module_state->__pyx_n_s_value);
  Py_VISIT(traverse_module_state->__pyx_n_s_values);
  Py_VISIT(traverse_module_state->__pyx_n_s_version_info);
  Py_VISIT(traverse_module_state->__pyx_n_s_wait);
  Py_VISIT(traverse_module_state->__pyx_n_s_wake);
  Py_VISIT(traverse_module_state->__pyx_n_s_weakref);
  Py_VISIT(traverse_module_state->__pyx_n_s_west);
  Py_VISIT(traverse_module_state->__pyx_n_s_width);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_mutex___enter);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_mutex___exit);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_mutex___init);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_this_and_parents_mutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_this_and_parents_mutex___en);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_this_and_parents_mutex___ex);
  Py_VISIT(traverse_module_state->__pyx_n_s_wrap_this_and_parents_mutex___in);
  Py_VISIT(traverse_module_state->__pyx_n_s_zeros);
  Py_VISIT(traverse_module_state->__pyx_kp_u_zoom_mod_must_be_a_combinaison_o);
  Py_VISIT(traverse_module_state->__pyx_float_0_);
  Py_VISIT(traverse_module_state->__pyx_float_1_);
  Py_VISIT(traverse_module_state->__pyx_float_2_);
  Py_VISIT(traverse_module_state->__pyx_float_13_);
  Py_VISIT(traverse_module_state->__pyx_float_100_);
  Py_VISIT(traverse_module_state->__pyx_float_0_005);
  Py_VISIT(traverse_module_state->__pyx_float_neg_1_);
  Py_VISIT(traverse_module_state->__pyx_int_0);
  Py_VISIT(traverse_module_state->__pyx_int_1);
  Py_VISIT(traverse_module_state->__pyx_int_3);
  Py_VISIT(traverse_module_state->__pyx_int_112105877);
  Py_VISIT(traverse_module_state->__pyx_int_136983863);
  Py_VISIT(traverse_module_state->__pyx_int_184977713);
  Py_VISIT(traverse_module_state->__pyx_int_222419149);
  Py_VISIT(traverse_module_state->__pyx_int_228825662);
  Py_VISIT(traverse_module_state->__pyx_int_238750788);
  Py_VISIT(traverse_module_state->__pyx_int_neg_1);
  Py_VISIT(traverse_module_state->__pyx_slice__7);
  Py_VISIT(traverse_module_state->__pyx_tuple__2);
  Py_VISIT(traverse_module_state->__pyx_tuple__6);
  Py_VISIT(traverse_module_state->__pyx_tuple__10);
  Py_VISIT(traverse_module_state->__pyx_tuple__11);
  Py_VISIT(traverse_module_state->__pyx_tuple__12);
  Py_VISIT(traverse_module_state->__pyx_tuple__13);
  Py_VISIT(traverse_module_state->__pyx_tuple__14);
  Py_VISIT(traverse_module_state->__pyx_tuple__15);
  Py_VISIT(traverse_module_state->__pyx_tuple__16);
  Py_VISIT(traverse_module_state->__pyx_tuple__17);
  Py_VISIT(traverse_module_state->__pyx_tuple__18);
  Py_VISIT(traverse_module_state->__pyx_tuple__19);
  Py_VISIT(traverse_module_state->__pyx_tuple__20);
  Py_VISIT(traverse_module_state->__pyx_tuple__21);
  Py_VISIT(traverse_module_state->__pyx_tuple__22);
  Py_VISIT(traverse_module_state->__pyx_tuple__23);
  Py_VISIT(traverse_module_state->__pyx_tuple__24);
  Py_VISIT(traverse_module_state->__pyx_tuple__25);
  Py_VISIT(traverse_module_state->__pyx_tuple__26);
  Py_VISIT(traverse_module_state->__pyx_tuple__27);
  Py_VISIT(traverse_module_state->__pyx_tuple__28);
  Py_VISIT(traverse_module_state->__pyx_tuple__29);
  Py_VISIT(traverse_module_state->__pyx_tuple__30);
  Py_VISIT(traverse_module_state->__pyx_tuple__31);
  Py_VISIT(traverse_module_state->__pyx_tuple__32);
  Py_VISIT(traverse_module_state->__pyx_tuple__33);
  Py_VISIT(traverse_module_state->__pyx_tuple__34);
  Py_VISIT(traverse_module_state->__pyx_tuple__35);
  Py_VISIT(traverse_module_state->__pyx_tuple__36);
  Py_VISIT(traverse_module_state->__pyx_tuple__37);
  Py_VISIT(traverse_module_state->__pyx_tuple__38);
  Py_VISIT(traverse_module_state->__pyx_tuple__39);
  Py_VISIT(traverse_module_state->__pyx_tuple__40);
  Py_VISIT(traverse_module_state->__pyx_tuple__41);
  Py_VISIT(traverse_module_state->__pyx_tuple__43);
  Py_VISIT(traverse_module_state->__pyx_tuple__45);
  Py_VISIT(traverse_module_state->__pyx_tuple__46);
  Py_VISIT(traverse_module_state->__pyx_tuple__47);
  Py_VISIT(traverse_module_state->__pyx_tuple__48);
  Py_VISIT(traverse_module_state->__pyx_tuple__49);
  Py_VISIT(traverse_module_state->__pyx_tuple__50);
  Py_VISIT(traverse_module_state->__pyx_tuple__51);
  Py_VISIT(traverse_module_state->__pyx_tuple__52);
  Py_VISIT(traverse_module_state->__pyx_tuple__53);
  Py_VISIT(traverse_module_state->__pyx_tuple__54);
  Py_VISIT(traverse_module_state->__pyx_tuple__55);
  Py_VISIT(traverse_module_state->__pyx_tuple__56);
  Py_VISIT(traverse_module_state->__pyx_tuple__57);
  Py_VISIT(traverse_module_state->__pyx_tuple__58);
  Py_VISIT(traverse_module_state->__pyx_tuple__59);
  Py_VISIT(traverse_module_state->__pyx_tuple__60);
  Py_VISIT(traverse_module_state->__pyx_tuple__61);
  Py_VISIT(traverse_module_state->__pyx_tuple__62);
  Py_VISIT(traverse_module_state->__pyx_tuple__63);
  Py_VISIT(traverse_module_state->__pyx_tuple__64);
  Py_VISIT(traverse_module_state->__pyx_tuple__65);
  Py_VISIT(traverse_module_state->__pyx_tuple__66);
  Py_VISIT(traverse_module_state->__pyx_tuple__67);
  Py_VISIT(traverse_module_state->__pyx_tuple__68);
  Py_VISIT(traverse_module_state->__pyx_tuple__69);
  Py_VISIT(traverse_module_state->__pyx_tuple__70);
  Py_VISIT(traverse_module_state->__pyx_tuple__71);
  Py_VISIT(traverse_module_state->__pyx_tuple__72);
  Py_VISIT(traverse_module_state->__pyx_tuple__73);
  Py_VISIT(traverse_module_state->__pyx_tuple__74);
  Py_VISIT(traverse_module_state->__pyx_tuple__75);
  Py_VISIT(traverse_module_state->__pyx_tuple__76);
  Py_VISIT(traverse_module_state->__pyx_tuple__78);
  Py_VISIT(traverse_module_state->__pyx_tuple__80);
  Py_VISIT(traverse_module_state->__pyx_tuple__82);
  Py_VISIT(traverse_module_state->__pyx_tuple__83);
  Py_VISIT(traverse_module_state->__pyx_tuple__89);
  Py_VISIT(traverse_module_state->__pyx_tuple__91);
  Py_VISIT(traverse_module_state->__pyx_tuple__92);
  Py_VISIT(traverse_module_state->__pyx_tuple__93);
  Py_VISIT(traverse_module_state->__pyx_tuple__94);
  Py_VISIT(traverse_module_state->__pyx_tuple__95);
  Py_VISIT(traverse_module_state->__pyx_tuple__96);
  Py_VISIT(traverse_module_state->__pyx_tuple__97);
  Py_VISIT(traverse_module_state->__pyx_tuple__98);
  Py_VISIT(traverse_module_state->__pyx_tuple__99);
  Py_VISIT(traverse_module_state->__pyx_tuple__101);
  Py_VISIT(traverse_module_state->__pyx_tuple__102);
  Py_VISIT(traverse_module_state->__pyx_tuple__109);
  Py_VISIT(traverse_module_state->__pyx_tuple__111);
  Py_VISIT(traverse_module_state->__pyx_tuple__113);
  Py_VISIT(traverse_module_state->__pyx_tuple__115);
  Py_VISIT(traverse_module_state->__pyx_tuple__117);
  Py_VISIT(traverse_module_state->__pyx_tuple__119);
  Py_VISIT(traverse_module_state->__pyx_tuple__123);
  Py_VISIT(traverse_module_state->__pyx_tuple__125);
  Py_VISIT(traverse_module_state->__pyx_tuple__127);
  Py_VISIT(traverse_module_state->__pyx_tuple__128);
  Py_VISIT(traverse_module_state->__pyx_tuple__133);
  Py_VISIT(traverse_module_state->__pyx_tuple__136);
  Py_VISIT(traverse_module_state->__pyx_tuple__138);
  Py_VISIT(traverse_module_state->__pyx_tuple__143);
  Py_VISIT(traverse_module_state->__pyx_tuple__145);
  Py_VISIT(traverse_module_state->__pyx_tuple__153);
  Py_VISIT(traverse_module_state->__pyx_tuple__155);
  Py_VISIT(traverse_module_state->__pyx_tuple__157);
  Py_VISIT(traverse_module_state->__pyx_tuple__159);
  Py_VISIT(traverse_module_state->__pyx_tuple__160);
  Py_VISIT(traverse_module_state->__pyx_tuple__162);
  Py_VISIT(traverse_module_state->__pyx_tuple__164);
  Py_VISIT(traverse_module_state->__pyx_tuple__258);
  Py_VISIT(traverse_module_state->__pyx_tuple__260);
  Py_VISIT(traverse_module_state->__pyx_tuple__264);
  Py_VISIT(traverse_module_state->__pyx_tuple__314);
  Py_VISIT(traverse_module_state->__pyx_tuple__340);
  Py_VISIT(traverse_module_state->__pyx_tuple__342);
  Py_VISIT(traverse_module_state->__pyx_tuple__344);
  Py_VISIT(traverse_module_state->__pyx_tuple__348);
  Py_VISIT(traverse_module_state->__pyx_tuple__353);
  Py_VISIT(traverse_module_state->__pyx_tuple__355);
  Py_VISIT(traverse_module_state->__pyx_tuple__356);
  Py_VISIT(traverse_module_state->__pyx_tuple__396);
  Py_VISIT(traverse_module_state->__pyx_tuple__398);
  Py_VISIT(traverse_module_state->__pyx_codeobj__77);
  Py_VISIT(traverse_module_state->__pyx_codeobj__79);
  Py_VISIT(traverse_module_state->__pyx_codeobj__81);
  Py_VISIT(traverse_module_state->__pyx_codeobj__84);
  Py_VISIT(traverse_module_state->__pyx_codeobj__85);
  Py_VISIT(traverse_module_state->__pyx_codeobj__86);
  Py_VISIT(traverse_module_state->__pyx_codeobj__87);
  Py_VISIT(traverse_module_state->__pyx_codeobj__88);
  Py_VISIT(traverse_module_state->__pyx_codeobj__90);
  Py_VISIT(traverse_module_state->__pyx_codeobj__100);
  Py_VISIT(traverse_module_state->__pyx_codeobj__103);
  Py_VISIT(traverse_module_state->__pyx_codeobj__104);
  Py_VISIT(traverse_module_state->__pyx_codeobj__105);
  Py_VISIT(traverse_module_state->__pyx_codeobj__106);
  Py_VISIT(traverse_module_state->__pyx_codeobj__107);
  Py_VISIT(traverse_module_state->__pyx_codeobj__108);
  Py_VISIT(traverse_module_state->__pyx_codeobj__110);
  Py_VISIT(traverse_module_state->__pyx_codeobj__112);
  Py_VISIT(traverse_module_state->__pyx_codeobj__114);
  Py_VISIT(traverse_module_state->__pyx_codeobj__116);
  Py_VISIT(traverse_module_state->__pyx_codeobj__118);
  Py_VISIT(traverse_module_state->__pyx_codeobj__120);
  Py_VISIT(traverse_module_state->__pyx_codeobj__121);
  Py_VISIT(traverse_module_state->__pyx_codeobj__122);
  Py_VISIT(traverse_module_state->__pyx_codeobj__124);
  Py_VISIT(traverse_module_state->__pyx_codeobj__126);
  Py_VISIT(traverse_module_state->__pyx_codeobj__129);
  Py_VISIT(traverse_module_state->__pyx_codeobj__130);
  Py_VISIT(traverse_module_state->__pyx_codeobj__131);
  Py_VISIT(traverse_module_state->__pyx_codeobj__132);
  Py_VISIT(traverse_module_state->__pyx_codeobj__134);
  Py_VISIT(traverse_module_state->__pyx_codeobj__135);
  Py_VISIT(traverse_module_state->__pyx_codeobj__137);
  Py_VISIT(traverse_module_state->__pyx_codeobj__139);
  Py_VISIT(traverse_module_state->__pyx_codeobj__140);
  Py_VISIT(traverse_module_state->__pyx_codeobj__141);
  Py_VISIT(traverse_module_state->__pyx_codeobj__142);
  Py_VISIT(traverse_module_state->__pyx_codeobj__144);
  Py_VISIT(traverse_module_state->__pyx_codeobj__146);
  Py_VISIT(traverse_module_state->__pyx_codeobj__147);
  Py_VISIT(traverse_module_state->__pyx_codeobj__148);
  Py_VISIT(traverse_module_state->__pyx_codeobj__149);
  Py_VISIT(traverse_module_state->__pyx_codeobj__150);
  Py_VISIT(traverse_module_state->__pyx_codeobj__151);
  Py_VISIT(traverse_module_state->__pyx_codeobj__152);
  Py_VISIT(traverse_module_state->__pyx_codeobj__154);
  Py_VISIT(traverse_module_state->__pyx_codeobj__156);
  Py_VISIT(traverse_module_state->__pyx_codeobj__158);
  Py_VISIT(traverse_module_state->__pyx_codeobj__161);
  Py_VISIT(traverse_module_state->__pyx_codeobj__163);
  Py_VISIT(traverse_module_state->__pyx_codeobj__165);
  Py_VISIT(traverse_module_state->__pyx_codeobj__166);
  Py_VISIT(traverse_module_state->__pyx_codeobj__167);
  Py_VISIT(traverse_module_state->__pyx_codeobj__168);
  Py_VISIT(traverse_module_state->__pyx_codeobj__169);
  Py_VISIT(traverse_module_state->__pyx_codeobj__170);
  Py_VISIT(traverse_module_state->__pyx_codeobj__171);
  Py_VISIT(traverse_module_state->__pyx_codeobj__172);
  Py_VISIT(traverse_module_state->__pyx_codeobj__173);
  Py_VISIT(traverse_module_state->__pyx_codeobj__174);
  Py_VISIT(traverse_module_state->__pyx_codeobj__175);
  Py_VISIT(traverse_module_state->__pyx_codeobj__176);
  Py_VISIT(traverse_module_state->__pyx_codeobj__177);
  Py_VISIT(traverse_module_state->__pyx_codeobj__178);
  Py_VISIT(traverse_module_state->__pyx_codeobj__179);
  Py_VISIT(traverse_module_state->__pyx_codeobj__180);
  Py_VISIT(traverse_module_state->__pyx_codeobj__181);
  Py_VISIT(traverse_module_state->__pyx_codeobj__182);
  Py_VISIT(traverse_module_state->__pyx_codeobj__183);
  Py_VISIT(traverse_module_state->__pyx_codeobj__184);
  Py_VISIT(traverse_module_state->__pyx_codeobj__185);
  Py_VISIT(traverse_module_state->__pyx_codeobj__186);
  Py_VISIT(traverse_module_state->__pyx_codeobj__187);
  Py_VISIT(traverse_module_state->__pyx_codeobj__188);
  Py_VISIT(traverse_module_state->__pyx_codeobj__189);
  Py_VISIT(traverse_module_state->__pyx_codeobj__190);
  Py_VISIT(traverse_module_state->__pyx_codeobj__191);
  Py_VISIT(traverse_module_state->__pyx_codeobj__192);
  Py_VISIT(traverse_module_state->__pyx_codeobj__193);
  Py_VISIT(traverse_module_state->__pyx_codeobj__194);
  Py_VISIT(traverse_module_state->__pyx_codeobj__195);
  Py_VISIT(traverse_module_state->__pyx_codeobj__196);
  Py_VISIT(traverse_module_state->__pyx_codeobj__197);
  Py_VISIT(traverse_module_state->__pyx_codeobj__198);
  Py_VISIT(traverse_module_state->__pyx_codeobj__199);
  Py_VISIT(traverse_module_state->__pyx_codeobj__200);
  Py_VISIT(traverse_module_state->__pyx_codeobj__201);
  Py_VISIT(traverse_module_state->__pyx_codeobj__202);
  Py_VISIT(traverse_module_state->__pyx_codeobj__203);
  Py_VISIT(traverse_module_state->__pyx_codeobj__204);
  Py_VISIT(traverse_module_state->__pyx_codeobj__205);
  Py_VISIT(traverse_module_state->__pyx_codeobj__206);
  Py_VISIT(traverse_module_state->__pyx_codeobj__207);
  Py_VISIT(traverse_module_state->__pyx_codeobj__208);
  Py_VISIT(traverse_module_state->__pyx_codeobj__209);
  Py_VISIT(traverse_module_state->__pyx_codeobj__210);
  Py_VISIT(traverse_module_state->__pyx_codeobj__211);
  Py_VISIT(traverse_module_state->__pyx_codeobj__212);
  Py_VISIT(traverse_module_state->__pyx_codeobj__213);
  Py_VISIT(traverse_module_state->__pyx_codeobj__214);
  Py_VISIT(traverse_module_state->__pyx_codeobj__215);
  Py_VISIT(traverse_module_state->__pyx_codeobj__216);
  Py_VISIT(traverse_module_state->__pyx_codeobj__217);
  Py_VISIT(traverse_module_state->__pyx_codeobj__218);
  Py_VISIT(traverse_module_state->__pyx_codeobj__219);
  Py_VISIT(traverse_module_state->__pyx_codeobj__220);
  Py_VISIT(traverse_module_state->__pyx_codeobj__221);
  Py_VISIT(traverse_module_state->__pyx_codeobj__222);
  Py_VISIT(traverse_module_state->__pyx_codeobj__223);
  Py_VISIT(traverse_module_state->__pyx_codeobj__224);
  Py_VISIT(traverse_module_state->__pyx_codeobj__225);
  Py_VISIT(traverse_module_state->__pyx_codeobj__226);
  Py_VISIT(traverse_module_state->__pyx_codeobj__227);
  Py_VISIT(traverse_module_state->__pyx_codeobj__228);
  Py_VISIT(traverse_module_state->__pyx_codeobj__229);
  Py_VISIT(traverse_module_state->__pyx_codeobj__230);
  Py_VISIT(traverse_module_state->__pyx_codeobj__231);
  Py_VISIT(traverse_module_state->__pyx_codeobj__232);
  Py_VISIT(traverse_module_state->__pyx_codeobj__233);
  Py_VISIT(traverse_module_state->__pyx_codeobj__234);
  Py_VISIT(traverse_module_state->__pyx_codeobj__235);
  Py_VISIT(traverse_module_state->__pyx_codeobj__236);
  Py_VISIT(traverse_module_state->__pyx_codeobj__237);
  Py_VISIT(traverse_module_state->__pyx_codeobj__238);
  Py_VISIT(traverse_module_state->__pyx_codeobj__239);
  Py_VISIT(traverse_module_state->__pyx_codeobj__240);
  Py_VISIT(traverse_module_state->__pyx_codeobj__241);
  Py_VISIT(traverse_module_state->__pyx_codeobj__242);
  Py_VISIT(traverse_module_state->__pyx_codeobj__243);
  Py_VISIT(traverse_module_state->__pyx_codeobj__244);
  Py_VISIT(traverse_module_state->__pyx_codeobj__245);
  Py_VISIT(traverse_module_state->__pyx_codeobj__246);
  Py_VISIT(traverse_module_state->__pyx_codeobj__247);
  Py_VISIT(traverse_module_state->__pyx_codeobj__248);
  Py_VISIT(traverse_module_state->__pyx_codeobj__249);
  Py_VISIT(traverse_module_state->__pyx_codeobj__250);
  Py_VISIT(traverse_module_state->__pyx_codeobj__251);
  Py_VISIT(traverse_module_state->__pyx_codeobj__252);
  Py_VISIT(traverse_module_state->__pyx_codeobj__253);
  Py_VISIT(traverse_module_state->__pyx_codeobj__254);
  Py_VISIT(traverse_module_state->__pyx_codeobj__255);
  Py_VISIT(traverse_module_state->__pyx_codeobj__256);
  Py_VISIT(traverse_module_state->__pyx_codeobj__257);
  Py_VISIT(traverse_module_state->__pyx_codeobj__259);
  Py_VISIT(traverse_module_state->__pyx_codeobj__261);
  Py_VISIT(traverse_module_state->__pyx_codeobj__262);
  Py_VISIT(traverse_module_state->__pyx_codeobj__263);
  Py_VISIT(traverse_module_state->__pyx_codeobj__265);
  Py_VISIT(traverse_module_state->__pyx_codeobj__266);
  Py_VISIT(traverse_module_state->__pyx_codeobj__267);
  Py_VISIT(traverse_module_state->__pyx_codeobj__268);
  Py_VISIT(traverse_module_state->__pyx_codeobj__269);
  Py_VISIT(traverse_module_state->__pyx_codeobj__270);
  Py_VISIT(traverse_module_state->__pyx_codeobj__271);
  Py_VISIT(traverse_module_state->__pyx_codeobj__272);
  Py_VISIT(traverse_module_state->__pyx_codeobj__273);
  Py_VISIT(traverse_module_state->__pyx_codeobj__274);
  Py_VISIT(traverse_module_state->__pyx_codeobj__275);
  Py_VISIT(traverse_module_state->__pyx_codeobj__276);
  Py_VISIT(traverse_module_state->__pyx_codeobj__277);
  Py_VISIT(traverse_module_state->__pyx_codeobj__278);
  Py_VISIT(traverse_module_state->__pyx_codeobj__279);
  Py_VISIT(traverse_module_state->__pyx_codeobj__280);
  Py_VISIT(traverse_module_state->__pyx_codeobj__281);
  Py_VISIT(traverse_module_state->__pyx_codeobj__282);
  Py_VISIT(traverse_module_state->__pyx_codeobj__283);
  Py_VISIT(traverse_module_state->__pyx_codeobj__284);
  Py_VISIT(traverse_module_state->__pyx_codeobj__285);
  Py_VISIT(traverse_module_state->__pyx_codeobj__286);
  Py_VISIT(traverse_module_state->__pyx_codeobj__287);
  Py_VISIT(traverse_module_state->__pyx_codeobj__288);
  Py_VISIT(traverse_module_state->__pyx_codeobj__289);
  Py_VISIT(traverse_module_state->__pyx_codeobj__290);
  Py_VISIT(traverse_module_state->__pyx_codeobj__291);
  Py_VISIT(traverse_module_state->__pyx_codeobj__292);
  Py_VISIT(traverse_module_state->__pyx_codeobj__293);
  Py_VISIT(traverse_module_state->__pyx_codeobj__294);
  Py_VISIT(traverse_module_state->__pyx_codeobj__295);
  Py_VISIT(traverse_module_state->__pyx_codeobj__296);
  Py_VISIT(traverse_module_state->__pyx_codeobj__297);
  Py_VISIT(traverse_module_state->__pyx_codeobj__298);
  Py_VISIT(traverse_module_state->__pyx_codeobj__299);
  Py_VISIT(traverse_module_state->__pyx_codeobj__300);
  Py_VISIT(traverse_module_state->__pyx_codeobj__301);
  Py_VISIT(traverse_module_state->__pyx_codeobj__302);
  Py_VISIT(traverse_module_state->__pyx_codeobj__303);
  Py_VISIT(traverse_module_state->__pyx_codeobj__304);
  Py_VISIT(traverse_module_state->__pyx_codeobj__305);
  Py_VISIT(traverse_module_state->__pyx_codeobj__306);
  Py_VISIT(traverse_module_state->__pyx_codeobj__307);
  Py_VISIT(traverse_module_state->__pyx_codeobj__308);
  Py_VISIT(traverse_module_state->__pyx_codeobj__309);
  Py_VISIT(traverse_module_state->__pyx_codeobj__310);
  Py_VISIT(traverse_module_state->__pyx_codeobj__311);
  Py_VISIT(traverse_module_state->__pyx_codeobj__312);
  Py_VISIT(traverse_module_state->__pyx_codeobj__313);
  Py_VISIT(traverse_module_state->__pyx_codeobj__315);
  Py_VISIT(traverse_module_state->__pyx_codeobj__316);
  Py_VISIT(traverse_module_state->__pyx_codeobj__317);
  Py_VISIT(traverse_module_state->__pyx_codeobj__318);
  Py_VISIT(traverse_module_state->__pyx_codeobj__319);
  Py_VISIT(traverse_module_state->__pyx_codeobj__320);
  Py_VISIT(traverse_module_state->__pyx_codeobj__321);
  Py_VISIT(traverse_module_state->__pyx_codeobj__322);
  Py_VISIT(traverse_module_state->__pyx_codeobj__323);
  Py_VISIT(traverse_module_state->__pyx_codeobj__324);
  Py_VISIT(traverse_module_state->__pyx_codeobj__325);
  Py_VISIT(traverse_module_state->__pyx_codeobj__326);
  Py_VISIT(traverse_module_state->__pyx_codeobj__327);
  Py_VISIT(traverse_module_state->__pyx_codeobj__328);
  Py_VISIT(traverse_module_state->__pyx_codeobj__329);
  Py_VISIT(traverse_module_state->__pyx_codeobj__330);
  Py_VISIT(traverse_module_state->__pyx_codeobj__331);
  Py_VISIT(traverse_module_state->__pyx_codeobj__332);
  Py_VISIT(traverse_module_state->__pyx_codeobj__333);
  Py_VISIT(traverse_module_state->__pyx_codeobj__334);
  Py_VISIT(traverse_module_state->__pyx_codeobj__335);
  Py_VISIT(traverse_module_state->__pyx_codeobj__336);
  Py_VISIT(traverse_module_state->__pyx_codeobj__337);
  Py_VISIT(traverse_module_state->__pyx_codeobj__338);
  Py_VISIT(traverse_module_state->__pyx_codeobj__339);
  Py_VISIT(traverse_module_state->__pyx_codeobj__341);
  Py_VISIT(traverse_module_state->__pyx_codeobj__343);
  Py_VISIT(traverse_module_state->__pyx_codeobj__345);
  Py_VISIT(traverse_module_state->__pyx_codeobj__346);
  Py_VISIT(traverse_module_state->__pyx_codeobj__347);
  Py_VISIT(traverse_module_state->__pyx_codeobj__349);
  Py_VISIT(traverse_module_state->__pyx_codeobj__350);
  Py_VISIT(traverse_module_state->__pyx_codeobj__351);
  Py_VISIT(traverse_module_state->__pyx_codeobj__352);
  Py_VISIT(traverse_module_state->__pyx_codeobj__354);
  Py_VISIT(traverse_module_state->__pyx_codeobj__357);
  Py_VISIT(traverse_module_state->__pyx_codeobj__358);
  Py_VISIT(traverse_module_state->__pyx_codeobj__359);
  Py_VISIT(traverse_module_state->__pyx_codeobj__360);
  Py_VISIT(traverse_module_state->__pyx_codeobj__361);
  Py_VISIT(traverse_module_state->__pyx_codeobj__362);
  Py_VISIT(traverse_module_state->__pyx_codeobj__363);
  Py_VISIT(traverse_module_state->__pyx_codeobj__364);
  Py_VISIT(traverse_module_state->__pyx_codeobj__365);
  Py_VISIT(traverse_module_state->__pyx_codeobj__366);
  Py_VISIT(traverse_module_state->__pyx_codeobj__367);
  Py_VISIT(traverse_module_state->__pyx_codeobj__368);
  Py_VISIT(traverse_module_state->__pyx_codeobj__369);
  Py_VISIT(traverse_module_state->__pyx_codeobj__370);
  Py_VISIT(traverse_module_state->__pyx_codeobj__371);
  Py_VISIT(traverse_module_state->__pyx_codeobj__372);
  Py_VISIT(traverse_module_state->__pyx_codeobj__373);
  Py_VISIT(traverse_module_state->__pyx_codeobj__374);
  Py_VISIT(traverse_module_state->__pyx_codeobj__375);
  Py_VISIT(traverse_module_state->__pyx_codeobj__376);
  Py_VISIT(traverse_module_state->__pyx_codeobj__377);
  Py_VISIT(traverse_module_state->__pyx_codeobj__378);
  Py_VISIT(traverse_module_state->__pyx_codeobj__379);
  Py_VISIT(traverse_module_state->__pyx_codeobj__380);
  Py_VISIT(traverse_module_state->__pyx_codeobj__381);
  Py_VISIT(traverse_module_state->__pyx_codeobj__382);
  Py_VISIT(traverse_module_state->__pyx_codeobj__383);
  Py_VISIT(traverse_module_state->__pyx_codeobj__384);
  Py_VISIT(traverse_module_state->__pyx_codeobj__385);
  Py_VISIT(traverse_module_state->__pyx_codeobj__386);
  Py_VISIT(traverse_module_state->__pyx_codeobj__387);
  Py_VISIT(traverse_module_state->__pyx_codeobj__388);
  Py_VISIT(traverse_module_state->__pyx_codeobj__389);
  Py_VISIT(traverse_module_state->__pyx_codeobj__390);
  Py_VISIT(traverse_module_state->__pyx_codeobj__391);
  Py_VISIT(traverse_module_state->__pyx_codeobj__392);
  Py_VISIT(traverse_module_state->__pyx_codeobj__393);
  Py_VISIT(traverse_module_state->__pyx_codeobj__394);
  Py_VISIT(traverse_module_state->__pyx_codeobj__395);
  Py_VISIT(traverse_module_state->__pyx_codeobj__397);
  Py_VISIT(traverse_module_state->__pyx_codeobj__399);
  Py_VISIT(traverse_module_state->__pyx_codeobj__400);
  return 0;
}
#endif
/* #### Code section: module_state_defines ### */
#define __pyx_d __pyx_mstate_global->__pyx_d
#define __pyx_b __pyx_mstate_global->__pyx_b
#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime
#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple
#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes
#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode
#ifdef __Pyx_CyFunction_USED
#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType
#endif
#ifdef __Pyx_FusedFunction_USED
#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType
#endif
#ifdef __Pyx_Generator_USED
#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType
#endif
#ifdef __Pyx_IterableCoroutine_USED
#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType
#endif
#ifdef __Pyx_Coroutine_USED
#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType
#endif
#ifdef __Pyx_Coroutine_USED
#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#define __pyx_ptype_7cpython_4type_type __pyx_mstate_global->__pyx_ptype_7cpython_4type_type
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#define __pyx_ptype_5numpy_dtype __pyx_mstate_global->__pyx_ptype_5numpy_dtype
#define __pyx_ptype_5numpy_flatiter __pyx_mstate_global->__pyx_ptype_5numpy_flatiter
#define __pyx_ptype_5numpy_broadcast __pyx_mstate_global->__pyx_ptype_5numpy_broadcast
#define __pyx_ptype_5numpy_ndarray __pyx_mstate_global->__pyx_ptype_5numpy_ndarray
#define __pyx_ptype_5numpy_generic __pyx_mstate_global->__pyx_ptype_5numpy_generic
#define __pyx_ptype_5numpy_number __pyx_mstate_global->__pyx_ptype_5numpy_number
#define __pyx_ptype_5numpy_integer __pyx_mstate_global->__pyx_ptype_5numpy_integer
#define __pyx_ptype_5numpy_signedinteger __pyx_mstate_global->__pyx_ptype_5numpy_signedinteger
#define __pyx_ptype_5numpy_unsignedinteger __pyx_mstate_global->__pyx_ptype_5numpy_unsignedinteger
#define __pyx_ptype_5numpy_inexact __pyx_mstate_global->__pyx_ptype_5numpy_inexact
#define __pyx_ptype_5numpy_floating __pyx_mstate_global->__pyx_ptype_5numpy_floating
#define __pyx_ptype_5numpy_complexfloating __pyx_mstate_global->__pyx_ptype_5numpy_complexfloating
#define __pyx_ptype_5numpy_flexible __pyx_mstate_global->__pyx_ptype_5numpy_flexible
#define __pyx_ptype_5numpy_character __pyx_mstate_global->__pyx_ptype_5numpy_character
#define __pyx_ptype_5numpy_ufunc __pyx_mstate_global->__pyx_ptype_5numpy_ufunc
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#define __pyx_type_9dearcygui_4core_Context __pyx_mstate_global->__pyx_type_9dearcygui_4core_Context
#define __pyx_type_9dearcygui_4core_baseItem __pyx_mstate_global->__pyx_type_9dearcygui_4core_baseItem
#define __pyx_type_9dearcygui_4core_Viewport __pyx_mstate_global->__pyx_type_9dearcygui_4core_Viewport
#define __pyx_type_9dearcygui_4core_Callback __pyx_mstate_global->__pyx_type_9dearcygui_4core_Callback
#define __pyx_type_9dearcygui_4core_drawingItem __pyx_mstate_global->__pyx_type_9dearcygui_4core_drawingItem
#define __pyx_type_9dearcygui_4core_DrawingList __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawingList
#define __pyx_type_9dearcygui_4core_DrawingListScale __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawingListScale
#define __pyx_type_9dearcygui_4core_DrawArrow_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawArrow_
#define __pyx_type_9dearcygui_4core_DrawBezierCubic_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawBezierCubic_
#define __pyx_type_9dearcygui_4core_DrawBezierQuadratic_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawBezierQuadratic_
#define __pyx_type_9dearcygui_4core_DrawCircle_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawCircle_
#define __pyx_type_9dearcygui_4core_DrawEllipse_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawEllipse_
#define __pyx_type_9dearcygui_4core_DrawImage_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawImage_
#define __pyx_type_9dearcygui_4core_DrawImageQuad_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawImageQuad_
#define __pyx_type_9dearcygui_4core_DrawLine_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawLine_
#define __pyx_type_9dearcygui_4core_DrawPolyline_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawPolyline_
#define __pyx_type_9dearcygui_4core_DrawPolygon_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawPolygon_
#define __pyx_type_9dearcygui_4core_DrawQuad_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawQuad_
#define __pyx_type_9dearcygui_4core_DrawRect_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawRect_
#define __pyx_type_9dearcygui_4core_DrawText_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawText_
#define __pyx_type_9dearcygui_4core_DrawTriangle_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawTriangle_
#define __pyx_type_9dearcygui_4core_DrawInvisibleButton __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawInvisibleButton
#define __pyx_type_9dearcygui_4core_ViewportDrawList_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_ViewportDrawList_
#define __pyx_type_9dearcygui_4core_SharedValue __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedValue
#define __pyx_type_9dearcygui_4core_SharedBool __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedBool
#define __pyx_type_9dearcygui_4core_SharedFloat __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedFloat
#define __pyx_type_9dearcygui_4core_SharedInt __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedInt
#define __pyx_type_9dearcygui_4core_SharedColor __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedColor
#define __pyx_type_9dearcygui_4core_SharedDouble __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedDouble
#define __pyx_type_9dearcygui_4core_SharedStr __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedStr
#define __pyx_type_9dearcygui_4core_SharedFloat4 __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedFloat4
#define __pyx_type_9dearcygui_4core_SharedInt4 __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedInt4
#define __pyx_type_9dearcygui_4core_SharedDouble4 __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedDouble4
#define __pyx_type_9dearcygui_4core_SharedFloatVect __pyx_mstate_global->__pyx_type_9dearcygui_4core_SharedFloatVect
#define __pyx_type_9dearcygui_4core_baseHandler __pyx_mstate_global->__pyx_type_9dearcygui_4core_baseHandler
#define __pyx_type_9dearcygui_4core_KeyDownHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_KeyDownHandler_
#define __pyx_type_9dearcygui_4core_KeyPressHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_KeyPressHandler_
#define __pyx_type_9dearcygui_4core_KeyReleaseHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_KeyReleaseHandler_
#define __pyx_type_9dearcygui_4core_MouseClickHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseClickHandler_
#define __pyx_type_9dearcygui_4core_MouseDoubleClickHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseDoubleClickHandler_
#define __pyx_type_9dearcygui_4core_MouseDownHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseDownHandler_
#define __pyx_type_9dearcygui_4core_MouseDragHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseDragHandler_
#define __pyx_type_9dearcygui_4core_MouseMoveHandler __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseMoveHandler
#define __pyx_type_9dearcygui_4core_MouseReleaseHandler_ __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseReleaseHandler_
#define __pyx_type_9dearcygui_4core_MouseWheelHandler __pyx_mstate_global->__pyx_type_9dearcygui_4core_MouseWheelHandler
#define __pyx_type_9dearcygui_4core_uiItem __pyx_mstate_global->__pyx_type_9dearcygui_4core_uiItem
#define __pyx_type_9dearcygui_4core_DrawInWindow __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawInWindow
#define __pyx_type_9dearcygui_4core_SimplePlot __pyx_mstate_global->__pyx_type_9dearcygui_4core_SimplePlot
#define __pyx_type_9dearcygui_4core_Button __pyx_mstate_global->__pyx_type_9dearcygui_4core_Button
#define __pyx_type_9dearcygui_4core_Combo __pyx_mstate_global->__pyx_type_9dearcygui_4core_Combo
#define __pyx_type_9dearcygui_4core_Checkbox __pyx_mstate_global->__pyx_type_9dearcygui_4core_Checkbox
#define __pyx_type_9dearcygui_4core_Slider __pyx_mstate_global->__pyx_type_9dearcygui_4core_Slider
#define __pyx_type_9dearcygui_4core_ListBox __pyx_mstate_global->__pyx_type_9dearcygui_4core_ListBox
#define __pyx_type_9dearcygui_4core_RadioButton __pyx_mstate_global->__pyx_type_9dearcygui_4core_RadioButton
#define __pyx_type_9dearcygui_4core_InputText __pyx_mstate_global->__pyx_type_9dearcygui_4core_InputText
#define __pyx_type_9dearcygui_4core_InputValue __pyx_mstate_global->__pyx_type_9dearcygui_4core_InputValue
#define __pyx_type_9dearcygui_4core_Text __pyx_mstate_global->__pyx_type_9dearcygui_4core_Text
#define __pyx_type_9dearcygui_4core_Selectable __pyx_mstate_global->__pyx_type_9dearcygui_4core_Selectable
#define __pyx_type_9dearcygui_4core_MenuItem __pyx_mstate_global->__pyx_type_9dearcygui_4core_MenuItem
#define __pyx_type_9dearcygui_4core_ProgressBar __pyx_mstate_global->__pyx_type_9dearcygui_4core_ProgressBar
#define __pyx_type_9dearcygui_4core_Image __pyx_mstate_global->__pyx_type_9dearcygui_4core_Image
#define __pyx_type_9dearcygui_4core_ImageButton __pyx_mstate_global->__pyx_type_9dearcygui_4core_ImageButton
#define __pyx_type_9dearcygui_4core_Separator __pyx_mstate_global->__pyx_type_9dearcygui_4core_Separator
#define __pyx_type_9dearcygui_4core_Spacer __pyx_mstate_global->__pyx_type_9dearcygui_4core_Spacer
#define __pyx_type_9dearcygui_4core_MenuBar __pyx_mstate_global->__pyx_type_9dearcygui_4core_MenuBar
#define __pyx_type_9dearcygui_4core_Menu __pyx_mstate_global->__pyx_type_9dearcygui_4core_Menu
#define __pyx_type_9dearcygui_4core_Tooltip __pyx_mstate_global->__pyx_type_9dearcygui_4core_Tooltip
#define __pyx_type_9dearcygui_4core_TabButton __pyx_mstate_global->__pyx_type_9dearcygui_4core_TabButton
#define __pyx_type_9dearcygui_4core_Tab __pyx_mstate_global->__pyx_type_9dearcygui_4core_Tab
#define __pyx_type_9dearcygui_4core_TabBar __pyx_mstate_global->__pyx_type_9dearcygui_4core_TabBar
#define __pyx_type_9dearcygui_4core_Layout __pyx_mstate_global->__pyx_type_9dearcygui_4core_Layout
#define __pyx_type_9dearcygui_4core_HorizontalLayout __pyx_mstate_global->__pyx_type_9dearcygui_4core_HorizontalLayout
#define __pyx_type_9dearcygui_4core_VerticalLayout __pyx_mstate_global->__pyx_type_9dearcygui_4core_VerticalLayout
#define __pyx_type_9dearcygui_4core_TreeNode __pyx_mstate_global->__pyx_type_9dearcygui_4core_TreeNode
#define __pyx_type_9dearcygui_4core_CollapsingHeader __pyx_mstate_global->__pyx_type_9dearcygui_4core_CollapsingHeader
#define __pyx_type_9dearcygui_4core_ChildWindow __pyx_mstate_global->__pyx_type_9dearcygui_4core_ChildWindow
#define __pyx_type_9dearcygui_4core_ColorButton __pyx_mstate_global->__pyx_type_9dearcygui_4core_ColorButton
#define __pyx_type_9dearcygui_4core_ColorEdit __pyx_mstate_global->__pyx_type_9dearcygui_4core_ColorEdit
#define __pyx_type_9dearcygui_4core_ColorPicker __pyx_mstate_global->__pyx_type_9dearcygui_4core_ColorPicker
#define __pyx_type_9dearcygui_4core_TimeWatcher __pyx_mstate_global->__pyx_type_9dearcygui_4core_TimeWatcher
#define __pyx_type_9dearcygui_4core_Window __pyx_mstate_global->__pyx_type_9dearcygui_4core_Window
#define __pyx_type_9dearcygui_4core_Texture __pyx_mstate_global->__pyx_type_9dearcygui_4core_Texture
#define __pyx_type_9dearcygui_4core_Font __pyx_mstate_global->__pyx_type_9dearcygui_4core_Font
#define __pyx_type_9dearcygui_4core_FontTexture __pyx_mstate_global->__pyx_type_9dearcygui_4core_FontTexture
#define __pyx_type_9dearcygui_4core_baseTheme __pyx_mstate_global->__pyx_type_9dearcygui_4core_baseTheme
#define __pyx_type_9dearcygui_4core_PlotAxisConfig __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotAxisConfig
#define __pyx_type_9dearcygui_4core_PlotLegendConfig __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotLegendConfig
#define __pyx_type_9dearcygui_4core_Plot __pyx_mstate_global->__pyx_type_9dearcygui_4core_Plot
#define __pyx_type_9dearcygui_4core_plotElement __pyx_mstate_global->__pyx_type_9dearcygui_4core_plotElement
#define __pyx_type_9dearcygui_4core_plotElementWithLegend __pyx_mstate_global->__pyx_type_9dearcygui_4core_plotElementWithLegend
#define __pyx_type_9dearcygui_4core_plotElementXY __pyx_mstate_global->__pyx_type_9dearcygui_4core_plotElementXY
#define __pyx_type_9dearcygui_4core_PlotLine __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotLine
#define __pyx_type_9dearcygui_4core_plotElementXYY __pyx_mstate_global->__pyx_type_9dearcygui_4core_plotElementXYY
#define __pyx_type_9dearcygui_4core_PlotShadedLine __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotShadedLine
#define __pyx_type_9dearcygui_4core_PlotStems __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotStems
#define __pyx_type_9dearcygui_4core_PlotBars __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotBars
#define __pyx_type_9dearcygui_4core_PlotStairs __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotStairs
#define __pyx_type_9dearcygui_4core_plotElementX __pyx_mstate_global->__pyx_type_9dearcygui_4core_plotElementX
#define __pyx_type_9dearcygui_4core_PlotInfLines __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotInfLines
#define __pyx_type_9dearcygui_4core_PlotScatter __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlotScatter
#define __pyx_type_9dearcygui_4core_DrawInPlot __pyx_mstate_global->__pyx_type_9dearcygui_4core_DrawInPlot
#define __pyx_type_9dearcygui_4core_DPGCallback __pyx_mstate_global->__pyx_type_9dearcygui_4core_DPGCallback
#define __pyx_type_9dearcygui_4core_PlaceHolderParent __pyx_mstate_global->__pyx_type_9dearcygui_4core_PlaceHolderParent
#define __Pyx_EnumMeta __pyx_mstate_global->__Pyx_EnumMeta
#define __pyx_type___pyx_array __pyx_mstate_global->__pyx_type___pyx_array
#define __pyx_type___pyx_MemviewEnum __pyx_mstate_global->__pyx_type___pyx_MemviewEnum
#define __pyx_type___pyx_memoryview __pyx_mstate_global->__pyx_type___pyx_memoryview
#define __pyx_type___pyx_memoryviewslice __pyx_mstate_global->__pyx_type___pyx_memoryviewslice
#endif
#define __pyx_ptype_9dearcygui_4core_Context __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Context
#define __pyx_ptype_9dearcygui_4core_baseItem __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_baseItem
#define __pyx_ptype_9dearcygui_4core_Viewport __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Viewport
#define __pyx_ptype_9dearcygui_4core_Callback __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Callback
#define __pyx_ptype_9dearcygui_4core_drawingItem __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_drawingItem
#define __pyx_ptype_9dearcygui_4core_DrawingList __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawingList
#define __pyx_ptype_9dearcygui_4core_DrawingListScale __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawingListScale
#define __pyx_ptype_9dearcygui_4core_DrawArrow_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawArrow_
#define __pyx_ptype_9dearcygui_4core_DrawBezierCubic_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawBezierCubic_
#define __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_
#define __pyx_ptype_9dearcygui_4core_DrawCircle_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawCircle_
#define __pyx_ptype_9dearcygui_4core_DrawEllipse_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawEllipse_
#define __pyx_ptype_9dearcygui_4core_DrawImage_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawImage_
#define __pyx_ptype_9dearcygui_4core_DrawImageQuad_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawImageQuad_
#define __pyx_ptype_9dearcygui_4core_DrawLine_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawLine_
#define __pyx_ptype_9dearcygui_4core_DrawPolyline_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawPolyline_
#define __pyx_ptype_9dearcygui_4core_DrawPolygon_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawPolygon_
#define __pyx_ptype_9dearcygui_4core_DrawQuad_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawQuad_
#define __pyx_ptype_9dearcygui_4core_DrawRect_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawRect_
#define __pyx_ptype_9dearcygui_4core_DrawText_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawText_
#define __pyx_ptype_9dearcygui_4core_DrawTriangle_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawTriangle_
#define __pyx_ptype_9dearcygui_4core_DrawInvisibleButton __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawInvisibleButton
#define __pyx_ptype_9dearcygui_4core_ViewportDrawList_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ViewportDrawList_
#define __pyx_ptype_9dearcygui_4core_SharedValue __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedValue
#define __pyx_ptype_9dearcygui_4core_SharedBool __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedBool
#define __pyx_ptype_9dearcygui_4core_SharedFloat __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedFloat
#define __pyx_ptype_9dearcygui_4core_SharedInt __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedInt
#define __pyx_ptype_9dearcygui_4core_SharedColor __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedColor
#define __pyx_ptype_9dearcygui_4core_SharedDouble __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedDouble
#define __pyx_ptype_9dearcygui_4core_SharedStr __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedStr
#define __pyx_ptype_9dearcygui_4core_SharedFloat4 __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedFloat4
#define __pyx_ptype_9dearcygui_4core_SharedInt4 __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedInt4
#define __pyx_ptype_9dearcygui_4core_SharedDouble4 __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedDouble4
#define __pyx_ptype_9dearcygui_4core_SharedFloatVect __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SharedFloatVect
#define __pyx_ptype_9dearcygui_4core_baseHandler __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_baseHandler
#define __pyx_ptype_9dearcygui_4core_KeyDownHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_KeyDownHandler_
#define __pyx_ptype_9dearcygui_4core_KeyPressHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_KeyPressHandler_
#define __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_
#define __pyx_ptype_9dearcygui_4core_MouseClickHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseClickHandler_
#define __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_
#define __pyx_ptype_9dearcygui_4core_MouseDownHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseDownHandler_
#define __pyx_ptype_9dearcygui_4core_MouseDragHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseDragHandler_
#define __pyx_ptype_9dearcygui_4core_MouseMoveHandler __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseMoveHandler
#define __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_ __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_
#define __pyx_ptype_9dearcygui_4core_MouseWheelHandler __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MouseWheelHandler
#define __pyx_ptype_9dearcygui_4core_uiItem __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_uiItem
#define __pyx_ptype_9dearcygui_4core_DrawInWindow __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawInWindow
#define __pyx_ptype_9dearcygui_4core_SimplePlot __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_SimplePlot
#define __pyx_ptype_9dearcygui_4core_Button __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Button
#define __pyx_ptype_9dearcygui_4core_Combo __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Combo
#define __pyx_ptype_9dearcygui_4core_Checkbox __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Checkbox
#define __pyx_ptype_9dearcygui_4core_Slider __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Slider
#define __pyx_ptype_9dearcygui_4core_ListBox __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ListBox
#define __pyx_ptype_9dearcygui_4core_RadioButton __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_RadioButton
#define __pyx_ptype_9dearcygui_4core_InputText __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_InputText
#define __pyx_ptype_9dearcygui_4core_InputValue __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_InputValue
#define __pyx_ptype_9dearcygui_4core_Text __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Text
#define __pyx_ptype_9dearcygui_4core_Selectable __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Selectable
#define __pyx_ptype_9dearcygui_4core_MenuItem __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MenuItem
#define __pyx_ptype_9dearcygui_4core_ProgressBar __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ProgressBar
#define __pyx_ptype_9dearcygui_4core_Image __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Image
#define __pyx_ptype_9dearcygui_4core_ImageButton __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ImageButton
#define __pyx_ptype_9dearcygui_4core_Separator __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Separator
#define __pyx_ptype_9dearcygui_4core_Spacer __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Spacer
#define __pyx_ptype_9dearcygui_4core_MenuBar __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_MenuBar
#define __pyx_ptype_9dearcygui_4core_Menu __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Menu
#define __pyx_ptype_9dearcygui_4core_Tooltip __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Tooltip
#define __pyx_ptype_9dearcygui_4core_TabButton __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_TabButton
#define __pyx_ptype_9dearcygui_4core_Tab __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Tab
#define __pyx_ptype_9dearcygui_4core_TabBar __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_TabBar
#define __pyx_ptype_9dearcygui_4core_Layout __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Layout
#define __pyx_ptype_9dearcygui_4core_HorizontalLayout __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_HorizontalLayout
#define __pyx_ptype_9dearcygui_4core_VerticalLayout __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_VerticalLayout
#define __pyx_ptype_9dearcygui_4core_TreeNode __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_TreeNode
#define __pyx_ptype_9dearcygui_4core_CollapsingHeader __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_CollapsingHeader
#define __pyx_ptype_9dearcygui_4core_ChildWindow __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ChildWindow
#define __pyx_ptype_9dearcygui_4core_ColorButton __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ColorButton
#define __pyx_ptype_9dearcygui_4core_ColorEdit __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ColorEdit
#define __pyx_ptype_9dearcygui_4core_ColorPicker __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_ColorPicker
#define __pyx_ptype_9dearcygui_4core_TimeWatcher __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_TimeWatcher
#define __pyx_ptype_9dearcygui_4core_Window __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Window
#define __pyx_ptype_9dearcygui_4core_Texture __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Texture
#define __pyx_ptype_9dearcygui_4core_Font __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Font
#define __pyx_ptype_9dearcygui_4core_FontTexture __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_FontTexture
#define __pyx_ptype_9dearcygui_4core_baseTheme __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_baseTheme
#define __pyx_ptype_9dearcygui_4core_PlotAxisConfig __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotAxisConfig
#define __pyx_ptype_9dearcygui_4core_PlotLegendConfig __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotLegendConfig
#define __pyx_ptype_9dearcygui_4core_Plot __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_Plot
#define __pyx_ptype_9dearcygui_4core_plotElement __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_plotElement
#define __pyx_ptype_9dearcygui_4core_plotElementWithLegend __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_plotElementWithLegend
#define __pyx_ptype_9dearcygui_4core_plotElementXY __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_plotElementXY
#define __pyx_ptype_9dearcygui_4core_PlotLine __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotLine
#define __pyx_ptype_9dearcygui_4core_plotElementXYY __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_plotElementXYY
#define __pyx_ptype_9dearcygui_4core_PlotShadedLine __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotShadedLine
#define __pyx_ptype_9dearcygui_4core_PlotStems __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotStems
#define __pyx_ptype_9dearcygui_4core_PlotBars __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotBars
#define __pyx_ptype_9dearcygui_4core_PlotStairs __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotStairs
#define __pyx_ptype_9dearcygui_4core_plotElementX __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_plotElementX
#define __pyx_ptype_9dearcygui_4core_PlotInfLines __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotInfLines
#define __pyx_ptype_9dearcygui_4core_PlotScatter __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlotScatter
#define __pyx_ptype_9dearcygui_4core_DrawInPlot __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DrawInPlot
#define __pyx_ptype_9dearcygui_4core_DPGCallback __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_DPGCallback
#define __pyx_ptype_9dearcygui_4core_PlaceHolderParent __pyx_mstate_global->__pyx_ptype_9dearcygui_4core_PlaceHolderParent
#define __pyx_ptype___Pyx_EnumMeta __pyx_mstate_global->__pyx_ptype___Pyx_EnumMeta
#define __pyx_array_type __pyx_mstate_global->__pyx_array_type
#define __pyx_MemviewEnum_type __pyx_mstate_global->__pyx_MemviewEnum_type
#define __pyx_memoryview_type __pyx_mstate_global->__pyx_memoryview_type
#define __pyx_memoryviewslice_type __pyx_mstate_global->__pyx_memoryviewslice_type
#define __pyx_kp_b_ __pyx_mstate_global->__pyx_kp_b_
#define __pyx_kp_s_ __pyx_mstate_global->__pyx_kp_s_
#define __pyx_kp_u_ __pyx_mstate_global->__pyx_kp_u_
#define __pyx_kp_b_3f __pyx_mstate_global->__pyx_kp_b_3f
#define __pyx_n_s_ASCII __pyx_mstate_global->__pyx_n_s_ASCII
#define __pyx_kp_s_All_dimensions_preceding_dimensi __pyx_mstate_global->__pyx_kp_s_All_dimensions_preceding_dimensi
#define __pyx_kp_u_An_error_occured_in_the_viewport __pyx_mstate_global->__pyx_kp_u_An_error_occured_in_the_viewport
#define __pyx_kp_u_An_error_occured_in_the_viewport_2 __pyx_mstate_global->__pyx_kp_u_An_error_occured_in_the_viewport_2
#define __pyx_n_s_AssertionError __pyx_mstate_global->__pyx_n_s_AssertionError
#define __pyx_n_s_AttributeError __pyx_mstate_global->__pyx_n_s_AttributeError
#define __pyx_kp_u_Axes_must_be_a_tuple_of_valid_X __pyx_mstate_global->__pyx_kp_u_Axes_must_be_a_tuple_of_valid_X
#define __pyx_n_s_Axis __pyx_mstate_global->__pyx_n_s_Axis
#define __pyx_n_s_AxisScale __pyx_mstate_global->__pyx_n_s_AxisScale
#define __pyx_n_u_B __pyx_mstate_global->__pyx_n_u_B
#define __pyx_n_s_BOTTOM __pyx_mstate_global->__pyx_n_s_BOTTOM
#define __pyx_kp_s_Buffer_view_does_not_expose_stri __pyx_mstate_global->__pyx_kp_s_Buffer_view_does_not_expose_stri
#define __pyx_n_s_Button __pyx_mstate_global->__pyx_n_s_Button
#define __pyx_n_s_Button___reduce_cython __pyx_mstate_global->__pyx_n_s_Button___reduce_cython
#define __pyx_n_s_Button___setstate_cython __pyx_mstate_global->__pyx_n_s_Button___setstate_cython
#define __pyx_n_s_C __pyx_mstate_global->__pyx_n_s_C
#define __pyx_n_s_CENTER __pyx_mstate_global->__pyx_n_s_CENTER
#define __pyx_n_u_C_CONTIGUOUS __pyx_mstate_global->__pyx_n_u_C_CONTIGUOUS
#define __pyx_kp_u_Callback __pyx_mstate_global->__pyx_kp_u_Callback
#define __pyx_n_s_Callback_2 __pyx_mstate_global->__pyx_n_s_Callback_2
#define __pyx_n_s_Callback___reduce_cython __pyx_mstate_global->__pyx_n_s_Callback___reduce_cython
#define __pyx_n_s_Callback___setstate_cython __pyx_mstate_global->__pyx_n_s_Callback___setstate_cython
#define __pyx_kp_u_Callback_argument_was __pyx_mstate_global->__pyx_kp_u_Callback_argument_was
#define __pyx_kp_u_Callback_arguments_were __pyx_mstate_global->__pyx_kp_u_Callback_arguments_were
#define __pyx_kp_u_Callback_called_without_argument __pyx_mstate_global->__pyx_kp_u_Callback_called_without_argument
#define __pyx_kp_u_Callback_function_takes_too_many __pyx_mstate_global->__pyx_kp_u_Callback_function_takes_too_many
#define __pyx_kp_u_Callback_requires_a_callable_obj __pyx_mstate_global->__pyx_kp_u_Callback_requires_a_callable_obj
#define __pyx_kp_s_Can_only_create_a_buffer_that_is __pyx_mstate_global->__pyx_kp_s_Can_only_create_a_buffer_that_is
#define __pyx_kp_u_Cannot_add_Font_to_built_FontTex __pyx_mstate_global->__pyx_kp_u_Cannot_add_Font_to_built_FontTex
#define __pyx_kp_s_Cannot_assign_to_read_only_memor __pyx_mstate_global->__pyx_kp_s_Cannot_assign_to_read_only_memor
#define __pyx_kp_u_Cannot_attach __pyx_mstate_global->__pyx_kp_u_Cannot_attach
#define __pyx_kp_u_Cannot_bind_sibling_if_no_parent __pyx_mstate_global->__pyx_kp_u_Cannot_bind_sibling_if_no_parent
#define __pyx_kp_s_Cannot_create_writable_memory_vi __pyx_mstate_global->__pyx_kp_s_Cannot_create_writable_memory_vi
#define __pyx_kp_u_Cannot_get_mouse_position_no_mou __pyx_mstate_global->__pyx_kp_u_Cannot_get_mouse_position_no_mou
#define __pyx_kp_u_Cannot_index_with_type __pyx_mstate_global->__pyx_kp_u_Cannot_index_with_type
#define __pyx_kp_u_Cannot_set_empty_texture __pyx_mstate_global->__pyx_kp_u_Cannot_set_empty_texture
#define __pyx_kp_s_Cannot_transpose_memoryview_with __pyx_mstate_global->__pyx_kp_s_Cannot_transpose_memoryview_with
#define __pyx_n_s_Checkbox __pyx_mstate_global->__pyx_n_s_Checkbox
#define __pyx_n_s_Checkbox___reduce_cython __pyx_mstate_global->__pyx_n_s_Checkbox___reduce_cython
#define __pyx_n_s_Checkbox___setstate_cython __pyx_mstate_global->__pyx_n_s_Checkbox___setstate_cython
#define __pyx_n_s_ChildWindow __pyx_mstate_global->__pyx_n_s_ChildWindow
#define __pyx_n_s_ChildWindow___reduce_cython __pyx_mstate_global->__pyx_n_s_ChildWindow___reduce_cython
#define __pyx_n_s_ChildWindow___setstate_cython __pyx_mstate_global->__pyx_n_s_ChildWindow___setstate_cython
#define __pyx_n_s_CollapsingHeader __pyx_mstate_global->__pyx_n_s_CollapsingHeader
#define __pyx_n_s_CollapsingHeader___reduce_cython __pyx_mstate_global->__pyx_n_s_CollapsingHeader___reduce_cython
#define __pyx_n_s_CollapsingHeader___setstate_cyth __pyx_mstate_global->__pyx_n_s_CollapsingHeader___setstate_cyth
#define __pyx_n_s_ColorButton __pyx_mstate_global->__pyx_n_s_ColorButton
#define __pyx_n_s_ColorButton___reduce_cython __pyx_mstate_global->__pyx_n_s_ColorButton___reduce_cython
#define __pyx_n_s_ColorButton___setstate_cython __pyx_mstate_global->__pyx_n_s_ColorButton___setstate_cython
#define __pyx_n_s_ColorEdit __pyx_mstate_global->__pyx_n_s_ColorEdit
#define __pyx_n_s_ColorEdit___reduce_cython __pyx_mstate_global->__pyx_n_s_ColorEdit___reduce_cython
#define __pyx_n_s_ColorEdit___setstate_cython __pyx_mstate_global->__pyx_n_s_ColorEdit___setstate_cython
#define __pyx_n_s_ColorPicker __pyx_mstate_global->__pyx_n_s_ColorPicker
#define __pyx_n_s_ColorPicker___reduce_cython __pyx_mstate_global->__pyx_n_s_ColorPicker___reduce_cython
#define __pyx_n_s_ColorPicker___setstate_cython __pyx_mstate_global->__pyx_n_s_ColorPicker___setstate_cython
#define __pyx_kp_u_Color_data_must_either_an_int32 __pyx_mstate_global->__pyx_kp_u_Color_data_must_either_an_int32
#define __pyx_kp_u_Color_value_component_outside_bo __pyx_mstate_global->__pyx_kp_u_Color_value_component_outside_bo
#define __pyx_kp_u_Color_value_component_outside_bo_2 __pyx_mstate_global->__pyx_kp_u_Color_value_component_outside_bo_2
#define __pyx_n_s_Combo __pyx_mstate_global->__pyx_n_s_Combo
#define __pyx_n_s_Combo___reduce_cython __pyx_mstate_global->__pyx_n_s_Combo___reduce_cython
#define __pyx_n_s_Combo___setstate_cython __pyx_mstate_global->__pyx_n_s_Combo___setstate_cython
#define __pyx_n_s_Context __pyx_mstate_global->__pyx_n_s_Context
#define __pyx_n_s_Context___reduce_cython __pyx_mstate_global->__pyx_n_s_Context___reduce_cython
#define __pyx_n_s_Context___setstate_cython __pyx_mstate_global->__pyx_n_s_Context___setstate_cython
#define __pyx_n_s_Context_fetch_last_created_conta __pyx_mstate_global->__pyx_n_s_Context_fetch_last_created_conta
#define __pyx_n_s_Context_fetch_last_created_item __pyx_mstate_global->__pyx_n_s_Context_fetch_last_created_item
#define __pyx_n_s_Context_fetch_parent_queue_back __pyx_mstate_global->__pyx_n_s_Context_fetch_parent_queue_back
#define __pyx_n_s_Context_fetch_parent_queue_front __pyx_mstate_global->__pyx_n_s_Context_fetch_parent_queue_front
#define __pyx_n_s_Context_get_mouse_clicked_count __pyx_mstate_global->__pyx_n_s_Context_get_mouse_clicked_count
#define __pyx_n_s_Context_get_mouse_drag_delta __pyx_mstate_global->__pyx_n_s_Context_get_mouse_drag_delta
#define __pyx_n_s_Context_get_mouse_position __pyx_mstate_global->__pyx_n_s_Context_get_mouse_position
#define __pyx_n_s_Context_is_key_down __pyx_mstate_global->__pyx_n_s_Context_is_key_down
#define __pyx_n_s_Context_is_key_pressed __pyx_mstate_global->__pyx_n_s_Context_is_key_pressed
#define __pyx_n_s_Context_is_key_released __pyx_mstate_global->__pyx_n_s_Context_is_key_released
#define __pyx_n_s_Context_is_mouse_clicked __pyx_mstate_global->__pyx_n_s_Context_is_mouse_clicked
#define __pyx_n_s_Context_is_mouse_double_clicked __pyx_mstate_global->__pyx_n_s_Context_is_mouse_double_clicked
#define __pyx_n_s_Context_is_mouse_down __pyx_mstate_global->__pyx_n_s_Context_is_mouse_down
#define __pyx_n_s_Context_is_mouse_dragging __pyx_mstate_global->__pyx_n_s_Context_is_mouse_dragging
#define __pyx_n_s_Context_is_mouse_released __pyx_mstate_global->__pyx_n_s_Context_is_mouse_released
#define __pyx_n_s_Context_pop_next_parent __pyx_mstate_global->__pyx_n_s_Context_pop_next_parent
#define __pyx_n_s_Context_push_next_parent __pyx_mstate_global->__pyx_n_s_Context_push_next_parent
#define __pyx_n_s_Context_reset_mouse_drag_delta __pyx_mstate_global->__pyx_n_s_Context_reset_mouse_drag_delta
#define __pyx_n_s_CursorArrow __pyx_mstate_global->__pyx_n_s_CursorArrow
#define __pyx_n_s_CursorNone __pyx_mstate_global->__pyx_n_s_CursorNone
#define __pyx_n_s_CursorTextInput __pyx_mstate_global->__pyx_n_s_CursorTextInput
#define __pyx_n_s_DEFAULT __pyx_mstate_global->__pyx_n_s_DEFAULT
#define __pyx_n_s_DPGCallback __pyx_mstate_global->__pyx_n_s_DPGCallback
#define __pyx_n_s_DPGCallback___reduce_cython __pyx_mstate_global->__pyx_n_s_DPGCallback___reduce_cython
#define __pyx_n_s_DPGCallback___setstate_cython __pyx_mstate_global->__pyx_n_s_DPGCallback___setstate_cython
#define __pyx_kp_b_DPG_PAYLOAD __pyx_mstate_global->__pyx_kp_b_DPG_PAYLOAD
#define __pyx_n_s_Delaunay __pyx_mstate_global->__pyx_n_s_Delaunay
#define __pyx_kp_s_Dimension_d_is_not_direct __pyx_mstate_global->__pyx_kp_s_Dimension_d_is_not_direct
#define __pyx_n_s_DrawArrow __pyx_mstate_global->__pyx_n_s_DrawArrow
#define __pyx_n_s_DrawArrow____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawArrow____reduce_cython
#define __pyx_n_s_DrawArrow____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawArrow____setstate_cython
#define __pyx_n_s_DrawBezierCubic __pyx_mstate_global->__pyx_n_s_DrawBezierCubic
#define __pyx_n_s_DrawBezierCubic____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawBezierCubic____reduce_cython
#define __pyx_n_s_DrawBezierCubic____setstate_cyth __pyx_mstate_global->__pyx_n_s_DrawBezierCubic____setstate_cyth
#define __pyx_n_s_DrawBezierQuadratic __pyx_mstate_global->__pyx_n_s_DrawBezierQuadratic
#define __pyx_n_s_DrawBezierQuadratic____reduce_cy __pyx_mstate_global->__pyx_n_s_DrawBezierQuadratic____reduce_cy
#define __pyx_n_s_DrawBezierQuadratic____setstate __pyx_mstate_global->__pyx_n_s_DrawBezierQuadratic____setstate
#define __pyx_n_s_DrawCircle __pyx_mstate_global->__pyx_n_s_DrawCircle
#define __pyx_n_s_DrawCircle____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawCircle____reduce_cython
#define __pyx_n_s_DrawCircle____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawCircle____setstate_cython
#define __pyx_n_s_DrawEllipse __pyx_mstate_global->__pyx_n_s_DrawEllipse
#define __pyx_n_s_DrawEllipse____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawEllipse____reduce_cython
#define __pyx_n_s_DrawEllipse____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawEllipse____setstate_cython
#define __pyx_n_s_DrawImage __pyx_mstate_global->__pyx_n_s_DrawImage
#define __pyx_n_s_DrawImageQuad __pyx_mstate_global->__pyx_n_s_DrawImageQuad
#define __pyx_n_s_DrawImageQuad____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawImageQuad____reduce_cython
#define __pyx_n_s_DrawImageQuad____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawImageQuad____setstate_cython
#define __pyx_n_s_DrawImage____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawImage____reduce_cython
#define __pyx_n_s_DrawImage____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawImage____setstate_cython
#define __pyx_n_s_DrawInPlot __pyx_mstate_global->__pyx_n_s_DrawInPlot
#define __pyx_n_s_DrawInPlot___reduce_cython __pyx_mstate_global->__pyx_n_s_DrawInPlot___reduce_cython
#define __pyx_n_s_DrawInPlot___setstate_cython __pyx_mstate_global->__pyx_n_s_DrawInPlot___setstate_cython
#define __pyx_n_s_DrawInWindow __pyx_mstate_global->__pyx_n_s_DrawInWindow
#define __pyx_n_s_DrawInWindow___reduce_cython __pyx_mstate_global->__pyx_n_s_DrawInWindow___reduce_cython
#define __pyx_n_s_DrawInWindow___setstate_cython __pyx_mstate_global->__pyx_n_s_DrawInWindow___setstate_cython
#define __pyx_n_s_DrawInvisibleButton __pyx_mstate_global->__pyx_n_s_DrawInvisibleButton
#define __pyx_n_s_DrawInvisibleButton___reduce_cyt __pyx_mstate_global->__pyx_n_s_DrawInvisibleButton___reduce_cyt
#define __pyx_n_s_DrawInvisibleButton___setstate_c __pyx_mstate_global->__pyx_n_s_DrawInvisibleButton___setstate_c
#define __pyx_n_s_DrawLine __pyx_mstate_global->__pyx_n_s_DrawLine
#define __pyx_n_s_DrawLine____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawLine____reduce_cython
#define __pyx_n_s_DrawLine____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawLine____setstate_cython
#define __pyx_n_s_DrawPolygon __pyx_mstate_global->__pyx_n_s_DrawPolygon
#define __pyx_n_s_DrawPolygon____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawPolygon____reduce_cython
#define __pyx_n_s_DrawPolygon____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawPolygon____setstate_cython
#define __pyx_n_s_DrawPolyline __pyx_mstate_global->__pyx_n_s_DrawPolyline
#define __pyx_n_s_DrawPolyline____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawPolyline____reduce_cython
#define __pyx_n_s_DrawPolyline____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawPolyline____setstate_cython
#define __pyx_n_s_DrawQuad __pyx_mstate_global->__pyx_n_s_DrawQuad
#define __pyx_n_s_DrawQuad____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawQuad____reduce_cython
#define __pyx_n_s_DrawQuad____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawQuad____setstate_cython
#define __pyx_n_s_DrawRect __pyx_mstate_global->__pyx_n_s_DrawRect
#define __pyx_n_s_DrawRect____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawRect____reduce_cython
#define __pyx_n_s_DrawRect____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawRect____setstate_cython
#define __pyx_n_s_DrawText __pyx_mstate_global->__pyx_n_s_DrawText
#define __pyx_n_s_DrawText____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawText____reduce_cython
#define __pyx_n_s_DrawText____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawText____setstate_cython
#define __pyx_n_s_DrawTriangle __pyx_mstate_global->__pyx_n_s_DrawTriangle
#define __pyx_n_s_DrawTriangle____reduce_cython __pyx_mstate_global->__pyx_n_s_DrawTriangle____reduce_cython
#define __pyx_n_s_DrawTriangle____setstate_cython __pyx_mstate_global->__pyx_n_s_DrawTriangle____setstate_cython
#define __pyx_n_s_DrawingList __pyx_mstate_global->__pyx_n_s_DrawingList
#define __pyx_n_s_DrawingListScale __pyx_mstate_global->__pyx_n_s_DrawingListScale
#define __pyx_n_s_DrawingListScale___reduce_cython __pyx_mstate_global->__pyx_n_s_DrawingListScale___reduce_cython
#define __pyx_n_s_DrawingListScale___setstate_cyth __pyx_mstate_global->__pyx_n_s_DrawingListScale___setstate_cyth
#define __pyx_n_s_DrawingList___reduce_cython __pyx_mstate_global->__pyx_n_s_DrawingList___reduce_cython
#define __pyx_n_s_DrawingList___setstate_cython __pyx_mstate_global->__pyx_n_s_DrawingList___setstate_cython
#define __pyx_n_s_Ellipsis __pyx_mstate_global->__pyx_n_s_Ellipsis
#define __pyx_kp_s_Empty_shape_tuple_for_cython_arr __pyx_mstate_global->__pyx_kp_s_Empty_shape_tuple_for_cython_arr
#define __pyx_n_s_EnumBase __pyx_mstate_global->__pyx_n_s_EnumBase
#define __pyx_n_s_EnumType __pyx_mstate_global->__pyx_n_s_EnumType
#define __pyx_n_s_Executor __pyx_mstate_global->__pyx_n_s_Executor
#define __pyx_kp_u_Expected_1_2_3_or_4_for_size_Got __pyx_mstate_global->__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got
#define __pyx_kp_u_Expected_a_shareable_value_of_ty __pyx_mstate_global->__pyx_kp_u_Expected_a_shareable_value_of_ty
#define __pyx_kp_u_Expected_int_float_or_double_Got __pyx_mstate_global->__pyx_kp_u_Expected_int_float_or_double_Got
#define __pyx_kp_u_Expected_tuple_for_pos_x_y __pyx_mstate_global->__pyx_kp_u_Expected_tuple_for_pos_x_y
#define __pyx_kp_u_Expected_tuple_got __pyx_mstate_global->__pyx_kp_u_Expected_tuple_got
#define __pyx_kp_u_Failed_to_build_target_texture_d __pyx_mstate_global->__pyx_kp_u_Failed_to_build_target_texture_d
#define __pyx_kp_u_Failed_to_create_the_viewport __pyx_mstate_global->__pyx_kp_u_Failed_to_create_the_viewport
#define __pyx_kp_u_Failed_to_load_target_Font_file __pyx_mstate_global->__pyx_kp_u_Failed_to_load_target_Font_file
#define __pyx_kp_u_Failed_to_upload_target_texture __pyx_mstate_global->__pyx_kp_u_Failed_to_upload_target_texture
#define __pyx_kp_u_Field_undefined_for_type __pyx_mstate_global->__pyx_kp_u_Field_undefined_for_type
#define __pyx_kp_u_File __pyx_mstate_global->__pyx_kp_u_File
#define __pyx_n_s_FindSystemFontsFilenameException __pyx_mstate_global->__pyx_n_s_FindSystemFontsFilenameException
#define __pyx_n_s_Font __pyx_mstate_global->__pyx_n_s_Font
#define __pyx_n_s_FontTexture __pyx_mstate_global->__pyx_n_s_FontTexture
#define __pyx_n_s_FontTexture___delalloc __pyx_mstate_global->__pyx_n_s_FontTexture___delalloc
#define __pyx_n_s_FontTexture___reduce_cython __pyx_mstate_global->__pyx_n_s_FontTexture___reduce_cython
#define __pyx_n_s_FontTexture___setstate_cython __pyx_mstate_global->__pyx_n_s_FontTexture___setstate_cython
#define __pyx_n_s_FontTexture_add_font_file __pyx_mstate_global->__pyx_n_s_FontTexture_add_font_file
#define __pyx_n_s_FontTexture_build __pyx_mstate_global->__pyx_n_s_FontTexture_build
#define __pyx_n_s_Font___reduce_cython __pyx_mstate_global->__pyx_n_s_Font___reduce_cython
#define __pyx_n_s_Font___setstate_cython __pyx_mstate_global->__pyx_n_s_Font___setstate_cython
#define __pyx_n_s_Hand __pyx_mstate_global->__pyx_n_s_Hand
#define __pyx_n_s_HorizontalLayout __pyx_mstate_global->__pyx_n_s_HorizontalLayout
#define __pyx_n_s_HorizontalLayout___reduce_cython __pyx_mstate_global->__pyx_n_s_HorizontalLayout___reduce_cython
#define __pyx_n_s_HorizontalLayout___setstate_cyth __pyx_mstate_global->__pyx_n_s_HorizontalLayout___setstate_cyth
#define __pyx_n_s_HorizontalLayout_update_layout __pyx_mstate_global->__pyx_n_s_HorizontalLayout_update_layout
#define __pyx_n_s_Image __pyx_mstate_global->__pyx_n_s_Image
#define __pyx_n_s_ImageButton __pyx_mstate_global->__pyx_n_s_ImageButton
#define __pyx_n_s_ImageButton___reduce_cython __pyx_mstate_global->__pyx_n_s_ImageButton___reduce_cython
#define __pyx_n_s_ImageButton___setstate_cython __pyx_mstate_global->__pyx_n_s_ImageButton___setstate_cython
#define __pyx_n_s_Image___reduce_cython __pyx_mstate_global->__pyx_n_s_Image___reduce_cython
#define __pyx_n_s_Image___setstate_cython __pyx_mstate_global->__pyx_n_s_Image___setstate_cython
#define __pyx_n_s_ImportError __pyx_mstate_global->__pyx_n_s_ImportError
#define __pyx_kp_s_Incompatible_checksums_0x_x_vs_0 __pyx_mstate_global->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0
#define __pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2 __pyx_mstate_global->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2
#define __pyx_n_s_IndexError __pyx_mstate_global->__pyx_n_s_IndexError
#define __pyx_kp_s_Index_out_of_bounds_axis_d __pyx_mstate_global->__pyx_kp_s_Index_out_of_bounds_axis_d
#define __pyx_kp_s_Indirect_dimensions_not_supporte __pyx_mstate_global->__pyx_kp_s_Indirect_dimensions_not_supporte
#define __pyx_n_s_InputText __pyx_mstate_global->__pyx_n_s_InputText
#define __pyx_n_s_InputText___reduce_cython __pyx_mstate_global->__pyx_n_s_InputText___reduce_cython
#define __pyx_n_s_InputText___setstate_cython __pyx_mstate_global->__pyx_n_s_InputText___setstate_cython
#define __pyx_n_s_InputValue __pyx_mstate_global->__pyx_n_s_InputValue
#define __pyx_n_s_InputValue___reduce_cython __pyx_mstate_global->__pyx_n_s_InputValue___reduce_cython
#define __pyx_n_s_InputValue___setstate_cython __pyx_mstate_global->__pyx_n_s_InputValue___setstate_cython
#define __pyx_n_s_InputValue_configure __pyx_mstate_global->__pyx_n_s_InputValue_configure
#define __pyx_kp_u_Instance_of_type_cannot_be_attac __pyx_mstate_global->__pyx_kp_u_Instance_of_type_cannot_be_attac
#define __pyx_kp_u_Instance_of_type_cannot_be_sibli __pyx_mstate_global->__pyx_kp_u_Instance_of_type_cannot_be_sibli
#define __pyx_kp_u_Instance_of_type_cannot_have_a_s __pyx_mstate_global->__pyx_kp_u_Instance_of_type_cannot_have_a_s
#define __pyx_n_s_IntEnum __pyx_mstate_global->__pyx_n_s_IntEnum
#define __pyx_n_s_IntFlag __pyx_mstate_global->__pyx_n_s_IntFlag
#define __pyx_kp_u_Invalid_alignment_value __pyx_mstate_global->__pyx_kp_u_Invalid_alignment_value
#define __pyx_kp_u_Invalid_arguments_passed_to_Text __pyx_mstate_global->__pyx_kp_u_Invalid_arguments_passed_to_Text
#define __pyx_kp_u_Invalid_button __pyx_mstate_global->__pyx_kp_u_Invalid_button
#define __pyx_kp_u_Invalid_button_mask __pyx_mstate_global->__pyx_kp_u_Invalid_button_mask
#define __pyx_kp_u_Invalid_cursor_type_value __pyx_mstate_global->__pyx_kp_u_Invalid_cursor_type_value
#define __pyx_kp_u_Invalid_direction_value __pyx_mstate_global->__pyx_kp_u_Invalid_direction_value
#define __pyx_kp_u_Invalid_height_mode_value __pyx_mstate_global->__pyx_kp_u_Invalid_height_mode_value
#define __pyx_kp_u_Invalid_key __pyx_mstate_global->__pyx_kp_u_Invalid_key
#define __pyx_kp_u_Invalid_location_Must_be_a_Legen __pyx_mstate_global->__pyx_kp_u_Invalid_location_Must_be_a_Legen
#define __pyx_kp_u_Invalid_mode_expected_c_or_fortr __pyx_mstate_global->__pyx_kp_u_Invalid_mode_expected_c_or_fortr
#define __pyx_kp_u_Invalid_number_of_texture_dimens __pyx_mstate_global->__pyx_kp_u_Invalid_number_of_texture_dimens
#define __pyx_kp_u_Invalid_positioning_policy __pyx_mstate_global->__pyx_kp_u_Invalid_positioning_policy
#define __pyx_kp_u_Invalid_scale __pyx_mstate_global->__pyx_kp_u_Invalid_scale
#define __pyx_kp_u_Invalid_scale_Expecting_an_AxisS __pyx_mstate_global->__pyx_kp_u_Invalid_scale_Expecting_an_AxisS
#define __pyx_kp_u_Invalid_shape_in_axis __pyx_mstate_global->__pyx_kp_u_Invalid_shape_in_axis
#define __pyx_kp_u_Invalid_texture_size __pyx_mstate_global->__pyx_kp_u_Invalid_texture_size
#define __pyx_kp_u_Invalid_type __pyx_mstate_global->__pyx_kp_u_Invalid_type
#define __pyx_kp_u_Item_not_found_with_index __pyx_mstate_global->__pyx_kp_u_Item_not_found_with_index
#define __pyx_n_s_JUSTIFIED __pyx_mstate_global->__pyx_n_s_JUSTIFIED
#define __pyx_n_s_KeyDownHandler __pyx_mstate_global->__pyx_n_s_KeyDownHandler
#define __pyx_n_s_KeyDownHandler____reduce_cython __pyx_mstate_global->__pyx_n_s_KeyDownHandler____reduce_cython
#define __pyx_n_s_KeyDownHandler____setstate_cytho __pyx_mstate_global->__pyx_n_s_KeyDownHandler____setstate_cytho
#define __pyx_n_s_KeyError __pyx_mstate_global->__pyx_n_s_KeyError
#define __pyx_n_s_KeyPressHandler __pyx_mstate_global->__pyx_n_s_KeyPressHandler
#define __pyx_n_s_KeyPressHandler____reduce_cython __pyx_mstate_global->__pyx_n_s_KeyPressHandler____reduce_cython
#define __pyx_n_s_KeyPressHandler____setstate_cyth __pyx_mstate_global->__pyx_n_s_KeyPressHandler____setstate_cyth
#define __pyx_n_s_KeyReleaseHandler __pyx_mstate_global->__pyx_n_s_KeyReleaseHandler
#define __pyx_n_s_KeyReleaseHandler____reduce_cyth __pyx_mstate_global->__pyx_n_s_KeyReleaseHandler____reduce_cyth
#define __pyx_n_s_KeyReleaseHandler____setstate_cy __pyx_mstate_global->__pyx_n_s_KeyReleaseHandler____setstate_cy
#define __pyx_n_s_LEFT __pyx_mstate_global->__pyx_n_s_LEFT
#define __pyx_n_s_Layout __pyx_mstate_global->__pyx_n_s_Layout
#define __pyx_n_s_Layout___reduce_cython __pyx_mstate_global->__pyx_n_s_Layout___reduce_cython
#define __pyx_n_s_Layout___setstate_cython __pyx_mstate_global->__pyx_n_s_Layout___setstate_cython
#define __pyx_n_s_Layout_update_layout __pyx_mstate_global->__pyx_n_s_Layout_update_layout
#define __pyx_n_s_LegendLocation __pyx_mstate_global->__pyx_n_s_LegendLocation
#define __pyx_n_s_ListBox __pyx_mstate_global->__pyx_n_s_ListBox
#define __pyx_n_s_ListBox___reduce_cython __pyx_mstate_global->__pyx_n_s_ListBox___reduce_cython
#define __pyx_n_s_ListBox___setstate_cython __pyx_mstate_global->__pyx_n_s_ListBox___setstate_cython
#define __pyx_n_s_MANUAL __pyx_mstate_global->__pyx_n_s_MANUAL
#define __pyx_n_s_MemoryError __pyx_mstate_global->__pyx_n_s_MemoryError
#define __pyx_kp_s_MemoryView_of_r_at_0x_x __pyx_mstate_global->__pyx_kp_s_MemoryView_of_r_at_0x_x
#define __pyx_kp_s_MemoryView_of_r_object __pyx_mstate_global->__pyx_kp_s_MemoryView_of_r_object
#define __pyx_n_s_Menu __pyx_mstate_global->__pyx_n_s_Menu
#define __pyx_n_s_MenuBar __pyx_mstate_global->__pyx_n_s_MenuBar
#define __pyx_n_s_MenuBar___reduce_cython __pyx_mstate_global->__pyx_n_s_MenuBar___reduce_cython
#define __pyx_n_s_MenuBar___setstate_cython __pyx_mstate_global->__pyx_n_s_MenuBar___setstate_cython
#define __pyx_n_s_MenuItem __pyx_mstate_global->__pyx_n_s_MenuItem
#define __pyx_n_s_MenuItem___reduce_cython __pyx_mstate_global->__pyx_n_s_MenuItem___reduce_cython
#define __pyx_n_s_MenuItem___setstate_cython __pyx_mstate_global->__pyx_n_s_MenuItem___setstate_cython
#define __pyx_n_s_Menu___reduce_cython __pyx_mstate_global->__pyx_n_s_Menu___reduce_cython
#define __pyx_n_s_Menu___setstate_cython __pyx_mstate_global->__pyx_n_s_Menu___setstate_cython
#define __pyx_n_s_MouseClickHandler __pyx_mstate_global->__pyx_n_s_MouseClickHandler
#define __pyx_n_s_MouseClickHandler____reduce_cyth __pyx_mstate_global->__pyx_n_s_MouseClickHandler____reduce_cyth
#define __pyx_n_s_MouseClickHandler____setstate_cy __pyx_mstate_global->__pyx_n_s_MouseClickHandler____setstate_cy
#define __pyx_n_s_MouseDoubleClickHandler __pyx_mstate_global->__pyx_n_s_MouseDoubleClickHandler
#define __pyx_n_s_MouseDoubleClickHandler____reduc __pyx_mstate_global->__pyx_n_s_MouseDoubleClickHandler____reduc
#define __pyx_n_s_MouseDoubleClickHandler____setst __pyx_mstate_global->__pyx_n_s_MouseDoubleClickHandler____setst
#define __pyx_n_s_MouseDownHandler __pyx_mstate_global->__pyx_n_s_MouseDownHandler
#define __pyx_n_s_MouseDownHandler____reduce_cytho __pyx_mstate_global->__pyx_n_s_MouseDownHandler____reduce_cytho
#define __pyx_n_s_MouseDownHandler____setstate_cyt __pyx_mstate_global->__pyx_n_s_MouseDownHandler____setstate_cyt
#define __pyx_n_s_MouseDragHandler __pyx_mstate_global->__pyx_n_s_MouseDragHandler
#define __pyx_n_s_MouseDragHandler____reduce_cytho __pyx_mstate_global->__pyx_n_s_MouseDragHandler____reduce_cytho
#define __pyx_n_s_MouseDragHandler____setstate_cyt __pyx_mstate_global->__pyx_n_s_MouseDragHandler____setstate_cyt
#define __pyx_n_s_MouseMoveHandler __pyx_mstate_global->__pyx_n_s_MouseMoveHandler
#define __pyx_n_s_MouseMoveHandler___reduce_cython __pyx_mstate_global->__pyx_n_s_MouseMoveHandler___reduce_cython
#define __pyx_n_s_MouseMoveHandler___setstate_cyth __pyx_mstate_global->__pyx_n_s_MouseMoveHandler___setstate_cyth
#define __pyx_n_s_MouseReleaseHandler __pyx_mstate_global->__pyx_n_s_MouseReleaseHandler
#define __pyx_n_s_MouseReleaseHandler____reduce_cy __pyx_mstate_global->__pyx_n_s_MouseReleaseHandler____reduce_cy
#define __pyx_n_s_MouseReleaseHandler____setstate __pyx_mstate_global->__pyx_n_s_MouseReleaseHandler____setstate
#define __pyx_n_s_MouseWheelHandler __pyx_mstate_global->__pyx_n_s_MouseWheelHandler
#define __pyx_n_s_MouseWheelHandler___reduce_cytho __pyx_mstate_global->__pyx_n_s_MouseWheelHandler___reduce_cytho
#define __pyx_n_s_MouseWheelHandler___setstate_cyt __pyx_mstate_global->__pyx_n_s_MouseWheelHandler___setstate_cyt
#define __pyx_n_s_N __pyx_mstate_global->__pyx_n_s_N
#define __pyx_kp_u_None __pyx_mstate_global->__pyx_kp_u_None
#define __pyx_n_s_NotAllowed __pyx_mstate_global->__pyx_n_s_NotAllowed
#define __pyx_n_b_O __pyx_mstate_global->__pyx_n_b_O
#define __pyx_kp_u_Objects_of_type __pyx_mstate_global->__pyx_kp_u_Objects_of_type
#define __pyx_n_s_OrderedDict __pyx_mstate_global->__pyx_n_s_OrderedDict
#define __pyx_kp_u_Out_of_bounds_on_buffer_access_a __pyx_mstate_global->__pyx_kp_u_Out_of_bounds_on_buffer_access_a
#define __pyx_kp_u_Outside_range __pyx_mstate_global->__pyx_kp_u_Outside_range
#define __pyx_n_s_PermissionError __pyx_mstate_global->__pyx_n_s_PermissionError
#define __pyx_n_s_PickleError __pyx_mstate_global->__pyx_n_s_PickleError
#define __pyx_n_s_PlaceHolderParent __pyx_mstate_global->__pyx_n_s_PlaceHolderParent
#define __pyx_n_s_PlaceHolderParent___reduce_cytho __pyx_mstate_global->__pyx_n_s_PlaceHolderParent___reduce_cytho
#define __pyx_n_s_PlaceHolderParent___setstate_cyt __pyx_mstate_global->__pyx_n_s_PlaceHolderParent___setstate_cyt
#define __pyx_n_s_Plot __pyx_mstate_global->__pyx_n_s_Plot
#define __pyx_n_s_PlotAxisConfig __pyx_mstate_global->__pyx_n_s_PlotAxisConfig
#define __pyx_n_s_PlotAxisConfig___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotAxisConfig___reduce_cython
#define __pyx_n_s_PlotAxisConfig___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotAxisConfig___setstate_cython
#define __pyx_n_s_PlotAxisConfig_fit __pyx_mstate_global->__pyx_n_s_PlotAxisConfig_fit
#define __pyx_n_s_PlotBars __pyx_mstate_global->__pyx_n_s_PlotBars
#define __pyx_n_s_PlotBars___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotBars___reduce_cython
#define __pyx_n_s_PlotBars___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotBars___setstate_cython
#define __pyx_n_s_PlotInfLines __pyx_mstate_global->__pyx_n_s_PlotInfLines
#define __pyx_n_s_PlotInfLines___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotInfLines___reduce_cython
#define __pyx_n_s_PlotInfLines___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotInfLines___setstate_cython
#define __pyx_n_s_PlotLegendConfig __pyx_mstate_global->__pyx_n_s_PlotLegendConfig
#define __pyx_n_s_PlotLegendConfig___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotLegendConfig___reduce_cython
#define __pyx_n_s_PlotLegendConfig___setstate_cyth __pyx_mstate_global->__pyx_n_s_PlotLegendConfig___setstate_cyth
#define __pyx_n_s_PlotLine __pyx_mstate_global->__pyx_n_s_PlotLine
#define __pyx_n_s_PlotLine___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotLine___reduce_cython
#define __pyx_n_s_PlotLine___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotLine___setstate_cython
#define __pyx_n_s_PlotScatter __pyx_mstate_global->__pyx_n_s_PlotScatter
#define __pyx_n_s_PlotScatter___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotScatter___reduce_cython
#define __pyx_n_s_PlotScatter___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotScatter___setstate_cython
#define __pyx_n_s_PlotShadedLine __pyx_mstate_global->__pyx_n_s_PlotShadedLine
#define __pyx_n_s_PlotShadedLine___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotShadedLine___reduce_cython
#define __pyx_n_s_PlotShadedLine___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotShadedLine___setstate_cython
#define __pyx_n_s_PlotStairs __pyx_mstate_global->__pyx_n_s_PlotStairs
#define __pyx_n_s_PlotStairs___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotStairs___reduce_cython
#define __pyx_n_s_PlotStairs___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotStairs___setstate_cython
#define __pyx_n_s_PlotStems __pyx_mstate_global->__pyx_n_s_PlotStems
#define __pyx_n_s_PlotStems___reduce_cython __pyx_mstate_global->__pyx_n_s_PlotStems___reduce_cython
#define __pyx_n_s_PlotStems___setstate_cython __pyx_mstate_global->__pyx_n_s_PlotStems___setstate_cython
#define __pyx_n_s_Plot___reduce_cython __pyx_mstate_global->__pyx_n_s_Plot___reduce_cython
#define __pyx_n_s_Plot___setstate_cython __pyx_mstate_global->__pyx_n_s_Plot___setstate_cython
#define __pyx_kp_u_Point_data_must_be_an_array_of_u __pyx_mstate_global->__pyx_kp_u_Point_data_must_be_an_array_of_u
#define __pyx_kp_u_Point_data_must_be_an_array_of_u_2 __pyx_mstate_global->__pyx_kp_u_Point_data_must_be_an_array_of_u_2
#define __pyx_kp_u_ProggyClean_ttf __pyx_mstate_global->__pyx_kp_u_ProggyClean_ttf
#define __pyx_n_s_ProgressBar __pyx_mstate_global->__pyx_n_s_ProgressBar
#define __pyx_n_s_ProgressBar___reduce_cython __pyx_mstate_global->__pyx_n_s_ProgressBar___reduce_cython
#define __pyx_n_s_ProgressBar___setstate_cython __pyx_mstate_global->__pyx_n_s_ProgressBar___setstate_cython
#define __pyx_kp_u_Provided_context_is_not_a_valid __pyx_mstate_global->__pyx_kp_u_Provided_context_is_not_a_valid
#define __pyx_n_s_Pyx_EnumBase __pyx_mstate_global->__pyx_n_s_Pyx_EnumBase
#define __pyx_n_s_Pyx_EnumBase___new __pyx_mstate_global->__pyx_n_s_Pyx_EnumBase___new
#define __pyx_n_s_Pyx_EnumBase___repr __pyx_mstate_global->__pyx_n_s_Pyx_EnumBase___repr
#define __pyx_n_s_Pyx_EnumBase___str __pyx_mstate_global->__pyx_n_s_Pyx_EnumBase___str
#define __pyx_n_s_Pyx_EnumMeta___reduce_cython __pyx_mstate_global->__pyx_n_s_Pyx_EnumMeta___reduce_cython
#define __pyx_n_s_Pyx_EnumMeta___setstate_cython __pyx_mstate_global->__pyx_n_s_Pyx_EnumMeta___setstate_cython
#define __pyx_n_s_Pyx_FlagBase __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase
#define __pyx_n_s_Pyx_FlagBase___new __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___new
#define __pyx_n_s_Pyx_FlagBase___repr __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___repr
#define __pyx_n_s_Pyx_FlagBase___str __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___str
#define __pyx_n_s_REL_DEFAULT __pyx_mstate_global->__pyx_n_s_REL_DEFAULT
#define __pyx_n_s_REL_PARENT __pyx_mstate_global->__pyx_n_s_REL_PARENT
#define __pyx_n_s_REL_VIEWPORT __pyx_mstate_global->__pyx_n_s_REL_VIEWPORT
#define __pyx_n_s_REL_WINDOW __pyx_mstate_global->__pyx_n_s_REL_WINDOW
#define __pyx_n_s_RIGHT __pyx_mstate_global->__pyx_n_s_RIGHT
#define __pyx_n_s_RadioButton __pyx_mstate_global->__pyx_n_s_RadioButton
#define __pyx_n_s_RadioButton___reduce_cython __pyx_mstate_global->__pyx_n_s_RadioButton___reduce_cython
#define __pyx_n_s_RadioButton___setstate_cython __pyx_mstate_global->__pyx_n_s_RadioButton___setstate_cython
#define __pyx_kp_u_Received __pyx_mstate_global->__pyx_kp_u_Received
#define __pyx_n_s_ResizeAll __pyx_mstate_global->__pyx_n_s_ResizeAll
#define __pyx_n_s_ResizeEW __pyx_mstate_global->__pyx_n_s_ResizeEW
#define __pyx_n_s_ResizeNESW __pyx_mstate_global->__pyx_n_s_ResizeNESW
#define __pyx_n_s_ResizeNS __pyx_mstate_global->__pyx_n_s_ResizeNS
#define __pyx_n_s_ResizeNWSE __pyx_mstate_global->__pyx_n_s_ResizeNWSE
#define __pyx_n_s_RuntimeError __pyx_mstate_global->__pyx_n_s_RuntimeError
#define __pyx_n_s_Selectable __pyx_mstate_global->__pyx_n_s_Selectable
#define __pyx_n_s_Selectable___reduce_cython __pyx_mstate_global->__pyx_n_s_Selectable___reduce_cython
#define __pyx_n_s_Selectable___setstate_cython __pyx_mstate_global->__pyx_n_s_Selectable___setstate_cython
#define __pyx_n_s_Separator __pyx_mstate_global->__pyx_n_s_Separator
#define __pyx_n_s_Separator___reduce_cython __pyx_mstate_global->__pyx_n_s_Separator___reduce_cython
#define __pyx_n_s_Separator___setstate_cython __pyx_mstate_global->__pyx_n_s_Separator___setstate_cython
#define __pyx_n_s_Sequence __pyx_mstate_global->__pyx_n_s_Sequence
#define __pyx_n_s_SharedBool __pyx_mstate_global->__pyx_n_s_SharedBool
#define __pyx_n_s_SharedBool___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedBool___reduce_cython
#define __pyx_n_s_SharedBool___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedBool___setstate_cython
#define __pyx_n_s_SharedColor __pyx_mstate_global->__pyx_n_s_SharedColor
#define __pyx_n_s_SharedColor___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedColor___reduce_cython
#define __pyx_n_s_SharedColor___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedColor___setstate_cython
#define __pyx_n_s_SharedDouble __pyx_mstate_global->__pyx_n_s_SharedDouble
#define __pyx_n_s_SharedDouble4 __pyx_mstate_global->__pyx_n_s_SharedDouble4
#define __pyx_n_s_SharedDouble4___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedDouble4___reduce_cython
#define __pyx_n_s_SharedDouble4___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedDouble4___setstate_cython
#define __pyx_n_s_SharedDouble___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedDouble___reduce_cython
#define __pyx_n_s_SharedDouble___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedDouble___setstate_cython
#define __pyx_n_s_SharedFloat __pyx_mstate_global->__pyx_n_s_SharedFloat
#define __pyx_n_s_SharedFloat4 __pyx_mstate_global->__pyx_n_s_SharedFloat4
#define __pyx_n_s_SharedFloat4___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedFloat4___reduce_cython
#define __pyx_n_s_SharedFloat4___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedFloat4___setstate_cython
#define __pyx_n_s_SharedFloatVect __pyx_mstate_global->__pyx_n_s_SharedFloatVect
#define __pyx_n_s_SharedFloatVect___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedFloatVect___reduce_cython
#define __pyx_n_s_SharedFloatVect___setstate_cytho __pyx_mstate_global->__pyx_n_s_SharedFloatVect___setstate_cytho
#define __pyx_n_s_SharedFloat___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedFloat___reduce_cython
#define __pyx_n_s_SharedFloat___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedFloat___setstate_cython
#define __pyx_n_s_SharedInt __pyx_mstate_global->__pyx_n_s_SharedInt
#define __pyx_n_s_SharedInt4 __pyx_mstate_global->__pyx_n_s_SharedInt4
#define __pyx_n_s_SharedInt4___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedInt4___reduce_cython
#define __pyx_n_s_SharedInt4___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedInt4___setstate_cython
#define __pyx_n_s_SharedInt___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedInt___reduce_cython
#define __pyx_n_s_SharedInt___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedInt___setstate_cython
#define __pyx_n_s_SharedStr __pyx_mstate_global->__pyx_n_s_SharedStr
#define __pyx_n_s_SharedStr___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedStr___reduce_cython
#define __pyx_n_s_SharedStr___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedStr___setstate_cython
#define __pyx_n_s_SharedValue __pyx_mstate_global->__pyx_n_s_SharedValue
#define __pyx_n_s_SharedValue___reduce_cython __pyx_mstate_global->__pyx_n_s_SharedValue___reduce_cython
#define __pyx_n_s_SharedValue___setstate_cython __pyx_mstate_global->__pyx_n_s_SharedValue___setstate_cython
#define __pyx_kp_u_Shared_value_is_empty_Cannot_set __pyx_mstate_global->__pyx_kp_u_Shared_value_is_empty_Cannot_set
#define __pyx_n_s_SimplePlot __pyx_mstate_global->__pyx_n_s_SimplePlot
#define __pyx_n_s_SimplePlot___reduce_cython __pyx_mstate_global->__pyx_n_s_SimplePlot___reduce_cython
#define __pyx_n_s_SimplePlot___setstate_cython __pyx_mstate_global->__pyx_n_s_SimplePlot___setstate_cython
#define __pyx_n_s_SimplePlot_configure __pyx_mstate_global->__pyx_n_s_SimplePlot_configure
#define __pyx_n_s_Slider __pyx_mstate_global->__pyx_n_s_Slider
#define __pyx_n_s_Slider___reduce_cython __pyx_mstate_global->__pyx_n_s_Slider___reduce_cython
#define __pyx_n_s_Slider___setstate_cython __pyx_mstate_global->__pyx_n_s_Slider___setstate_cython
#define __pyx_n_s_Slider_configure __pyx_mstate_global->__pyx_n_s_Slider_configure
#define __pyx_n_s_Spacer __pyx_mstate_global->__pyx_n_s_Spacer
#define __pyx_n_s_Spacer___reduce_cython __pyx_mstate_global->__pyx_n_s_Spacer___reduce_cython
#define __pyx_n_s_Spacer___setstate_cython __pyx_mstate_global->__pyx_n_s_Spacer___setstate_cython
#define __pyx_kp_s_Step_may_not_be_zero_axis_d __pyx_mstate_global->__pyx_kp_s_Step_may_not_be_zero_axis_d
#define __pyx_n_s_TOP __pyx_mstate_global->__pyx_n_s_TOP
#define __pyx_n_s_Tab __pyx_mstate_global->__pyx_n_s_Tab
#define __pyx_n_s_TabBar __pyx_mstate_global->__pyx_n_s_TabBar
#define __pyx_n_s_TabBar___reduce_cython __pyx_mstate_global->__pyx_n_s_TabBar___reduce_cython
#define __pyx_n_s_TabBar___setstate_cython __pyx_mstate_global->__pyx_n_s_TabBar___setstate_cython
#define __pyx_n_s_TabButton __pyx_mstate_global->__pyx_n_s_TabButton
#define __pyx_n_s_TabButton___reduce_cython __pyx_mstate_global->__pyx_n_s_TabButton___reduce_cython
#define __pyx_n_s_TabButton___setstate_cython __pyx_mstate_global->__pyx_n_s_TabButton___setstate_cython
#define __pyx_n_s_Tab___reduce_cython __pyx_mstate_global->__pyx_n_s_Tab___reduce_cython
#define __pyx_n_s_Tab___setstate_cython __pyx_mstate_global->__pyx_n_s_Tab___setstate_cython
#define __pyx_kp_u_Tag __pyx_mstate_global->__pyx_kp_u_Tag
#define __pyx_kp_u_Target_texture_is_read_only __pyx_mstate_global->__pyx_kp_u_Target_texture_is_read_only
#define __pyx_n_s_Text __pyx_mstate_global->__pyx_n_s_Text
#define __pyx_n_s_Text___reduce_cython __pyx_mstate_global->__pyx_n_s_Text___reduce_cython
#define __pyx_n_s_Text___setstate_cython __pyx_mstate_global->__pyx_n_s_Text___setstate_cython
#define __pyx_n_s_Texture __pyx_mstate_global->__pyx_n_s_Texture
#define __pyx_n_s_Texture___delalloc __pyx_mstate_global->__pyx_n_s_Texture___delalloc
#define __pyx_n_s_Texture___reduce_cython __pyx_mstate_global->__pyx_n_s_Texture___reduce_cython
#define __pyx_n_s_Texture___setstate_cython __pyx_mstate_global->__pyx_n_s_Texture___setstate_cython
#define __pyx_n_s_Texture_configure __pyx_mstate_global->__pyx_n_s_Texture_configure
#define __pyx_kp_u_Texture_not_yet_built __pyx_mstate_global->__pyx_kp_u_Texture_not_yet_built
#define __pyx_n_s_Texture_set_value __pyx_mstate_global->__pyx_n_s_Texture_set_value
#define __pyx_kp_u_The_viewport_must_be_initialized __pyx_mstate_global->__pyx_kp_u_The_viewport_must_be_initialized
#define __pyx_kp_u_The_viewport_must_be_not_be_init __pyx_mstate_global->__pyx_kp_u_The_viewport_must_be_not_be_init
#define __pyx_kp_u_There_must_be_at_least_space_for __pyx_mstate_global->__pyx_kp_u_There_must_be_at_least_space_for
#define __pyx_n_s_ThreadPoolExecutor __pyx_mstate_global->__pyx_n_s_ThreadPoolExecutor
#define __pyx_n_s_TimeWatcher __pyx_mstate_global->__pyx_n_s_TimeWatcher
#define __pyx_n_s_TimeWatcher___reduce_cython __pyx_mstate_global->__pyx_n_s_TimeWatcher___reduce_cython
#define __pyx_n_s_TimeWatcher___setstate_cython __pyx_mstate_global->__pyx_n_s_TimeWatcher___setstate_cython
#define __pyx_n_s_Tooltip __pyx_mstate_global->__pyx_n_s_Tooltip
#define __pyx_n_s_Tooltip___reduce_cython __pyx_mstate_global->__pyx_n_s_Tooltip___reduce_cython
#define __pyx_n_s_Tooltip___setstate_cython __pyx_mstate_global->__pyx_n_s_Tooltip___setstate_cython
#define __pyx_n_s_TreeNode __pyx_mstate_global->__pyx_n_s_TreeNode
#define __pyx_n_s_TreeNode___reduce_cython __pyx_mstate_global->__pyx_n_s_TreeNode___reduce_cython
#define __pyx_n_s_TreeNode___setstate_cython __pyx_mstate_global->__pyx_n_s_TreeNode___setstate_cython
#define __pyx_kp_u_Trying_to_attach_a_deleted_item __pyx_mstate_global->__pyx_kp_u_Trying_to_attach_a_deleted_item
#define __pyx_kp_u_Trying_to_attach_to_None __pyx_mstate_global->__pyx_kp_u_Trying_to_attach_to_None
#define __pyx_kp_u_Trying_to_attach_to_a_deleted_it __pyx_mstate_global->__pyx_kp_u_Trying_to_attach_to_a_deleted_it
#define __pyx_kp_u_Trying_to_attach_to_an_un_attach __pyx_mstate_global->__pyx_kp_u_Trying_to_attach_to_an_un_attach
#define __pyx_kp_u_Trying_to_lock_parent_mutex_whil __pyx_mstate_global->__pyx_kp_u_Trying_to_lock_parent_mutex_whil
#define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError
#define __pyx_kp_s_Unable_to_convert_item_to_object __pyx_mstate_global->__pyx_kp_s_Unable_to_convert_item_to_object
#define __pyx_kp_u_Uninitialized_font __pyx_mstate_global->__pyx_kp_u_Uninitialized_font
#define __pyx_kp_s_Unknown_enum_value_s __pyx_mstate_global->__pyx_kp_s_Unknown_enum_value_s
#define __pyx_kp_u_Unused_configure_parameters __pyx_mstate_global->__pyx_kp_u_Unused_configure_parameters
#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError
#define __pyx_n_s_VerticalLayout __pyx_mstate_global->__pyx_n_s_VerticalLayout
#define __pyx_n_s_VerticalLayout___reduce_cython __pyx_mstate_global->__pyx_n_s_VerticalLayout___reduce_cython
#define __pyx_n_s_VerticalLayout___setstate_cython __pyx_mstate_global->__pyx_n_s_VerticalLayout___setstate_cython
#define __pyx_n_s_VerticalLayout_update_layout __pyx_mstate_global->__pyx_n_s_VerticalLayout_update_layout
#define __pyx_n_s_View_MemoryView __pyx_mstate_global->__pyx_n_s_View_MemoryView
#define __pyx_n_s_Viewport __pyx_mstate_global->__pyx_n_s_Viewport
#define __pyx_n_s_ViewportDrawList __pyx_mstate_global->__pyx_n_s_ViewportDrawList
#define __pyx_n_s_ViewportDrawList____reduce_cytho __pyx_mstate_global->__pyx_n_s_ViewportDrawList____reduce_cytho
#define __pyx_n_s_ViewportDrawList____setstate_cyt __pyx_mstate_global->__pyx_n_s_ViewportDrawList____setstate_cyt
#define __pyx_n_s_Viewport___reduce_cython __pyx_mstate_global->__pyx_n_s_Viewport___reduce_cython
#define __pyx_n_s_Viewport___setstate_cython __pyx_mstate_global->__pyx_n_s_Viewport___setstate_cython
#define __pyx_kp_u_Viewport_already_initialized __pyx_mstate_global->__pyx_kp_u_Viewport_already_initialized
#define __pyx_n_s_Viewport_configure __pyx_mstate_global->__pyx_n_s_Viewport_configure
#define __pyx_n_s_Viewport_initialize __pyx_mstate_global->__pyx_n_s_Viewport_initialize
#define __pyx_n_s_Viewport_render_frame __pyx_mstate_global->__pyx_n_s_Viewport_render_frame
#define __pyx_n_s_Viewport_wake __pyx_mstate_global->__pyx_n_s_Viewport_wake
#define __pyx_kp_u_Warning_self_cannot_have_childre __pyx_mstate_global->__pyx_kp_u_Warning_self_cannot_have_childre
#define __pyx_n_s_WeakValueDictionary __pyx_mstate_global->__pyx_n_s_WeakValueDictionary
#define __pyx_n_s_Window __pyx_mstate_global->__pyx_n_s_Window
#define __pyx_n_s_Window___reduce_cython __pyx_mstate_global->__pyx_n_s_Window___reduce_cython
#define __pyx_n_s_Window___setstate_cython __pyx_mstate_global->__pyx_n_s_Window___setstate_cython
#define __pyx_kp_u_Window_must_be_attached_before_b __pyx_mstate_global->__pyx_kp_u_Window_must_be_attached_before_b
#define __pyx_n_s_X1 __pyx_mstate_global->__pyx_n_s_X1
#define __pyx_n_s_X2 __pyx_mstate_global->__pyx_n_s_X2
#define __pyx_n_s_X3 __pyx_mstate_global->__pyx_n_s_X3
#define __pyx_n_s_Y1 __pyx_mstate_global->__pyx_n_s_Y1
#define __pyx_n_s_Y2 __pyx_mstate_global->__pyx_n_s_Y2
#define __pyx_n_s_Y3 __pyx_mstate_global->__pyx_n_s_Y3
#define __pyx_kp_u_You_must_add_fonts_first __pyx_mstate_global->__pyx_kp_u_You_must_add_fonts_first
#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4
#define __pyx_n_s__401 __pyx_mstate_global->__pyx_n_s__401
#define __pyx_kp_u__42 __pyx_mstate_global->__pyx_kp_u__42
#define __pyx_kp_u__44 __pyx_mstate_global->__pyx_kp_u__44
#define __pyx_n_s__5 __pyx_mstate_global->__pyx_n_s__5
#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8
#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9
#define __pyx_n_s_abc __pyx_mstate_global->__pyx_n_s_abc
#define __pyx_n_u_active_windows __pyx_mstate_global->__pyx_n_u_active_windows
#define __pyx_n_s_add_font_file __pyx_mstate_global->__pyx_n_s_add_font_file
#define __pyx_n_s_alignment __pyx_mstate_global->__pyx_n_s_alignment
#define __pyx_n_s_allocate_buffer __pyx_mstate_global->__pyx_n_s_allocate_buffer
#define __pyx_kp_u_already_has_a_parent __pyx_mstate_global->__pyx_kp_u_already_has_a_parent
#define __pyx_kp_u_already_in_use __pyx_mstate_global->__pyx_kp_u_already_in_use
#define __pyx_kp_u_and __pyx_mstate_global->__pyx_kp_u_and
#define __pyx_n_s_append __pyx_mstate_global->__pyx_n_s_append
#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args
#define __pyx_n_s_array __pyx_mstate_global->__pyx_n_s_array
#define __pyx_kp_u_as_it_was_not_created_in_the_sa __pyx_mstate_global->__pyx_kp_u_as_it_was_not_created_in_the_sa
#define __pyx_kp_u_as_the_user_holds_a_lock_on __pyx_mstate_global->__pyx_kp_u_as_the_user_holds_a_lock_on
#define __pyx_n_s_asarray __pyx_mstate_global->__pyx_n_s_asarray
#define __pyx_n_s_ascontiguousarray __pyx_mstate_global->__pyx_n_s_ascontiguousarray
#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
#define __pyx_n_u_attach __pyx_mstate_global->__pyx_n_u_attach
#define __pyx_n_s_attach_before __pyx_mstate_global->__pyx_n_s_attach_before
#define __pyx_n_s_attach_to_parent __pyx_mstate_global->__pyx_n_s_attach_to_parent
#define __pyx_n_u_autosize __pyx_mstate_global->__pyx_n_u_autosize
#define __pyx_n_s_backend_m __pyx_mstate_global->__pyx_n_s_backend_m
#define __pyx_n_s_base __pyx_mstate_global->__pyx_n_s_base
#define __pyx_n_s_baseHandler __pyx_mstate_global->__pyx_n_s_baseHandler
#define __pyx_n_s_baseHandler___reduce_cython __pyx_mstate_global->__pyx_n_s_baseHandler___reduce_cython
#define __pyx_n_s_baseHandler___setstate_cython __pyx_mstate_global->__pyx_n_s_baseHandler___setstate_cython
#define __pyx_n_s_baseItem __pyx_mstate_global->__pyx_n_s_baseItem
#define __pyx_n_s_baseItem___enter __pyx_mstate_global->__pyx_n_s_baseItem___enter
#define __pyx_n_s_baseItem___exit __pyx_mstate_global->__pyx_n_s_baseItem___exit
#define __pyx_n_s_baseItem___reduce_cython __pyx_mstate_global->__pyx_n_s_baseItem___reduce_cython
#define __pyx_n_s_baseItem___setstate_cython __pyx_mstate_global->__pyx_n_s_baseItem___setstate_cython
#define __pyx_n_s_baseItem_attach_before __pyx_mstate_global->__pyx_n_s_baseItem_attach_before
#define __pyx_n_s_baseItem_attach_to_parent __pyx_mstate_global->__pyx_n_s_baseItem_attach_to_parent
#define __pyx_n_s_baseItem_configure __pyx_mstate_global->__pyx_n_s_baseItem_configure
#define __pyx_n_s_baseItem_delete_item __pyx_mstate_global->__pyx_n_s_baseItem_delete_item
#define __pyx_n_s_baseItem_detach_item __pyx_mstate_global->__pyx_n_s_baseItem_detach_item
#define __pyx_n_s_baseItem_lock_mutex __pyx_mstate_global->__pyx_n_s_baseItem_lock_mutex
#define __pyx_n_s_baseItem_unlock_mutex __pyx_mstate_global->__pyx_n_s_baseItem_unlock_mutex
#define __pyx_n_s_baseTheme __pyx_mstate_global->__pyx_n_s_baseTheme
#define __pyx_n_s_baseTheme___reduce_cython __pyx_mstate_global->__pyx_n_s_baseTheme___reduce_cython
#define __pyx_n_s_baseTheme___setstate_cython __pyx_mstate_global->__pyx_n_s_baseTheme___setstate_cython
#define __pyx_n_s_baseTheme_configure __pyx_mstate_global->__pyx_n_s_baseTheme_configure
#define __pyx_n_s_before __pyx_mstate_global->__pyx_n_s_before
#define __pyx_n_u_before __pyx_mstate_global->__pyx_n_u_before
#define __pyx_n_s_bpp __pyx_mstate_global->__pyx_n_s_bpp
#define __pyx_n_s_build __pyx_mstate_global->__pyx_n_s_build
#define __pyx_kp_u_but_not __pyx_mstate_global->__pyx_kp_u_but_not
#define __pyx_kp_u_but_not_in_the_same_threads __pyx_mstate_global->__pyx_kp_u_but_not_in_the_same_threads
#define __pyx_n_s_button __pyx_mstate_global->__pyx_n_s_button
#define __pyx_n_s_c __pyx_mstate_global->__pyx_n_s_c
#define __pyx_n_u_c __pyx_mstate_global->__pyx_n_u_c
#define __pyx_n_s_call_info __pyx_mstate_global->__pyx_n_s_call_info
#define __pyx_n_s_callback __pyx_mstate_global->__pyx_n_s_callback
#define __pyx_n_u_callback __pyx_mstate_global->__pyx_n_u_callback
#define __pyx_n_s_callback_2 __pyx_mstate_global->__pyx_n_s_callback_2
#define __pyx_n_s_callbacks __pyx_mstate_global->__pyx_n_s_callbacks
#define __pyx_n_s_can_skip_presenting __pyx_mstate_global->__pyx_n_s_can_skip_presenting
#define __pyx_kp_u_cannot_be_disabled __pyx_mstate_global->__pyx_kp_u_cannot_be_disabled
#define __pyx_n_s_center __pyx_mstate_global->__pyx_n_s_center
#define __pyx_kp_u_children_must_be_a_array_of_chil __pyx_mstate_global->__pyx_kp_u_children_must_be_a_array_of_chil
#define __pyx_n_s_class __pyx_mstate_global->__pyx_n_s_class
#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem
#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
#define __pyx_n_s_cls __pyx_mstate_global->__pyx_n_s_cls
#define __pyx_n_s_co_argcount __pyx_mstate_global->__pyx_n_s_co_argcount
#define __pyx_n_s_code __pyx_mstate_global->__pyx_n_s_code
#define __pyx_n_s_collections __pyx_mstate_global->__pyx_n_s_collections
#define __pyx_kp_s_collections_abc __pyx_mstate_global->__pyx_kp_s_collections_abc
#define __pyx_n_s_color __pyx_mstate_global->__pyx_n_s_color
#define __pyx_n_s_color_as_floats __pyx_mstate_global->__pyx_n_s_color_as_floats
#define __pyx_n_s_color_as_int __pyx_mstate_global->__pyx_n_s_color_as_int
#define __pyx_n_s_color_as_ints __pyx_mstate_global->__pyx_n_s_color_as_ints
#define __pyx_n_s_color_vec __pyx_mstate_global->__pyx_n_s_color_vec
#define __pyx_n_s_concurrent_futures __pyx_mstate_global->__pyx_n_s_concurrent_futures
#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config
#define __pyx_n_s_configure __pyx_mstate_global->__pyx_n_s_configure
#define __pyx_n_s_context __pyx_mstate_global->__pyx_n_s_context
#define __pyx_kp_s_contiguous_and_direct __pyx_mstate_global->__pyx_kp_s_contiguous_and_direct
#define __pyx_kp_s_contiguous_and_indirect __pyx_mstate_global->__pyx_kp_s_contiguous_and_indirect
#define __pyx_n_s_copy __pyx_mstate_global->__pyx_n_s_copy
#define __pyx_n_s_count __pyx_mstate_global->__pyx_n_s_count
#define __pyx_n_s_current_time __pyx_mstate_global->__pyx_n_s_current_time
#define __pyx_kp_b_d __pyx_mstate_global->__pyx_kp_b_d
#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data
#define __pyx_n_s_data_array __pyx_mstate_global->__pyx_n_s_data_array
#define __pyx_n_s_dct __pyx_mstate_global->__pyx_n_s_dct
#define __pyx_kp_s_dearcygui_core __pyx_mstate_global->__pyx_kp_s_dearcygui_core
#define __pyx_kp_s_dearcygui_core_pyx __pyx_mstate_global->__pyx_kp_s_dearcygui_core_pyx
#define __pyx_n_s_default_dir __pyx_mstate_global->__pyx_n_s_default_dir
#define __pyx_n_s_default_font_texture __pyx_mstate_global->__pyx_n_s_default_font_texture
#define __pyx_n_s_defaults __pyx_mstate_global->__pyx_n_s_defaults
#define __pyx_n_s_delalloc __pyx_mstate_global->__pyx_n_s_delalloc
#define __pyx_n_s_delete_item __pyx_mstate_global->__pyx_n_s_delete_item
#define __pyx_n_s_delta __pyx_mstate_global->__pyx_n_s_delta
#define __pyx_n_u_delta_event_handling __pyx_mstate_global->__pyx_n_u_delta_event_handling
#define __pyx_n_u_delta_presenting __pyx_mstate_global->__pyx_n_u_delta_presenting
#define __pyx_n_u_delta_rendering __pyx_mstate_global->__pyx_n_u_delta_rendering
#define __pyx_n_u_delta_whole_frame __pyx_mstate_global->__pyx_n_u_delta_whole_frame
#define __pyx_n_s_density_scale __pyx_mstate_global->__pyx_n_s_density_scale
#define __pyx_n_s_detach_item __pyx_mstate_global->__pyx_n_s_detach_item
#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict
#define __pyx_n_u_dict __pyx_mstate_global->__pyx_n_u_dict
#define __pyx_n_s_dict_2 __pyx_mstate_global->__pyx_n_s_dict_2
#define __pyx_n_s_dir __pyx_mstate_global->__pyx_n_s_dir
#define __pyx_n_s_dirname __pyx_mstate_global->__pyx_n_s_dirname
#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable
#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc
#define __pyx_kp_u_does_not_exist __pyx_mstate_global->__pyx_kp_u_does_not_exist
#define __pyx_n_u_double __pyx_mstate_global->__pyx_n_u_double
#define __pyx_n_s_drawingItem __pyx_mstate_global->__pyx_n_s_drawingItem
#define __pyx_n_s_drawingItem___reduce_cython __pyx_mstate_global->__pyx_n_s_drawingItem___reduce_cython
#define __pyx_n_s_drawingItem___setstate_cython __pyx_mstate_global->__pyx_n_s_drawingItem___setstate_cython
#define __pyx_n_s_dtype __pyx_mstate_global->__pyx_n_s_dtype
#define __pyx_n_s_dtype_is_object __pyx_mstate_global->__pyx_n_s_dtype_is_object
#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e
#define __pyx_n_s_east __pyx_mstate_global->__pyx_n_s_east
#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable
#define __pyx_n_s_enabled __pyx_mstate_global->__pyx_n_s_enabled
#define __pyx_n_u_enabled __pyx_mstate_global->__pyx_n_u_enabled
#define __pyx_n_s_encode __pyx_mstate_global->__pyx_n_s_encode
#define __pyx_n_s_encoding __pyx_mstate_global->__pyx_n_s_encoding
#define __pyx_n_s_enter __pyx_mstate_global->__pyx_n_s_enter
#define __pyx_n_s_enum __pyx_mstate_global->__pyx_n_s_enum
#define __pyx_n_s_enumerate __pyx_mstate_global->__pyx_n_s_enumerate
#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error
#define __pyx_n_s_exc_type __pyx_mstate_global->__pyx_n_s_exc_type
#define __pyx_n_s_exc_value __pyx_mstate_global->__pyx_n_s_exc_value
#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists
#define __pyx_n_s_exit __pyx_mstate_global->__pyx_n_s_exit
#define __pyx_n_s_fetch_last_created_container __pyx_mstate_global->__pyx_n_s_fetch_last_created_container
#define __pyx_n_s_fetch_last_created_item __pyx_mstate_global->__pyx_n_s_fetch_last_created_item
#define __pyx_n_s_fetch_parent_queue_back __pyx_mstate_global->__pyx_n_s_fetch_parent_queue_back
#define __pyx_n_s_fetch_parent_queue_front __pyx_mstate_global->__pyx_n_s_fetch_parent_queue_front
#define __pyx_n_s_file __pyx_mstate_global->__pyx_n_s_file
#define __pyx_n_s_find_system_fonts_filename __pyx_mstate_global->__pyx_n_s_find_system_fonts_filename
#define __pyx_n_s_fit __pyx_mstate_global->__pyx_n_s_fit
#define __pyx_n_s_flags __pyx_mstate_global->__pyx_n_s_flags
#define __pyx_n_u_float __pyx_mstate_global->__pyx_n_u_float
#define __pyx_n_s_float32 __pyx_mstate_global->__pyx_n_s_float32
#define __pyx_n_s_float64 __pyx_mstate_global->__pyx_n_s_float64
#define __pyx_n_s_font __pyx_mstate_global->__pyx_n_s_font
#define __pyx_n_s_font_object __pyx_mstate_global->__pyx_n_s_font_object
#define __pyx_n_s_fonts_filename __pyx_mstate_global->__pyx_n_s_fonts_filename
#define __pyx_kp_u_for __pyx_mstate_global->__pyx_kp_u_for
#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format
#define __pyx_n_u_format __pyx_mstate_global->__pyx_n_u_format
#define __pyx_n_s_format_exc __pyx_mstate_global->__pyx_n_s_format_exc
#define __pyx_n_s_fortran __pyx_mstate_global->__pyx_n_s_fortran
#define __pyx_n_u_fortran __pyx_mstate_global->__pyx_n_u_fortran
#define __pyx_n_u_frame_count __pyx_mstate_global->__pyx_n_u_frame_count
#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc
#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get
#define __pyx_n_s_get_mouse_clicked_count __pyx_mstate_global->__pyx_n_s_get_mouse_clicked_count
#define __pyx_n_s_get_mouse_drag_delta __pyx_mstate_global->__pyx_n_s_get_mouse_drag_delta
#define __pyx_n_s_get_mouse_position __pyx_mstate_global->__pyx_n_s_get_mouse_position
#define __pyx_n_s_get_system_fonts __pyx_mstate_global->__pyx_n_s_get_system_fonts
#define __pyx_n_s_get_system_fonts_filename __pyx_mstate_global->__pyx_n_s_get_system_fonts_filename
#define __pyx_n_s_getstate __pyx_mstate_global->__pyx_n_s_getstate
#define __pyx_kp_u_got __pyx_mstate_global->__pyx_kp_u_got
#define __pyx_kp_u_got_differing_extents_in_dimensi __pyx_mstate_global->__pyx_kp_u_got_differing_extents_in_dimensi
#define __pyx_n_s_height __pyx_mstate_global->__pyx_n_s_height
#define __pyx_n_s_hint_dynamic __pyx_mstate_global->__pyx_n_s_hint_dynamic
#define __pyx_n_s_histogram __pyx_mstate_global->__pyx_n_s_histogram
#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i
#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id
#define __pyx_n_s_ignore_if_fail __pyx_mstate_global->__pyx_n_s_ignore_if_fail
#define __pyx_n_s_imgui_m __pyx_mstate_global->__pyx_n_s_imgui_m
#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
#define __pyx_n_s_index __pyx_mstate_global->__pyx_n_s_index
#define __pyx_n_s_index_in_file __pyx_mstate_global->__pyx_n_s_index_in_file
#define __pyx_n_s_init __pyx_mstate_global->__pyx_n_s_init
#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass
#define __pyx_n_s_initialize __pyx_mstate_global->__pyx_n_s_initialize
#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
#define __pyx_n_u_int __pyx_mstate_global->__pyx_n_u_int
#define __pyx_kp_u_is_an_invalid_index_type __pyx_mstate_global->__pyx_kp_u_is_an_invalid_index_type
#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
#define __pyx_n_s_is_key_down __pyx_mstate_global->__pyx_n_s_is_key_down
#define __pyx_n_s_is_key_pressed __pyx_mstate_global->__pyx_n_s_is_key_pressed
#define __pyx_n_s_is_key_released __pyx_mstate_global->__pyx_n_s_is_key_released
#define __pyx_n_s_is_mouse_clicked __pyx_mstate_global->__pyx_n_s_is_mouse_clicked
#define __pyx_n_s_is_mouse_double_clicked __pyx_mstate_global->__pyx_n_s_is_mouse_double_clicked
#define __pyx_n_s_is_mouse_down __pyx_mstate_global->__pyx_n_s_is_mouse_down
#define __pyx_n_s_is_mouse_dragging __pyx_mstate_global->__pyx_n_s_is_mouse_dragging
#define __pyx_n_s_is_mouse_released __pyx_mstate_global->__pyx_n_s_is_mouse_released
#define __pyx_kp_u_is_not_a_compatible_item_instan __pyx_mstate_global->__pyx_kp_u_is_not_a_compatible_item_instan
#define __pyx_kp_u_is_not_a_handler __pyx_mstate_global->__pyx_kp_u_is_not_a_handler
#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled
#define __pyx_n_s_item __pyx_mstate_global->__pyx_n_s_item
#define __pyx_n_s_items __pyx_mstate_global->__pyx_n_s_items
#define __pyx_n_s_itemsize __pyx_mstate_global->__pyx_n_s_itemsize
#define __pyx_kp_s_itemsize_0_for_cython_array __pyx_mstate_global->__pyx_kp_s_itemsize_0_for_cython_array
#define __pyx_n_s_join __pyx_mstate_global->__pyx_n_s_join
#define __pyx_n_s_key __pyx_mstate_global->__pyx_n_s_key
#define __pyx_n_s_keymod __pyx_mstate_global->__pyx_n_s_keymod
#define __pyx_n_s_keys __pyx_mstate_global->__pyx_n_s_keys
#define __pyx_n_s_kwargs __pyx_mstate_global->__pyx_n_s_kwargs
#define __pyx_n_u_large __pyx_mstate_global->__pyx_n_u_large
#define __pyx_n_u_largest __pyx_mstate_global->__pyx_n_u_largest
#define __pyx_n_s_last_container_uuid __pyx_mstate_global->__pyx_n_s_last_container_uuid
#define __pyx_n_u_last_container_uuid __pyx_mstate_global->__pyx_n_u_last_container_uuid
#define __pyx_n_s_last_item_uuid __pyx_mstate_global->__pyx_n_s_last_item_uuid
#define __pyx_n_u_last_item_uuid __pyx_mstate_global->__pyx_n_u_last_item_uuid
#define __pyx_n_u_last_time_after_rendering __pyx_mstate_global->__pyx_n_u_last_time_after_rendering
#define __pyx_n_u_last_time_after_swapping __pyx_mstate_global->__pyx_n_u_last_time_after_swapping
#define __pyx_n_u_last_time_before_event_handling __pyx_mstate_global->__pyx_n_u_last_time_before_event_handling
#define __pyx_n_u_last_time_before_rendering __pyx_mstate_global->__pyx_n_u_last_time_before_rendering
#define __pyx_kp_b_ld __pyx_mstate_global->__pyx_kp_b_ld
#define __pyx_n_u_len __pyx_mstate_global->__pyx_n_u_len
#define __pyx_n_s_linear __pyx_mstate_global->__pyx_n_s_linear
#define __pyx_n_s_local __pyx_mstate_global->__pyx_n_s_local
#define __pyx_n_s_lock_mutex __pyx_mstate_global->__pyx_n_s_lock_mutex
#define __pyx_n_s_lock_threshold __pyx_mstate_global->__pyx_n_s_lock_threshold
#define __pyx_n_s_locked __pyx_mstate_global->__pyx_n_s_locked
#define __pyx_n_s_log10 __pyx_mstate_global->__pyx_n_s_log10
#define __pyx_n_s_logarithmic __pyx_mstate_global->__pyx_n_s_logarithmic
#define __pyx_n_u_logarithmic __pyx_mstate_global->__pyx_n_u_logarithmic
#define __pyx_n_s_m __pyx_mstate_global->__pyx_n_s_m
#define __pyx_n_s_m2 __pyx_mstate_global->__pyx_n_s_m2
#define __pyx_n_s_m3 __pyx_mstate_global->__pyx_n_s_m3
#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
#define __pyx_n_u_max_clamped __pyx_mstate_global->__pyx_n_u_max_clamped
#define __pyx_n_s_max_workers __pyx_mstate_global->__pyx_n_s_max_workers
#define __pyx_n_s_maximized __pyx_mstate_global->__pyx_n_s_maximized
#define __pyx_n_u_maxv __pyx_mstate_global->__pyx_n_u_maxv
#define __pyx_n_s_member_names __pyx_mstate_global->__pyx_n_s_member_names
#define __pyx_n_s_members __pyx_mstate_global->__pyx_n_s_members
#define __pyx_n_s_memview __pyx_mstate_global->__pyx_n_s_memview
#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass
#define __pyx_n_u_min_clamped __pyx_mstate_global->__pyx_n_u_min_clamped
#define __pyx_n_s_minimized __pyx_mstate_global->__pyx_n_s_minimized
#define __pyx_n_u_minv __pyx_mstate_global->__pyx_n_u_minv
#define __pyx_n_s_mode __pyx_mstate_global->__pyx_n_s_mode
#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module
#define __pyx_n_s_module_2 __pyx_mstate_global->__pyx_n_s_module_2
#define __pyx_n_s_mouse_cursor __pyx_mstate_global->__pyx_n_s_mouse_cursor
#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries
#define __pyx_n_s_multiline __pyx_mstate_global->__pyx_n_s_multiline
#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
#define __pyx_n_s_name_2 __pyx_mstate_global->__pyx_n_s_name_2
#define __pyx_n_s_ndim __pyx_mstate_global->__pyx_n_s_ndim
#define __pyx_n_u_nearest_neighbor_upsampling __pyx_mstate_global->__pyx_n_u_nearest_neighbor_upsampling
#define __pyx_n_s_new __pyx_mstate_global->__pyx_n_s_new
#define __pyx_n_s_next_parent __pyx_mstate_global->__pyx_n_s_next_parent
#define __pyx_n_s_nlocked __pyx_mstate_global->__pyx_n_s_nlocked
#define __pyx_kp_s_no_default___reduce___due_to_non __pyx_mstate_global->__pyx_kp_s_no_default___reduce___due_to_non
#define __pyx_n_s_north __pyx_mstate_global->__pyx_n_s_north
#define __pyx_n_s_northeast __pyx_mstate_global->__pyx_n_s_northeast
#define __pyx_n_s_northwest __pyx_mstate_global->__pyx_n_s_northwest
#define __pyx_n_s_np __pyx_mstate_global->__pyx_n_s_np
#define __pyx_n_s_num_attached __pyx_mstate_global->__pyx_n_s_num_attached
#define __pyx_n_s_numpy __pyx_mstate_global->__pyx_n_s_numpy
#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_mstate_global->__pyx_kp_u_numpy__core_multiarray_failed_to
#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo
#define __pyx_n_s_obj __pyx_mstate_global->__pyx_n_s_obj
#define __pyx_n_s_os __pyx_mstate_global->__pyx_n_s_os
#define __pyx_n_s_pack __pyx_mstate_global->__pyx_n_s_pack
#define __pyx_kp_u_pan_mod_must_be_a_combinaison_of __pyx_mstate_global->__pyx_kp_u_pan_mod_must_be_a_combinaison_of
#define __pyx_n_s_parent __pyx_mstate_global->__pyx_n_s_parent
#define __pyx_n_u_parent __pyx_mstate_global->__pyx_n_u_parent
#define __pyx_n_s_parent_queue __pyx_mstate_global->__pyx_n_s_parent_queue
#define __pyx_n_u_parent_queue __pyx_mstate_global->__pyx_n_u_parent_queue
#define __pyx_n_s_parents __pyx_mstate_global->__pyx_n_s_parents
#define __pyx_kp_u_passed_as_items_Expected_array __pyx_mstate_global->__pyx_kp_u_passed_as_items_Expected_array
#define __pyx_kp_u_passed_as_labels_Expected_array __pyx_mstate_global->__pyx_kp_u_passed_as_labels_Expected_array
#define __pyx_kp_u_passed_as_labels_coord_Expected __pyx_mstate_global->__pyx_kp_u_passed_as_labels_coord_Expected
#define __pyx_kp_u_passed_to __pyx_mstate_global->__pyx_kp_u_passed_to
#define __pyx_n_s_path __pyx_mstate_global->__pyx_n_s_path
#define __pyx_n_s_path_string __pyx_mstate_global->__pyx_n_s_path_string
#define __pyx_n_s_pickle __pyx_mstate_global->__pyx_n_s_pickle
#define __pyx_n_s_plotElement __pyx_mstate_global->__pyx_n_s_plotElement
#define __pyx_n_s_plotElementWithLegend __pyx_mstate_global->__pyx_n_s_plotElementWithLegend
#define __pyx_n_s_plotElementWithLegend___reduce_c __pyx_mstate_global->__pyx_n_s_plotElementWithLegend___reduce_c
#define __pyx_n_s_plotElementWithLegend___setstate __pyx_mstate_global->__pyx_n_s_plotElementWithLegend___setstate
#define __pyx_n_s_plotElementX __pyx_mstate_global->__pyx_n_s_plotElementX
#define __pyx_n_s_plotElementXY __pyx_mstate_global->__pyx_n_s_plotElementXY
#define __pyx_n_s_plotElementXYY __pyx_mstate_global->__pyx_n_s_plotElementXYY
#define __pyx_n_s_plotElementXYY___reduce_cython __pyx_mstate_global->__pyx_n_s_plotElementXYY___reduce_cython
#define __pyx_n_s_plotElementXYY___setstate_cython __pyx_mstate_global->__pyx_n_s_plotElementXYY___setstate_cython
#define __pyx_n_s_plotElementXY___reduce_cython __pyx_mstate_global->__pyx_n_s_plotElementXY___reduce_cython
#define __pyx_n_s_plotElementXY___setstate_cython __pyx_mstate_global->__pyx_n_s_plotElementXY___setstate_cython
#define __pyx_n_s_plotElementX___reduce_cython __pyx_mstate_global->__pyx_n_s_plotElementX___reduce_cython
#define __pyx_n_s_plotElementX___setstate_cython __pyx_mstate_global->__pyx_n_s_plotElementX___setstate_cython
#define __pyx_n_s_plotElement___reduce_cython __pyx_mstate_global->__pyx_n_s_plotElement___reduce_cython
#define __pyx_n_s_plotElement___setstate_cython __pyx_mstate_global->__pyx_n_s_plotElement___setstate_cython
#define __pyx_n_s_pop __pyx_mstate_global->__pyx_n_s_pop
#define __pyx_n_s_pop_next_parent __pyx_mstate_global->__pyx_n_s_pop_next_parent
#define __pyx_n_s_pos __pyx_mstate_global->__pyx_n_s_pos
#define __pyx_n_u_pos __pyx_mstate_global->__pyx_n_u_pos
#define __pyx_n_s_pos_to_window __pyx_mstate_global->__pyx_n_s_pos_to_window
#define __pyx_n_s_positioning __pyx_mstate_global->__pyx_n_s_positioning
#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare
#define __pyx_n_s_print __pyx_mstate_global->__pyx_n_s_print
#define __pyx_n_s_push_next_parent __pyx_mstate_global->__pyx_n_s_push_next_parent
#define __pyx_n_s_python_time __pyx_mstate_global->__pyx_n_s_python_time
#define __pyx_n_s_pyx_PickleError __pyx_mstate_global->__pyx_n_s_pyx_PickleError
#define __pyx_n_s_pyx_checksum __pyx_mstate_global->__pyx_n_s_pyx_checksum
#define __pyx_n_s_pyx_result __pyx_mstate_global->__pyx_n_s_pyx_result
#define __pyx_n_s_pyx_state __pyx_mstate_global->__pyx_n_s_pyx_state
#define __pyx_n_s_pyx_type __pyx_mstate_global->__pyx_n_s_pyx_type
#define __pyx_n_s_pyx_unpickle_Enum __pyx_mstate_global->__pyx_n_s_pyx_unpickle_Enum
#define __pyx_n_s_pyx_unpickle___Pyx_EnumMeta __pyx_mstate_global->__pyx_n_s_pyx_unpickle___Pyx_EnumMeta
#define __pyx_n_s_pyx_vtable __pyx_mstate_global->__pyx_n_s_pyx_vtable
#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname
#define __pyx_n_s_queue __pyx_mstate_global->__pyx_n_s_queue
#define __pyx_kp_u_queue_must_be_a_subclass_of_conc __pyx_mstate_global->__pyx_kp_u_queue_must_be_a_subclass_of_conc
#define __pyx_kp_u_raised_exception __pyx_mstate_global->__pyx_kp_u_raised_exception
#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range
#define __pyx_n_s_reduce __pyx_mstate_global->__pyx_n_s_reduce
#define __pyx_n_s_reduce_cython __pyx_mstate_global->__pyx_n_s_reduce_cython
#define __pyx_n_s_reduce_ex __pyx_mstate_global->__pyx_n_s_reduce_ex
#define __pyx_n_s_register __pyx_mstate_global->__pyx_n_s_register
#define __pyx_n_u_regular __pyx_mstate_global->__pyx_n_u_regular
#define __pyx_n_s_remaining __pyx_mstate_global->__pyx_n_s_remaining
#define __pyx_n_s_render_frame __pyx_mstate_global->__pyx_n_s_render_frame
#define __pyx_n_u_rendered_indices __pyx_mstate_global->__pyx_n_u_rendered_indices
#define __pyx_n_u_rendered_vertices __pyx_mstate_global->__pyx_n_u_rendered_vertices
#define __pyx_n_u_rendered_windows __pyx_mstate_global->__pyx_n_u_rendered_windows
#define __pyx_n_s_repeat __pyx_mstate_global->__pyx_n_s_repeat
#define __pyx_n_s_repr __pyx_mstate_global->__pyx_n_s_repr
#define __pyx_n_s_res __pyx_mstate_global->__pyx_n_s_res
#define __pyx_n_s_reset_mouse_drag_delta __pyx_mstate_global->__pyx_n_s_reset_mouse_drag_delta
#define __pyx_n_s_reshape __pyx_mstate_global->__pyx_n_s_reshape
#define __pyx_n_s_resize_callback __pyx_mstate_global->__pyx_n_s_resize_callback
#define __pyx_n_s_results __pyx_mstate_global->__pyx_n_s_results
#define __pyx_n_s_reverse __pyx_mstate_global->__pyx_n_s_reverse
#define __pyx_n_s_round __pyx_mstate_global->__pyx_n_s_round
#define __pyx_kp_u_round_to_format_cannot_be_enable __pyx_mstate_global->__pyx_kp_u_round_to_format_cannot_be_enable
#define __pyx_kp_s_s_s __pyx_mstate_global->__pyx_kp_s_s_s
#define __pyx_kp_s_s_s_d __pyx_mstate_global->__pyx_kp_s_s_s_d
#define __pyx_n_u_scaleMax __pyx_mstate_global->__pyx_n_u_scaleMax
#define __pyx_n_u_scaleMin __pyx_mstate_global->__pyx_n_u_scaleMin
#define __pyx_n_s_sched_yield __pyx_mstate_global->__pyx_n_s_sched_yield
#define __pyx_n_s_scipy __pyx_mstate_global->__pyx_n_s_scipy
#define __pyx_n_s_scipy_spatial __pyx_mstate_global->__pyx_n_s_scipy_spatial
#define __pyx_n_s_self __pyx_mstate_global->__pyx_n_s_self
#define __pyx_n_u_self_2 __pyx_mstate_global->__pyx_n_u_self_2
#define __pyx_n_s_self_m __pyx_mstate_global->__pyx_n_s_self_m
#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name
#define __pyx_n_s_set_value __pyx_mstate_global->__pyx_n_s_set_value
#define __pyx_n_s_setstate __pyx_mstate_global->__pyx_n_s_setstate
#define __pyx_n_s_setstate_cython __pyx_mstate_global->__pyx_n_s_setstate_cython
#define __pyx_n_s_shape __pyx_mstate_global->__pyx_n_s_shape
#define __pyx_n_s_shareable_value __pyx_mstate_global->__pyx_n_s_shareable_value
#define __pyx_n_s_should_attach __pyx_mstate_global->__pyx_n_s_should_attach
#define __pyx_n_s_should_present __pyx_mstate_global->__pyx_n_s_should_present
#define __pyx_n_u_show __pyx_mstate_global->__pyx_n_u_show
#define __pyx_n_s_shutdown __pyx_mstate_global->__pyx_n_s_shutdown
#define __pyx_n_s_simplices __pyx_mstate_global->__pyx_n_s_simplices
#define __pyx_n_s_size __pyx_mstate_global->__pyx_n_s_size
#define __pyx_n_u_size __pyx_mstate_global->__pyx_n_u_size
#define __pyx_n_s_sleep __pyx_mstate_global->__pyx_n_s_sleep
#define __pyx_n_u_small __pyx_mstate_global->__pyx_n_u_small
#define __pyx_n_s_source __pyx_mstate_global->__pyx_n_s_source
#define __pyx_n_u_source __pyx_mstate_global->__pyx_n_u_source
#define __pyx_n_s_source_item __pyx_mstate_global->__pyx_n_s_source_item
#define __pyx_n_s_south __pyx_mstate_global->__pyx_n_s_south
#define __pyx_n_s_southeast __pyx_mstate_global->__pyx_n_s_southeast
#define __pyx_n_s_southwest __pyx_mstate_global->__pyx_n_s_southwest
#define __pyx_n_s_spatial __pyx_mstate_global->__pyx_n_s_spatial
#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
#define __pyx_n_s_start __pyx_mstate_global->__pyx_n_s_start
#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state
#define __pyx_n_s_step __pyx_mstate_global->__pyx_n_s_step
#define __pyx_n_s_stop __pyx_mstate_global->__pyx_n_s_stop
#define __pyx_n_s_str __pyx_mstate_global->__pyx_n_s_str
#define __pyx_kp_s_strided_and_direct __pyx_mstate_global->__pyx_kp_s_strided_and_direct
#define __pyx_kp_s_strided_and_direct_or_indirect __pyx_mstate_global->__pyx_kp_s_strided_and_direct_or_indirect
#define __pyx_kp_s_strided_and_indirect __pyx_mstate_global->__pyx_kp_s_strided_and_indirect
#define __pyx_kp_s_stringsource __pyx_mstate_global->__pyx_kp_s_stringsource
#define __pyx_n_s_struct __pyx_mstate_global->__pyx_n_s_struct
#define __pyx_n_s_submit __pyx_mstate_global->__pyx_n_s_submit
#define __pyx_n_s_subpixel __pyx_mstate_global->__pyx_n_s_subpixel
#define __pyx_n_s_success __pyx_mstate_global->__pyx_n_s_success
#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super
#define __pyx_n_s_symlog __pyx_mstate_global->__pyx_n_s_symlog
#define __pyx_n_s_sys __pyx_mstate_global->__pyx_n_s_sys
#define __pyx_n_s_t_any __pyx_mstate_global->__pyx_n_s_t_any
#define __pyx_n_s_t_button __pyx_mstate_global->__pyx_n_s_t_button
#define __pyx_n_s_t_checkbox __pyx_mstate_global->__pyx_n_s_t_checkbox
#define __pyx_n_s_t_child __pyx_mstate_global->__pyx_n_s_t_child
#define __pyx_n_s_t_collapsingheader __pyx_mstate_global->__pyx_n_s_t_collapsingheader
#define __pyx_n_s_t_colorbutton __pyx_mstate_global->__pyx_n_s_t_colorbutton
#define __pyx_n_s_t_coloredit __pyx_mstate_global->__pyx_n_s_t_coloredit
#define __pyx_n_s_t_colorpicker __pyx_mstate_global->__pyx_n_s_t_colorpicker
#define __pyx_n_s_t_combo __pyx_mstate_global->__pyx_n_s_t_combo
#define __pyx_n_s_t_discarded __pyx_mstate_global->__pyx_n_s_t_discarded
#define __pyx_n_s_t_enabled_False __pyx_mstate_global->__pyx_n_s_t_enabled_False
#define __pyx_n_s_t_enabled_True __pyx_mstate_global->__pyx_n_s_t_enabled_True
#define __pyx_n_s_t_enabled_any __pyx_mstate_global->__pyx_n_s_t_enabled_any
#define __pyx_n_s_t_image __pyx_mstate_global->__pyx_n_s_t_image
#define __pyx_n_s_t_imagebutton __pyx_mstate_global->__pyx_n_s_t_imagebutton
#define __pyx_n_s_t_inputtext __pyx_mstate_global->__pyx_n_s_t_inputtext
#define __pyx_n_s_t_inputvalue __pyx_mstate_global->__pyx_n_s_t_inputvalue
#define __pyx_n_s_t_layout __pyx_mstate_global->__pyx_n_s_t_layout
#define __pyx_n_s_t_listbox __pyx_mstate_global->__pyx_n_s_t_listbox
#define __pyx_n_s_t_menu __pyx_mstate_global->__pyx_n_s_t_menu
#define __pyx_n_s_t_menubar __pyx_mstate_global->__pyx_n_s_t_menubar
#define __pyx_n_s_t_menuitem __pyx_mstate_global->__pyx_n_s_t_menuitem
#define __pyx_n_s_t_plot __pyx_mstate_global->__pyx_n_s_t_plot
#define __pyx_n_s_t_progressbar __pyx_mstate_global->__pyx_n_s_t_progressbar
#define __pyx_n_s_t_radiobutton __pyx_mstate_global->__pyx_n_s_t_radiobutton
#define __pyx_n_s_t_selectable __pyx_mstate_global->__pyx_n_s_t_selectable
#define __pyx_n_s_t_simpleplot __pyx_mstate_global->__pyx_n_s_t_simpleplot
#define __pyx_n_s_t_slider __pyx_mstate_global->__pyx_n_s_t_slider
#define __pyx_n_s_t_tab __pyx_mstate_global->__pyx_n_s_t_tab
#define __pyx_n_s_t_tabbar __pyx_mstate_global->__pyx_n_s_t_tabbar
#define __pyx_n_s_t_tabbutton __pyx_mstate_global->__pyx_n_s_t_tabbutton
#define __pyx_n_s_t_text __pyx_mstate_global->__pyx_n_s_t_text
#define __pyx_n_s_t_tooltip __pyx_mstate_global->__pyx_n_s_t_tooltip
#define __pyx_n_s_t_treenode __pyx_mstate_global->__pyx_n_s_t_treenode
#define __pyx_n_s_t_window __pyx_mstate_global->__pyx_n_s_t_window
#define __pyx_n_s_target __pyx_mstate_global->__pyx_n_s_target
#define __pyx_kp_u_target_before_cannot_be_None __pyx_mstate_global->__pyx_kp_u_target_before_cannot_be_None
#define __pyx_n_s_target_item __pyx_mstate_global->__pyx_n_s_target_item
#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
#define __pyx_kp_u_texture_must_be_a_Texture __pyx_mstate_global->__pyx_kp_u_texture_must_be_a_Texture
#define __pyx_n_s_theme_categories __pyx_mstate_global->__pyx_n_s_theme_categories
#define __pyx_n_s_theme_enablers __pyx_mstate_global->__pyx_n_s_theme_enablers
#define __pyx_n_s_threading __pyx_mstate_global->__pyx_n_s_threading
#define __pyx_n_s_time __pyx_mstate_global->__pyx_n_s_time
#define __pyx_kp_u_to __pyx_mstate_global->__pyx_kp_u_to
#define __pyx_n_s_traceback __pyx_mstate_global->__pyx_n_s_traceback
#define __pyx_n_s_uiItem __pyx_mstate_global->__pyx_n_s_uiItem
#define __pyx_n_s_uiItem___dir __pyx_mstate_global->__pyx_n_s_uiItem___dir
#define __pyx_n_s_uiItem___reduce_cython __pyx_mstate_global->__pyx_n_s_uiItem___reduce_cython
#define __pyx_n_s_uiItem___setstate_cython __pyx_mstate_global->__pyx_n_s_uiItem___setstate_cython
#define __pyx_n_s_uiItem_configure __pyx_mstate_global->__pyx_n_s_uiItem_configure
#define __pyx_n_s_uint8 __pyx_mstate_global->__pyx_n_s_uint8
#define __pyx_kp_s_unable_to_allocate_array_data __pyx_mstate_global->__pyx_kp_s_unable_to_allocate_array_data
#define __pyx_kp_s_unable_to_allocate_shape_and_str __pyx_mstate_global->__pyx_kp_s_unable_to_allocate_shape_and_str
#define __pyx_n_s_unlock_mutex __pyx_mstate_global->__pyx_n_s_unlock_mutex
#define __pyx_n_s_unpack __pyx_mstate_global->__pyx_n_s_unpack
#define __pyx_n_s_update __pyx_mstate_global->__pyx_n_s_update
#define __pyx_n_s_update_layout __pyx_mstate_global->__pyx_n_s_update_layout
#define __pyx_n_s_use_setstate __pyx_mstate_global->__pyx_n_s_use_setstate
#define __pyx_n_s_user_data __pyx_mstate_global->__pyx_n_s_user_data
#define __pyx_kp_u_utf_8 __pyx_mstate_global->__pyx_kp_u_utf_8
#define __pyx_n_s_uuid __pyx_mstate_global->__pyx_n_s_uuid
#define __pyx_n_s_v __pyx_mstate_global->__pyx_n_s_v
#define __pyx_n_s_val __pyx_mstate_global->__pyx_n_s_val
#define __pyx_n_s_value __pyx_mstate_global->__pyx_n_s_value
#define __pyx_n_s_values __pyx_mstate_global->__pyx_n_s_values
#define __pyx_n_s_version_info __pyx_mstate_global->__pyx_n_s_version_info
#define __pyx_n_s_wait __pyx_mstate_global->__pyx_n_s_wait
#define __pyx_n_s_wake __pyx_mstate_global->__pyx_n_s_wake
#define __pyx_n_s_weakref __pyx_mstate_global->__pyx_n_s_weakref
#define __pyx_n_s_west __pyx_mstate_global->__pyx_n_s_west
#define __pyx_n_s_width __pyx_mstate_global->__pyx_n_s_width
#define __pyx_n_s_wrap_mutex __pyx_mstate_global->__pyx_n_s_wrap_mutex
#define __pyx_n_s_wrap_mutex___enter __pyx_mstate_global->__pyx_n_s_wrap_mutex___enter
#define __pyx_n_s_wrap_mutex___exit __pyx_mstate_global->__pyx_n_s_wrap_mutex___exit
#define __pyx_n_s_wrap_mutex___init __pyx_mstate_global->__pyx_n_s_wrap_mutex___init
#define __pyx_n_s_wrap_this_and_parents_mutex __pyx_mstate_global->__pyx_n_s_wrap_this_and_parents_mutex
#define __pyx_n_s_wrap_this_and_parents_mutex___en __pyx_mstate_global->__pyx_n_s_wrap_this_and_parents_mutex___en
#define __pyx_n_s_wrap_this_and_parents_mutex___ex __pyx_mstate_global->__pyx_n_s_wrap_this_and_parents_mutex___ex
#define __pyx_n_s_wrap_this_and_parents_mutex___in __pyx_mstate_global->__pyx_n_s_wrap_this_and_parents_mutex___in
#define __pyx_n_s_zeros __pyx_mstate_global->__pyx_n_s_zeros
#define __pyx_kp_u_zoom_mod_must_be_a_combinaison_o __pyx_mstate_global->__pyx_kp_u_zoom_mod_must_be_a_combinaison_o
#define __pyx_float_0_ __pyx_mstate_global->__pyx_float_0_
#define __pyx_float_1_ __pyx_mstate_global->__pyx_float_1_
#define __pyx_float_2_ __pyx_mstate_global->__pyx_float_2_
#define __pyx_float_13_ __pyx_mstate_global->__pyx_float_13_
#define __pyx_float_100_ __pyx_mstate_global->__pyx_float_100_
#define __pyx_float_0_005 __pyx_mstate_global->__pyx_float_0_005
#define __pyx_float_neg_1_ __pyx_mstate_global->__pyx_float_neg_1_
#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0
#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1
#define __pyx_int_3 __pyx_mstate_global->__pyx_int_3
#define __pyx_int_112105877 __pyx_mstate_global->__pyx_int_112105877
#define __pyx_int_136983863 __pyx_mstate_global->__pyx_int_136983863
#define __pyx_int_184977713 __pyx_mstate_global->__pyx_int_184977713
#define __pyx_int_222419149 __pyx_mstate_global->__pyx_int_222419149
#define __pyx_int_228825662 __pyx_mstate_global->__pyx_int_228825662
#define __pyx_int_238750788 __pyx_mstate_global->__pyx_int_238750788
#define __pyx_int_neg_1 __pyx_mstate_global->__pyx_int_neg_1
#define __pyx_slice__7 __pyx_mstate_global->__pyx_slice__7
#define __pyx_tuple__2 __pyx_mstate_global->__pyx_tuple__2
#define __pyx_tuple__6 __pyx_mstate_global->__pyx_tuple__6
#define __pyx_tuple__10 __pyx_mstate_global->__pyx_tuple__10
#define __pyx_tuple__11 __pyx_mstate_global->__pyx_tuple__11
#define __pyx_tuple__12 __pyx_mstate_global->__pyx_tuple__12
#define __pyx_tuple__13 __pyx_mstate_global->__pyx_tuple__13
#define __pyx_tuple__14 __pyx_mstate_global->__pyx_tuple__14
#define __pyx_tuple__15 __pyx_mstate_global->__pyx_tuple__15
#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16
#define __pyx_tuple__17 __pyx_mstate_global->__pyx_tuple__17
#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18
#define __pyx_tuple__19 __pyx_mstate_global->__pyx_tuple__19
#define __pyx_tuple__20 __pyx_mstate_global->__pyx_tuple__20
#define __pyx_tuple__21 __pyx_mstate_global->__pyx_tuple__21
#define __pyx_tuple__22 __pyx_mstate_global->__pyx_tuple__22
#define __pyx_tuple__23 __pyx_mstate_global->__pyx_tuple__23
#define __pyx_tuple__24 __pyx_mstate_global->__pyx_tuple__24
#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25
#define __pyx_tuple__26 __pyx_mstate_global->__pyx_tuple__26
#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27
#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28
#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29
#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30
#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31
#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32
#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34
#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35
#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36
#define __pyx_tuple__37 __pyx_mstate_global->__pyx_tuple__37
#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38
#define __pyx_tuple__39 __pyx_mstate_global->__pyx_tuple__39
#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40
#define __pyx_tuple__41 __pyx_mstate_global->__pyx_tuple__41
#define __pyx_tuple__43 __pyx_mstate_global->__pyx_tuple__43
#define __pyx_tuple__45 __pyx_mstate_global->__pyx_tuple__45
#define __pyx_tuple__46 __pyx_mstate_global->__pyx_tuple__46
#define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47
#define __pyx_tuple__48 __pyx_mstate_global->__pyx_tuple__48
#define __pyx_tuple__49 __pyx_mstate_global->__pyx_tuple__49
#define __pyx_tuple__50 __pyx_mstate_global->__pyx_tuple__50
#define __pyx_tuple__51 __pyx_mstate_global->__pyx_tuple__51
#define __pyx_tuple__52 __pyx_mstate_global->__pyx_tuple__52
#define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53
#define __pyx_tuple__54 __pyx_mstate_global->__pyx_tuple__54
#define __pyx_tuple__55 __pyx_mstate_global->__pyx_tuple__55
#define __pyx_tuple__56 __pyx_mstate_global->__pyx_tuple__56
#define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57
#define __pyx_tuple__58 __pyx_mstate_global->__pyx_tuple__58
#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59
#define __pyx_tuple__60 __pyx_mstate_global->__pyx_tuple__60
#define __pyx_tuple__61 __pyx_mstate_global->__pyx_tuple__61
#define __pyx_tuple__62 __pyx_mstate_global->__pyx_tuple__62
#define __pyx_tuple__63 __pyx_mstate_global->__pyx_tuple__63
#define __pyx_tuple__64 __pyx_mstate_global->__pyx_tuple__64
#define __pyx_tuple__65 __pyx_mstate_global->__pyx_tuple__65
#define __pyx_tuple__66 __pyx_mstate_global->__pyx_tuple__66
#define __pyx_tuple__67 __pyx_mstate_global->__pyx_tuple__67
#define __pyx_tuple__68 __pyx_mstate_global->__pyx_tuple__68
#define __pyx_tuple__69 __pyx_mstate_global->__pyx_tuple__69
#define __pyx_tuple__70 __pyx_mstate_global->__pyx_tuple__70
#define __pyx_tuple__71 __pyx_mstate_global->__pyx_tuple__71
#define __pyx_tuple__72 __pyx_mstate_global->__pyx_tuple__72
#define __pyx_tuple__73 __pyx_mstate_global->__pyx_tuple__73
#define __pyx_tuple__74 __pyx_mstate_global->__pyx_tuple__74
#define __pyx_tuple__75 __pyx_mstate_global->__pyx_tuple__75
#define __pyx_tuple__76 __pyx_mstate_global->__pyx_tuple__76
#define __pyx_tuple__78 __pyx_mstate_global->__pyx_tuple__78
#define __pyx_tuple__80 __pyx_mstate_global->__pyx_tuple__80
#define __pyx_tuple__82 __pyx_mstate_global->__pyx_tuple__82
#define __pyx_tuple__83 __pyx_mstate_global->__pyx_tuple__83
#define __pyx_tuple__89 __pyx_mstate_global->__pyx_tuple__89
#define __pyx_tuple__91 __pyx_mstate_global->__pyx_tuple__91
#define __pyx_tuple__92 __pyx_mstate_global->__pyx_tuple__92
#define __pyx_tuple__93 __pyx_mstate_global->__pyx_tuple__93
#define __pyx_tuple__94 __pyx_mstate_global->__pyx_tuple__94
#define __pyx_tuple__95 __pyx_mstate_global->__pyx_tuple__95
#define __pyx_tuple__96 __pyx_mstate_global->__pyx_tuple__96
#define __pyx_tuple__97 __pyx_mstate_global->__pyx_tuple__97
#define __pyx_tuple__98 __pyx_mstate_global->__pyx_tuple__98
#define __pyx_tuple__99 __pyx_mstate_global->__pyx_tuple__99
#define __pyx_tuple__101 __pyx_mstate_global->__pyx_tuple__101
#define __pyx_tuple__102 __pyx_mstate_global->__pyx_tuple__102
#define __pyx_tuple__109 __pyx_mstate_global->__pyx_tuple__109
#define __pyx_tuple__111 __pyx_mstate_global->__pyx_tuple__111
#define __pyx_tuple__113 __pyx_mstate_global->__pyx_tuple__113
#define __pyx_tuple__115 __pyx_mstate_global->__pyx_tuple__115
#define __pyx_tuple__117 __pyx_mstate_global->__pyx_tuple__117
#define __pyx_tuple__119 __pyx_mstate_global->__pyx_tuple__119
#define __pyx_tuple__123 __pyx_mstate_global->__pyx_tuple__123
#define __pyx_tuple__125 __pyx_mstate_global->__pyx_tuple__125
#define __pyx_tuple__127 __pyx_mstate_global->__pyx_tuple__127
#define __pyx_tuple__128 __pyx_mstate_global->__pyx_tuple__128
#define __pyx_tuple__133 __pyx_mstate_global->__pyx_tuple__133
#define __pyx_tuple__136 __pyx_mstate_global->__pyx_tuple__136
#define __pyx_tuple__138 __pyx_mstate_global->__pyx_tuple__138
#define __pyx_tuple__143 __pyx_mstate_global->__pyx_tuple__143
#define __pyx_tuple__145 __pyx_mstate_global->__pyx_tuple__145
#define __pyx_tuple__153 __pyx_mstate_global->__pyx_tuple__153
#define __pyx_tuple__155 __pyx_mstate_global->__pyx_tuple__155
#define __pyx_tuple__157 __pyx_mstate_global->__pyx_tuple__157
#define __pyx_tuple__159 __pyx_mstate_global->__pyx_tuple__159
#define __pyx_tuple__160 __pyx_mstate_global->__pyx_tuple__160
#define __pyx_tuple__162 __pyx_mstate_global->__pyx_tuple__162
#define __pyx_tuple__164 __pyx_mstate_global->__pyx_tuple__164
#define __pyx_tuple__258 __pyx_mstate_global->__pyx_tuple__258
#define __pyx_tuple__260 __pyx_mstate_global->__pyx_tuple__260
#define __pyx_tuple__264 __pyx_mstate_global->__pyx_tuple__264
#define __pyx_tuple__314 __pyx_mstate_global->__pyx_tuple__314
#define __pyx_tuple__340 __pyx_mstate_global->__pyx_tuple__340
#define __pyx_tuple__342 __pyx_mstate_global->__pyx_tuple__342
#define __pyx_tuple__344 __pyx_mstate_global->__pyx_tuple__344
#define __pyx_tuple__348 __pyx_mstate_global->__pyx_tuple__348
#define __pyx_tuple__353 __pyx_mstate_global->__pyx_tuple__353
#define __pyx_tuple__355 __pyx_mstate_global->__pyx_tuple__355
#define __pyx_tuple__356 __pyx_mstate_global->__pyx_tuple__356
#define __pyx_tuple__396 __pyx_mstate_global->__pyx_tuple__396
#define __pyx_tuple__398 __pyx_mstate_global->__pyx_tuple__398
#define __pyx_codeobj__77 __pyx_mstate_global->__pyx_codeobj__77
#define __pyx_codeobj__79 __pyx_mstate_global->__pyx_codeobj__79
#define __pyx_codeobj__81 __pyx_mstate_global->__pyx_codeobj__81
#define __pyx_codeobj__84 __pyx_mstate_global->__pyx_codeobj__84
#define __pyx_codeobj__85 __pyx_mstate_global->__pyx_codeobj__85
#define __pyx_codeobj__86 __pyx_mstate_global->__pyx_codeobj__86
#define __pyx_codeobj__87 __pyx_mstate_global->__pyx_codeobj__87
#define __pyx_codeobj__88 __pyx_mstate_global->__pyx_codeobj__88
#define __pyx_codeobj__90 __pyx_mstate_global->__pyx_codeobj__90
#define __pyx_codeobj__100 __pyx_mstate_global->__pyx_codeobj__100
#define __pyx_codeobj__103 __pyx_mstate_global->__pyx_codeobj__103
#define __pyx_codeobj__104 __pyx_mstate_global->__pyx_codeobj__104
#define __pyx_codeobj__105 __pyx_mstate_global->__pyx_codeobj__105
#define __pyx_codeobj__106 __pyx_mstate_global->__pyx_codeobj__106
#define __pyx_codeobj__107 __pyx_mstate_global->__pyx_codeobj__107
#define __pyx_codeobj__108 __pyx_mstate_global->__pyx_codeobj__108
#define __pyx_codeobj__110 __pyx_mstate_global->__pyx_codeobj__110
#define __pyx_codeobj__112 __pyx_mstate_global->__pyx_codeobj__112
#define __pyx_codeobj__114 __pyx_mstate_global->__pyx_codeobj__114
#define __pyx_codeobj__116 __pyx_mstate_global->__pyx_codeobj__116
#define __pyx_codeobj__118 __pyx_mstate_global->__pyx_codeobj__118
#define __pyx_codeobj__120 __pyx_mstate_global->__pyx_codeobj__120
#define __pyx_codeobj__121 __pyx_mstate_global->__pyx_codeobj__121
#define __pyx_codeobj__122 __pyx_mstate_global->__pyx_codeobj__122
#define __pyx_codeobj__124 __pyx_mstate_global->__pyx_codeobj__124
#define __pyx_codeobj__126 __pyx_mstate_global->__pyx_codeobj__126
#define __pyx_codeobj__129 __pyx_mstate_global->__pyx_codeobj__129
#define __pyx_codeobj__130 __pyx_mstate_global->__pyx_codeobj__130
#define __pyx_codeobj__131 __pyx_mstate_global->__pyx_codeobj__131
#define __pyx_codeobj__132 __pyx_mstate_global->__pyx_codeobj__132
#define __pyx_codeobj__134 __pyx_mstate_global->__pyx_codeobj__134
#define __pyx_codeobj__135 __pyx_mstate_global->__pyx_codeobj__135
#define __pyx_codeobj__137 __pyx_mstate_global->__pyx_codeobj__137
#define __pyx_codeobj__139 __pyx_mstate_global->__pyx_codeobj__139
#define __pyx_codeobj__140 __pyx_mstate_global->__pyx_codeobj__140
#define __pyx_codeobj__141 __pyx_mstate_global->__pyx_codeobj__141
#define __pyx_codeobj__142 __pyx_mstate_global->__pyx_codeobj__142
#define __pyx_codeobj__144 __pyx_mstate_global->__pyx_codeobj__144
#define __pyx_codeobj__146 __pyx_mstate_global->__pyx_codeobj__146
#define __pyx_codeobj__147 __pyx_mstate_global->__pyx_codeobj__147
#define __pyx_codeobj__148 __pyx_mstate_global->__pyx_codeobj__148
#define __pyx_codeobj__149 __pyx_mstate_global->__pyx_codeobj__149
#define __pyx_codeobj__150 __pyx_mstate_global->__pyx_codeobj__150
#define __pyx_codeobj__151 __pyx_mstate_global->__pyx_codeobj__151
#define __pyx_codeobj__152 __pyx_mstate_global->__pyx_codeobj__152
#define __pyx_codeobj__154 __pyx_mstate_global->__pyx_codeobj__154
#define __pyx_codeobj__156 __pyx_mstate_global->__pyx_codeobj__156
#define __pyx_codeobj__158 __pyx_mstate_global->__pyx_codeobj__158
#define __pyx_codeobj__161 __pyx_mstate_global->__pyx_codeobj__161
#define __pyx_codeobj__163 __pyx_mstate_global->__pyx_codeobj__163
#define __pyx_codeobj__165 __pyx_mstate_global->__pyx_codeobj__165
#define __pyx_codeobj__166 __pyx_mstate_global->__pyx_codeobj__166
#define __pyx_codeobj__167 __pyx_mstate_global->__pyx_codeobj__167
#define __pyx_codeobj__168 __pyx_mstate_global->__pyx_codeobj__168
#define __pyx_codeobj__169 __pyx_mstate_global->__pyx_codeobj__169
#define __pyx_codeobj__170 __pyx_mstate_global->__pyx_codeobj__170
#define __pyx_codeobj__171 __pyx_mstate_global->__pyx_codeobj__171
#define __pyx_codeobj__172 __pyx_mstate_global->__pyx_codeobj__172
#define __pyx_codeobj__173 __pyx_mstate_global->__pyx_codeobj__173
#define __pyx_codeobj__174 __pyx_mstate_global->__pyx_codeobj__174
#define __pyx_codeobj__175 __pyx_mstate_global->__pyx_codeobj__175
#define __pyx_codeobj__176 __pyx_mstate_global->__pyx_codeobj__176
#define __pyx_codeobj__177 __pyx_mstate_global->__pyx_codeobj__177
#define __pyx_codeobj__178 __pyx_mstate_global->__pyx_codeobj__178
#define __pyx_codeobj__179 __pyx_mstate_global->__pyx_codeobj__179
#define __pyx_codeobj__180 __pyx_mstate_global->__pyx_codeobj__180
#define __pyx_codeobj__181 __pyx_mstate_global->__pyx_codeobj__181
#define __pyx_codeobj__182 __pyx_mstate_global->__pyx_codeobj__182
#define __pyx_codeobj__183 __pyx_mstate_global->__pyx_codeobj__183
#define __pyx_codeobj__184 __pyx_mstate_global->__pyx_codeobj__184
#define __pyx_codeobj__185 __pyx_mstate_global->__pyx_codeobj__185
#define __pyx_codeobj__186 __pyx_mstate_global->__pyx_codeobj__186
#define __pyx_codeobj__187 __pyx_mstate_global->__pyx_codeobj__187
#define __pyx_codeobj__188 __pyx_mstate_global->__pyx_codeobj__188
#define __pyx_codeobj__189 __pyx_mstate_global->__pyx_codeobj__189
#define __pyx_codeobj__190 __pyx_mstate_global->__pyx_codeobj__190
#define __pyx_codeobj__191 __pyx_mstate_global->__pyx_codeobj__191
#define __pyx_codeobj__192 __pyx_mstate_global->__pyx_codeobj__192
#define __pyx_codeobj__193 __pyx_mstate_global->__pyx_codeobj__193
#define __pyx_codeobj__194 __pyx_mstate_global->__pyx_codeobj__194
#define __pyx_codeobj__195 __pyx_mstate_global->__pyx_codeobj__195
#define __pyx_codeobj__196 __pyx_mstate_global->__pyx_codeobj__196
#define __pyx_codeobj__197 __pyx_mstate_global->__pyx_codeobj__197
#define __pyx_codeobj__198 __pyx_mstate_global->__pyx_codeobj__198
#define __pyx_codeobj__199 __pyx_mstate_global->__pyx_codeobj__199
#define __pyx_codeobj__200 __pyx_mstate_global->__pyx_codeobj__200
#define __pyx_codeobj__201 __pyx_mstate_global->__pyx_codeobj__201
#define __pyx_codeobj__202 __pyx_mstate_global->__pyx_codeobj__202
#define __pyx_codeobj__203 __pyx_mstate_global->__pyx_codeobj__203
#define __pyx_codeobj__204 __pyx_mstate_global->__pyx_codeobj__204
#define __pyx_codeobj__205 __pyx_mstate_global->__pyx_codeobj__205
#define __pyx_codeobj__206 __pyx_mstate_global->__pyx_codeobj__206
#define __pyx_codeobj__207 __pyx_mstate_global->__pyx_codeobj__207
#define __pyx_codeobj__208 __pyx_mstate_global->__pyx_codeobj__208
#define __pyx_codeobj__209 __pyx_mstate_global->__pyx_codeobj__209
#define __pyx_codeobj__210 __pyx_mstate_global->__pyx_codeobj__210
#define __pyx_codeobj__211 __pyx_mstate_global->__pyx_codeobj__211
#define __pyx_codeobj__212 __pyx_mstate_global->__pyx_codeobj__212
#define __pyx_codeobj__213 __pyx_mstate_global->__pyx_codeobj__213
#define __pyx_codeobj__214 __pyx_mstate_global->__pyx_codeobj__214
#define __pyx_codeobj__215 __pyx_mstate_global->__pyx_codeobj__215
#define __pyx_codeobj__216 __pyx_mstate_global->__pyx_codeobj__216
#define __pyx_codeobj__217 __pyx_mstate_global->__pyx_codeobj__217
#define __pyx_codeobj__218 __pyx_mstate_global->__pyx_codeobj__218
#define __pyx_codeobj__219 __pyx_mstate_global->__pyx_codeobj__219
#define __pyx_codeobj__220 __pyx_mstate_global->__pyx_codeobj__220
#define __pyx_codeobj__221 __pyx_mstate_global->__pyx_codeobj__221
#define __pyx_codeobj__222 __pyx_mstate_global->__pyx_codeobj__222
#define __pyx_codeobj__223 __pyx_mstate_global->__pyx_codeobj__223
#define __pyx_codeobj__224 __pyx_mstate_global->__pyx_codeobj__224
#define __pyx_codeobj__225 __pyx_mstate_global->__pyx_codeobj__225
#define __pyx_codeobj__226 __pyx_mstate_global->__pyx_codeobj__226
#define __pyx_codeobj__227 __pyx_mstate_global->__pyx_codeobj__227
#define __pyx_codeobj__228 __pyx_mstate_global->__pyx_codeobj__228
#define __pyx_codeobj__229 __pyx_mstate_global->__pyx_codeobj__229
#define __pyx_codeobj__230 __pyx_mstate_global->__pyx_codeobj__230
#define __pyx_codeobj__231 __pyx_mstate_global->__pyx_codeobj__231
#define __pyx_codeobj__232 __pyx_mstate_global->__pyx_codeobj__232
#define __pyx_codeobj__233 __pyx_mstate_global->__pyx_codeobj__233
#define __pyx_codeobj__234 __pyx_mstate_global->__pyx_codeobj__234
#define __pyx_codeobj__235 __pyx_mstate_global->__pyx_codeobj__235
#define __pyx_codeobj__236 __pyx_mstate_global->__pyx_codeobj__236
#define __pyx_codeobj__237 __pyx_mstate_global->__pyx_codeobj__237
#define __pyx_codeobj__238 __pyx_mstate_global->__pyx_codeobj__238
#define __pyx_codeobj__239 __pyx_mstate_global->__pyx_codeobj__239
#define __pyx_codeobj__240 __pyx_mstate_global->__pyx_codeobj__240
#define __pyx_codeobj__241 __pyx_mstate_global->__pyx_codeobj__241
#define __pyx_codeobj__242 __pyx_mstate_global->__pyx_codeobj__242
#define __pyx_codeobj__243 __pyx_mstate_global->__pyx_codeobj__243
#define __pyx_codeobj__244 __pyx_mstate_global->__pyx_codeobj__244
#define __pyx_codeobj__245 __pyx_mstate_global->__pyx_codeobj__245
#define __pyx_codeobj__246 __pyx_mstate_global->__pyx_codeobj__246
#define __pyx_codeobj__247 __pyx_mstate_global->__pyx_codeobj__247
#define __pyx_codeobj__248 __pyx_mstate_global->__pyx_codeobj__248
#define __pyx_codeobj__249 __pyx_mstate_global->__pyx_codeobj__249
#define __pyx_codeobj__250 __pyx_mstate_global->__pyx_codeobj__250
#define __pyx_codeobj__251 __pyx_mstate_global->__pyx_codeobj__251
#define __pyx_codeobj__252 __pyx_mstate_global->__pyx_codeobj__252
#define __pyx_codeobj__253 __pyx_mstate_global->__pyx_codeobj__253
#define __pyx_codeobj__254 __pyx_mstate_global->__pyx_codeobj__254
#define __pyx_codeobj__255 __pyx_mstate_global->__pyx_codeobj__255
#define __pyx_codeobj__256 __pyx_mstate_global->__pyx_codeobj__256
#define __pyx_codeobj__257 __pyx_mstate_global->__pyx_codeobj__257
#define __pyx_codeobj__259 __pyx_mstate_global->__pyx_codeobj__259
#define __pyx_codeobj__261 __pyx_mstate_global->__pyx_codeobj__261
#define __pyx_codeobj__262 __pyx_mstate_global->__pyx_codeobj__262
#define __pyx_codeobj__263 __pyx_mstate_global->__pyx_codeobj__263
#define __pyx_codeobj__265 __pyx_mstate_global->__pyx_codeobj__265
#define __pyx_codeobj__266 __pyx_mstate_global->__pyx_codeobj__266
#define __pyx_codeobj__267 __pyx_mstate_global->__pyx_codeobj__267
#define __pyx_codeobj__268 __pyx_mstate_global->__pyx_codeobj__268
#define __pyx_codeobj__269 __pyx_mstate_global->__pyx_codeobj__269
#define __pyx_codeobj__270 __pyx_mstate_global->__pyx_codeobj__270
#define __pyx_codeobj__271 __pyx_mstate_global->__pyx_codeobj__271
#define __pyx_codeobj__272 __pyx_mstate_global->__pyx_codeobj__272
#define __pyx_codeobj__273 __pyx_mstate_global->__pyx_codeobj__273
#define __pyx_codeobj__274 __pyx_mstate_global->__pyx_codeobj__274
#define __pyx_codeobj__275 __pyx_mstate_global->__pyx_codeobj__275
#define __pyx_codeobj__276 __pyx_mstate_global->__pyx_codeobj__276
#define __pyx_codeobj__277 __pyx_mstate_global->__pyx_codeobj__277
#define __pyx_codeobj__278 __pyx_mstate_global->__pyx_codeobj__278
#define __pyx_codeobj__279 __pyx_mstate_global->__pyx_codeobj__279
#define __pyx_codeobj__280 __pyx_mstate_global->__pyx_codeobj__280
#define __pyx_codeobj__281 __pyx_mstate_global->__pyx_codeobj__281
#define __pyx_codeobj__282 __pyx_mstate_global->__pyx_codeobj__282
#define __pyx_codeobj__283 __pyx_mstate_global->__pyx_codeobj__283
#define __pyx_codeobj__284 __pyx_mstate_global->__pyx_codeobj__284
#define __pyx_codeobj__285 __pyx_mstate_global->__pyx_codeobj__285
#define __pyx_codeobj__286 __pyx_mstate_global->__pyx_codeobj__286
#define __pyx_codeobj__287 __pyx_mstate_global->__pyx_codeobj__287
#define __pyx_codeobj__288 __pyx_mstate_global->__pyx_codeobj__288
#define __pyx_codeobj__289 __pyx_mstate_global->__pyx_codeobj__289
#define __pyx_codeobj__290 __pyx_mstate_global->__pyx_codeobj__290
#define __pyx_codeobj__291 __pyx_mstate_global->__pyx_codeobj__291
#define __pyx_codeobj__292 __pyx_mstate_global->__pyx_codeobj__292
#define __pyx_codeobj__293 __pyx_mstate_global->__pyx_codeobj__293
#define __pyx_codeobj__294 __pyx_mstate_global->__pyx_codeobj__294
#define __pyx_codeobj__295 __pyx_mstate_global->__pyx_codeobj__295
#define __pyx_codeobj__296 __pyx_mstate_global->__pyx_codeobj__296
#define __pyx_codeobj__297 __pyx_mstate_global->__pyx_codeobj__297
#define __pyx_codeobj__298 __pyx_mstate_global->__pyx_codeobj__298
#define __pyx_codeobj__299 __pyx_mstate_global->__pyx_codeobj__299
#define __pyx_codeobj__300 __pyx_mstate_global->__pyx_codeobj__300
#define __pyx_codeobj__301 __pyx_mstate_global->__pyx_codeobj__301
#define __pyx_codeobj__302 __pyx_mstate_global->__pyx_codeobj__302
#define __pyx_codeobj__303 __pyx_mstate_global->__pyx_codeobj__303
#define __pyx_codeobj__304 __pyx_mstate_global->__pyx_codeobj__304
#define __pyx_codeobj__305 __pyx_mstate_global->__pyx_codeobj__305
#define __pyx_codeobj__306 __pyx_mstate_global->__pyx_codeobj__306
#define __pyx_codeobj__307 __pyx_mstate_global->__pyx_codeobj__307
#define __pyx_codeobj__308 __pyx_mstate_global->__pyx_codeobj__308
#define __pyx_codeobj__309 __pyx_mstate_global->__pyx_codeobj__309
#define __pyx_codeobj__310 __pyx_mstate_global->__pyx_codeobj__310
#define __pyx_codeobj__311 __pyx_mstate_global->__pyx_codeobj__311
#define __pyx_codeobj__312 __pyx_mstate_global->__pyx_codeobj__312
#define __pyx_codeobj__313 __pyx_mstate_global->__pyx_codeobj__313
#define __pyx_codeobj__315 __pyx_mstate_global->__pyx_codeobj__315
#define __pyx_codeobj__316 __pyx_mstate_global->__pyx_codeobj__316
#define __pyx_codeobj__317 __pyx_mstate_global->__pyx_codeobj__317
#define __pyx_codeobj__318 __pyx_mstate_global->__pyx_codeobj__318
#define __pyx_codeobj__319 __pyx_mstate_global->__pyx_codeobj__319
#define __pyx_codeobj__320 __pyx_mstate_global->__pyx_codeobj__320
#define __pyx_codeobj__321 __pyx_mstate_global->__pyx_codeobj__321
#define __pyx_codeobj__322 __pyx_mstate_global->__pyx_codeobj__322
#define __pyx_codeobj__323 __pyx_mstate_global->__pyx_codeobj__323
#define __pyx_codeobj__324 __pyx_mstate_global->__pyx_codeobj__324
#define __pyx_codeobj__325 __pyx_mstate_global->__pyx_codeobj__325
#define __pyx_codeobj__326 __pyx_mstate_global->__pyx_codeobj__326
#define __pyx_codeobj__327 __pyx_mstate_global->__pyx_codeobj__327
#define __pyx_codeobj__328 __pyx_mstate_global->__pyx_codeobj__328
#define __pyx_codeobj__329 __pyx_mstate_global->__pyx_codeobj__329
#define __pyx_codeobj__330 __pyx_mstate_global->__pyx_codeobj__330
#define __pyx_codeobj__331 __pyx_mstate_global->__pyx_codeobj__331
#define __pyx_codeobj__332 __pyx_mstate_global->__pyx_codeobj__332
#define __pyx_codeobj__333 __pyx_mstate_global->__pyx_codeobj__333
#define __pyx_codeobj__334 __pyx_mstate_global->__pyx_codeobj__334
#define __pyx_codeobj__335 __pyx_mstate_global->__pyx_codeobj__335
#define __pyx_codeobj__336 __pyx_mstate_global->__pyx_codeobj__336
#define __pyx_codeobj__337 __pyx_mstate_global->__pyx_codeobj__337
#define __pyx_codeobj__338 __pyx_mstate_global->__pyx_codeobj__338
#define __pyx_codeobj__339 __pyx_mstate_global->__pyx_codeobj__339
#define __pyx_codeobj__341 __pyx_mstate_global->__pyx_codeobj__341
#define __pyx_codeobj__343 __pyx_mstate_global->__pyx_codeobj__343
#define __pyx_codeobj__345 __pyx_mstate_global->__pyx_codeobj__345
#define __pyx_codeobj__346 __pyx_mstate_global->__pyx_codeobj__346
#define __pyx_codeobj__347 __pyx_mstate_global->__pyx_codeobj__347
#define __pyx_codeobj__349 __pyx_mstate_global->__pyx_codeobj__349
#define __pyx_codeobj__350 __pyx_mstate_global->__pyx_codeobj__350
#define __pyx_codeobj__351 __pyx_mstate_global->__pyx_codeobj__351
#define __pyx_codeobj__352 __pyx_mstate_global->__pyx_codeobj__352
#define __pyx_codeobj__354 __pyx_mstate_global->__pyx_codeobj__354
#define __pyx_codeobj__357 __pyx_mstate_global->__pyx_codeobj__357
#define __pyx_codeobj__358 __pyx_mstate_global->__pyx_codeobj__358
#define __pyx_codeobj__359 __pyx_mstate_global->__pyx_codeobj__359
#define __pyx_codeobj__360 __pyx_mstate_global->__pyx_codeobj__360
#define __pyx_codeobj__361 __pyx_mstate_global->__pyx_codeobj__361
#define __pyx_codeobj__362 __pyx_mstate_global->__pyx_codeobj__362
#define __pyx_codeobj__363 __pyx_mstate_global->__pyx_codeobj__363
#define __pyx_codeobj__364 __pyx_mstate_global->__pyx_codeobj__364
#define __pyx_codeobj__365 __pyx_mstate_global->__pyx_codeobj__365
#define __pyx_codeobj__366 __pyx_mstate_global->__pyx_codeobj__366
#define __pyx_codeobj__367 __pyx_mstate_global->__pyx_codeobj__367
#define __pyx_codeobj__368 __pyx_mstate_global->__pyx_codeobj__368
#define __pyx_codeobj__369 __pyx_mstate_global->__pyx_codeobj__369
#define __pyx_codeobj__370 __pyx_mstate_global->__pyx_codeobj__370
#define __pyx_codeobj__371 __pyx_mstate_global->__pyx_codeobj__371
#define __pyx_codeobj__372 __pyx_mstate_global->__pyx_codeobj__372
#define __pyx_codeobj__373 __pyx_mstate_global->__pyx_codeobj__373
#define __pyx_codeobj__374 __pyx_mstate_global->__pyx_codeobj__374
#define __pyx_codeobj__375 __pyx_mstate_global->__pyx_codeobj__375
#define __pyx_codeobj__376 __pyx_mstate_global->__pyx_codeobj__376
#define __pyx_codeobj__377 __pyx_mstate_global->__pyx_codeobj__377
#define __pyx_codeobj__378 __pyx_mstate_global->__pyx_codeobj__378
#define __pyx_codeobj__379 __pyx_mstate_global->__pyx_codeobj__379
#define __pyx_codeobj__380 __pyx_mstate_global->__pyx_codeobj__380
#define __pyx_codeobj__381 __pyx_mstate_global->__pyx_codeobj__381
#define __pyx_codeobj__382 __pyx_mstate_global->__pyx_codeobj__382
#define __pyx_codeobj__383 __pyx_mstate_global->__pyx_codeobj__383
#define __pyx_codeobj__384 __pyx_mstate_global->__pyx_codeobj__384
#define __pyx_codeobj__385 __pyx_mstate_global->__pyx_codeobj__385
#define __pyx_codeobj__386 __pyx_mstate_global->__pyx_codeobj__386
#define __pyx_codeobj__387 __pyx_mstate_global->__pyx_codeobj__387
#define __pyx_codeobj__388 __pyx_mstate_global->__pyx_codeobj__388
#define __pyx_codeobj__389 __pyx_mstate_global->__pyx_codeobj__389
#define __pyx_codeobj__390 __pyx_mstate_global->__pyx_codeobj__390
#define __pyx_codeobj__391 __pyx_mstate_global->__pyx_codeobj__391
#define __pyx_codeobj__392 __pyx_mstate_global->__pyx_codeobj__392
#define __pyx_codeobj__393 __pyx_mstate_global->__pyx_codeobj__393
#define __pyx_codeobj__394 __pyx_mstate_global->__pyx_codeobj__394
#define __pyx_codeobj__395 __pyx_mstate_global->__pyx_codeobj__395
#define __pyx_codeobj__397 __pyx_mstate_global->__pyx_codeobj__397
#define __pyx_codeobj__399 __pyx_mstate_global->__pyx_codeobj__399
#define __pyx_codeobj__400 __pyx_mstate_global->__pyx_codeobj__400
/* #### Code section: module_code ### */

/* "string.from_py":13
 * 
 * @cname("__pyx_convert_string_from_py_6libcpp_6string_std__in_string")
 * cdef string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t length = 0
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 */

static std::string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(PyObject *__pyx_v_o) {
  Py_ssize_t __pyx_v_length;
  char const *__pyx_v_data;
  std::string __pyx_r;
  char const *__pyx_t_1;
  std::string __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "string.from_py":14
 * @cname("__pyx_convert_string_from_py_6libcpp_6string_std__in_string")
 * cdef string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(object o) except *:
 *     cdef Py_ssize_t length = 0             # <<<<<<<<<<<<<<
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 *     return string(data, length)
 */
  __pyx_v_length = 0;

  /* "string.from_py":15
 * cdef string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(object o) except *:
 *     cdef Py_ssize_t length = 0
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)             # <<<<<<<<<<<<<<
 *     return string(data, length)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_AsStringAndSize(__pyx_v_o, (&__pyx_v_length)); if (unlikely(__pyx_t_1 == ((char const *)NULL))) __PYX_ERR(2, 15, __pyx_L1_error)
  __pyx_v_data = __pyx_t_1;

  /* "string.from_py":16
 *     cdef Py_ssize_t length = 0
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 *     return string(data, length)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_2 = std::string(__pyx_v_data, __pyx_v_length);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(2, 16, __pyx_L1_error)
  }
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "string.from_py":13
 * 
 * @cname("__pyx_convert_string_from_py_6libcpp_6string_std__in_string")
 * cdef string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t length = 0
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  return __pyx_r;
}

/* "string.to_py":31
 * 
 * @cname("__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string", 1);

  /* "string.to_py":32
 * @cname("__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(const string& s):
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyUnicode_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":31
 * 
 * @cname("__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":37
 * 
 * @cname("__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string", 1);

  /* "string.to_py":38
 * @cname("__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(const string& s):
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyStr_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyUnicode_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":37
 * 
 * @cname("__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":43
 * 
 * @cname("__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string", 1);

  /* "string.to_py":44
 * @cname("__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(const string& s):
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyBytes_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyStr_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":43
 * 
 * @cname("__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":49
 * 
 * @cname("__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string", 1);

  /* "string.to_py":50
 * @cname("__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(const string& s):
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyByteArray_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":49
 * 
 * @cname("__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":55
 * 
 * @cname("__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
 * 
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string", 1);

  /* "string.to_py":56
 * @cname("__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(const string& s):
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyByteArray_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":55
 * 
 * @cname("__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py")
 * cdef __Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(mouse_cursor c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = mouse_cursor
 */

static PyObject *__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(enum __pyx_t_9dearcygui_4core_mouse_cursor __pyx_v_c_val) {
  PyObject *__pyx_v___pyx_enum = 0;
  int __pyx_v_underlying_c_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py", 1);

  /* "EnumTypeToPy":5
 * cdef __Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(mouse_cursor c_val):
 *     cdef object __pyx_enum
 *     __pyx_enum = mouse_cursor             # <<<<<<<<<<<<<<
 * 
 *     if 0:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v___pyx_enum = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumTypeToPy":7
 *     __pyx_enum = mouse_cursor
 * 
 *     if 0:             # <<<<<<<<<<<<<<
 *         pass
 *     elif c_val == mouse_cursor.CursorNone:
 */
  switch (__pyx_v_c_val) {
    case __pyx_e_9dearcygui_4core_CursorNone:

    /* "EnumTypeToPy":10
 *         pass
 *     elif c_val == mouse_cursor.CursorNone:
 *         return __pyx_enum.CursorNone             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.CursorArrow:
 *         return __pyx_enum.CursorArrow
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_CursorNone); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == mouse_cursor.CursorNone:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.CursorNone
 *     elif c_val == mouse_cursor.CursorArrow:
 */
    break;
    case __pyx_e_9dearcygui_4core_CursorArrow:

    /* "EnumTypeToPy":12
 *         return __pyx_enum.CursorNone
 *     elif c_val == mouse_cursor.CursorArrow:
 *         return __pyx_enum.CursorArrow             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.CursorTextInput:
 *         return __pyx_enum.CursorTextInput
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_CursorArrow); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":11
 *     elif c_val == mouse_cursor.CursorNone:
 *         return __pyx_enum.CursorNone
 *     elif c_val == mouse_cursor.CursorArrow:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.CursorArrow
 *     elif c_val == mouse_cursor.CursorTextInput:
 */
    break;
    case __pyx_e_9dearcygui_4core_CursorTextInput:

    /* "EnumTypeToPy":14
 *         return __pyx_enum.CursorArrow
 *     elif c_val == mouse_cursor.CursorTextInput:
 *         return __pyx_enum.CursorTextInput             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.ResizeAll:
 *         return __pyx_enum.ResizeAll
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_CursorTextInput); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":13
 *     elif c_val == mouse_cursor.CursorArrow:
 *         return __pyx_enum.CursorArrow
 *     elif c_val == mouse_cursor.CursorTextInput:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.CursorTextInput
 *     elif c_val == mouse_cursor.ResizeAll:
 */
    break;
    case __pyx_e_9dearcygui_4core_ResizeAll:

    /* "EnumTypeToPy":16
 *         return __pyx_enum.CursorTextInput
 *     elif c_val == mouse_cursor.ResizeAll:
 *         return __pyx_enum.ResizeAll             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.ResizeNS:
 *         return __pyx_enum.ResizeNS
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ResizeAll); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":15
 *     elif c_val == mouse_cursor.CursorTextInput:
 *         return __pyx_enum.CursorTextInput
 *     elif c_val == mouse_cursor.ResizeAll:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.ResizeAll
 *     elif c_val == mouse_cursor.ResizeNS:
 */
    break;
    case __pyx_e_9dearcygui_4core_ResizeNS:

    /* "EnumTypeToPy":18
 *         return __pyx_enum.ResizeAll
 *     elif c_val == mouse_cursor.ResizeNS:
 *         return __pyx_enum.ResizeNS             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.ResizeEW:
 *         return __pyx_enum.ResizeEW
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ResizeNS); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":17
 *     elif c_val == mouse_cursor.ResizeAll:
 *         return __pyx_enum.ResizeAll
 *     elif c_val == mouse_cursor.ResizeNS:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.ResizeNS
 *     elif c_val == mouse_cursor.ResizeEW:
 */
    break;
    case __pyx_e_9dearcygui_4core_ResizeEW:

    /* "EnumTypeToPy":20
 *         return __pyx_enum.ResizeNS
 *     elif c_val == mouse_cursor.ResizeEW:
 *         return __pyx_enum.ResizeEW             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.ResizeNESW:
 *         return __pyx_enum.ResizeNESW
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ResizeEW); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 20, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":19
 *     elif c_val == mouse_cursor.ResizeNS:
 *         return __pyx_enum.ResizeNS
 *     elif c_val == mouse_cursor.ResizeEW:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.ResizeEW
 *     elif c_val == mouse_cursor.ResizeNESW:
 */
    break;
    case __pyx_e_9dearcygui_4core_ResizeNESW:

    /* "EnumTypeToPy":22
 *         return __pyx_enum.ResizeEW
 *     elif c_val == mouse_cursor.ResizeNESW:
 *         return __pyx_enum.ResizeNESW             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.ResizeNWSE:
 *         return __pyx_enum.ResizeNWSE
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ResizeNESW); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":21
 *     elif c_val == mouse_cursor.ResizeEW:
 *         return __pyx_enum.ResizeEW
 *     elif c_val == mouse_cursor.ResizeNESW:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.ResizeNESW
 *     elif c_val == mouse_cursor.ResizeNWSE:
 */
    break;
    case __pyx_e_9dearcygui_4core_ResizeNWSE:

    /* "EnumTypeToPy":24
 *         return __pyx_enum.ResizeNESW
 *     elif c_val == mouse_cursor.ResizeNWSE:
 *         return __pyx_enum.ResizeNWSE             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.Hand:
 *         return __pyx_enum.Hand
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ResizeNWSE); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 24, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":23
 *     elif c_val == mouse_cursor.ResizeNESW:
 *         return __pyx_enum.ResizeNESW
 *     elif c_val == mouse_cursor.ResizeNWSE:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.ResizeNWSE
 *     elif c_val == mouse_cursor.Hand:
 */
    break;
    case __pyx_e_9dearcygui_4core_Hand:

    /* "EnumTypeToPy":26
 *         return __pyx_enum.ResizeNWSE
 *     elif c_val == mouse_cursor.Hand:
 *         return __pyx_enum.Hand             # <<<<<<<<<<<<<<
 *     elif c_val == mouse_cursor.NotAllowed:
 *         return __pyx_enum.NotAllowed
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_Hand); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 26, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":25
 *     elif c_val == mouse_cursor.ResizeNWSE:
 *         return __pyx_enum.ResizeNWSE
 *     elif c_val == mouse_cursor.Hand:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.Hand
 *     elif c_val == mouse_cursor.NotAllowed:
 */
    break;
    case __pyx_e_9dearcygui_4core_NotAllowed:

    /* "EnumTypeToPy":28
 *         return __pyx_enum.Hand
 *     elif c_val == mouse_cursor.NotAllowed:
 *         return __pyx_enum.NotAllowed             # <<<<<<<<<<<<<<
 *     else:
 *         underlying_c_val = <int>c_val
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_NotAllowed); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":27
 *     elif c_val == mouse_cursor.Hand:
 *         return __pyx_enum.Hand
 *     elif c_val == mouse_cursor.NotAllowed:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.NotAllowed
 *     else:
 */
    break;
    default:

    /* "EnumTypeToPy":30
 *         return __pyx_enum.NotAllowed
 *     else:
 *         underlying_c_val = <int>c_val             # <<<<<<<<<<<<<<
 *         return __pyx_enum(underlying_c_val)
 * 
 */
    __pyx_v_underlying_c_val = ((int)__pyx_v_c_val);

    /* "EnumTypeToPy":31
 *     else:
 *         underlying_c_val = <int>c_val
 *         return __pyx_enum(underlying_c_val)             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 31, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v___pyx_enum);
    __pyx_t_3 = __pyx_v___pyx_enum; __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 31, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
    break;
  }

  /* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py")
 * cdef __Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(mouse_cursor c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = mouse_cursor
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("EnumTypeToPy.__Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_enum);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_double")
 * cdef inline list __Pyx_carray_to_py_double(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_double(double *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_double", 1);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyList_CheckExact(__pyx_v_l))||((__pyx_v_l) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_v_l))) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = ((PyObject*)__pyx_v_l);
  goto __pyx_L0;

  /* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_double")
 * cdef inline list __Pyx_carray_to_py_double(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_double")
 * cdef inline tuple __Pyx_carray_to_tuple_double(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_double(double *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_double", 1);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyTuple_CheckExact(__pyx_v_t))||((__pyx_v_t) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_t))) __PYX_ERR(2, 134, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = ((PyObject*)__pyx_v_t);
  goto __pyx_L0;

  /* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_double")
 * cdef inline tuple __Pyx_carray_to_tuple_double(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_bint")
 * cdef inline list __Pyx_carray_to_py_bint(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_bint(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_bint", 1);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyList_CheckExact(__pyx_v_l))||((__pyx_v_l) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_v_l))) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = ((PyObject*)__pyx_v_l);
  goto __pyx_L0;

  /* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_bint")
 * cdef inline list __Pyx_carray_to_py_bint(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_bint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_bint")
 * cdef inline tuple __Pyx_carray_to_tuple_bint(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_bint(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_bint", 1);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyTuple_CheckExact(__pyx_v_t))||((__pyx_v_t) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_t))) __PYX_ERR(2, 134, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = ((PyObject*)__pyx_v_t);
  goto __pyx_L0;

  /* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_bint")
 * cdef inline tuple __Pyx_carray_to_tuple_bint(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_bint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_float")
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_float", 1);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyList_CheckExact(__pyx_v_l))||((__pyx_v_l) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_v_l))) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = ((PyObject*)__pyx_v_l);
  goto __pyx_L0;

  /* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_float")
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_float")
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_float", 1);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyTuple_CheckExact(__pyx_v_t))||((__pyx_v_t) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_t))) __PYX_ERR(2, 134, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = ((PyObject*)__pyx_v_t);
  goto __pyx_L0;

  /* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_float")
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_int")
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_int", 1);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyList_CheckExact(__pyx_v_l))||((__pyx_v_l) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_v_l))) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = ((PyObject*)__pyx_v_l);
  goto __pyx_L0;

  /* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_int")
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_int")
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_int", 1);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyTuple_CheckExact(__pyx_v_t))||((__pyx_v_t) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_t))) __PYX_ERR(2, 134, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = ((PyObject*)__pyx_v_t);
  goto __pyx_L0;

  /* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_int")
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(positioning c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = positioning
 */

static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(enum __pyx_t_9dearcygui_4core_positioning __pyx_v_c_val) {
  PyObject *__pyx_v___pyx_enum = 0;
  int __pyx_v_underlying_c_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py", 1);

  /* "EnumTypeToPy":5
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(positioning c_val):
 *     cdef object __pyx_enum
 *     __pyx_enum = positioning             # <<<<<<<<<<<<<<
 * 
 *     if 0:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_positioning); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v___pyx_enum = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumTypeToPy":7
 *     __pyx_enum = positioning
 * 
 *     if 0:             # <<<<<<<<<<<<<<
 *         pass
 *     elif c_val == positioning.DEFAULT:
 */
  switch (__pyx_v_c_val) {
    case __pyx_e_9dearcygui_4core_DEFAULT:

    /* "EnumTypeToPy":10
 *         pass
 *     elif c_val == positioning.DEFAULT:
 *         return __pyx_enum.DEFAULT             # <<<<<<<<<<<<<<
 *     elif c_val == positioning.REL_DEFAULT:
 *         return __pyx_enum.REL_DEFAULT
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_DEFAULT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == positioning.DEFAULT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.DEFAULT
 *     elif c_val == positioning.REL_DEFAULT:
 */
    break;
    case __pyx_e_9dearcygui_4core_REL_DEFAULT:

    /* "EnumTypeToPy":12
 *         return __pyx_enum.DEFAULT
 *     elif c_val == positioning.REL_DEFAULT:
 *         return __pyx_enum.REL_DEFAULT             # <<<<<<<<<<<<<<
 *     elif c_val == positioning.REL_PARENT:
 *         return __pyx_enum.REL_PARENT
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_REL_DEFAULT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":11
 *     elif c_val == positioning.DEFAULT:
 *         return __pyx_enum.DEFAULT
 *     elif c_val == positioning.REL_DEFAULT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.REL_DEFAULT
 *     elif c_val == positioning.REL_PARENT:
 */
    break;
    case __pyx_e_9dearcygui_4core_REL_PARENT:

    /* "EnumTypeToPy":14
 *         return __pyx_enum.REL_DEFAULT
 *     elif c_val == positioning.REL_PARENT:
 *         return __pyx_enum.REL_PARENT             # <<<<<<<<<<<<<<
 *     elif c_val == positioning.REL_WINDOW:
 *         return __pyx_enum.REL_WINDOW
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_REL_PARENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":13
 *     elif c_val == positioning.REL_DEFAULT:
 *         return __pyx_enum.REL_DEFAULT
 *     elif c_val == positioning.REL_PARENT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.REL_PARENT
 *     elif c_val == positioning.REL_WINDOW:
 */
    break;
    case __pyx_e_9dearcygui_4core_REL_WINDOW:

    /* "EnumTypeToPy":16
 *         return __pyx_enum.REL_PARENT
 *     elif c_val == positioning.REL_WINDOW:
 *         return __pyx_enum.REL_WINDOW             # <<<<<<<<<<<<<<
 *     elif c_val == positioning.REL_VIEWPORT:
 *         return __pyx_enum.REL_VIEWPORT
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_REL_WINDOW); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":15
 *     elif c_val == positioning.REL_PARENT:
 *         return __pyx_enum.REL_PARENT
 *     elif c_val == positioning.REL_WINDOW:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.REL_WINDOW
 *     elif c_val == positioning.REL_VIEWPORT:
 */
    break;
    case __pyx_e_9dearcygui_4core_REL_VIEWPORT:

    /* "EnumTypeToPy":18
 *         return __pyx_enum.REL_WINDOW
 *     elif c_val == positioning.REL_VIEWPORT:
 *         return __pyx_enum.REL_VIEWPORT             # <<<<<<<<<<<<<<
 *     else:
 *         underlying_c_val = <int>c_val
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_REL_VIEWPORT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":17
 *     elif c_val == positioning.REL_WINDOW:
 *         return __pyx_enum.REL_WINDOW
 *     elif c_val == positioning.REL_VIEWPORT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.REL_VIEWPORT
 *     else:
 */
    break;
    default:

    /* "EnumTypeToPy":20
 *         return __pyx_enum.REL_VIEWPORT
 *     else:
 *         underlying_c_val = <int>c_val             # <<<<<<<<<<<<<<
 *         return __pyx_enum(underlying_c_val)
 * 
 */
    __pyx_v_underlying_c_val = ((int)__pyx_v_c_val);

    /* "EnumTypeToPy":21
 *     else:
 *         underlying_c_val = <int>c_val
 *         return __pyx_enum(underlying_c_val)             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 21, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v___pyx_enum);
    __pyx_t_3 = __pyx_v___pyx_enum; __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 21, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
    break;
  }

  /* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(positioning c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = positioning
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("EnumTypeToPy.__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_enum);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning")
 * cdef inline list __Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning", 1);

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 *     return l             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyList_CheckExact(__pyx_v_l))||((__pyx_v_l) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_v_l))) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_l);
  __pyx_r = ((PyObject*)__pyx_v_l);
  goto __pyx_L0;

  /* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning")
 * cdef inline list __Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning")
 * cdef inline tuple __Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning", 1);

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  if (!(likely(PyTuple_CheckExact(__pyx_v_t))||((__pyx_v_t) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v_t))) __PYX_ERR(2, 134, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_t);
  __pyx_r = ((PyObject*)__pyx_v_t);
  goto __pyx_L0;

  /* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning")
 * cdef inline tuple __Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("carray.to_py.__Pyx_carray_to_tuple_enum____pyx_t_9dearcygui_4core_positioning", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_t);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(alignment c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = alignment
 */

static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(enum __pyx_t_9dearcygui_4core_alignment __pyx_v_c_val) {
  PyObject *__pyx_v___pyx_enum = 0;
  int __pyx_v_underlying_c_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py", 1);

  /* "EnumTypeToPy":5
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(alignment c_val):
 *     cdef object __pyx_enum
 *     __pyx_enum = alignment             # <<<<<<<<<<<<<<
 * 
 *     if 0:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_alignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v___pyx_enum = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == alignment.LEFT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.LEFT
 *     elif c_val == alignment.TOP:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_LEFT);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":10
 *         pass
 *     elif c_val == alignment.LEFT:
 *         return __pyx_enum.LEFT             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.TOP:
 *         return __pyx_enum.TOP
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_LEFT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == alignment.LEFT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.LEFT
 *     elif c_val == alignment.TOP:
 */
  }

  /* "EnumTypeToPy":11
 *     elif c_val == alignment.LEFT:
 *         return __pyx_enum.LEFT
 *     elif c_val == alignment.TOP:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.TOP
 *     elif c_val == alignment.RIGHT:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_TOP);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":12
 *         return __pyx_enum.LEFT
 *     elif c_val == alignment.TOP:
 *         return __pyx_enum.TOP             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.RIGHT:
 *         return __pyx_enum.RIGHT
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_TOP); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":11
 *     elif c_val == alignment.LEFT:
 *         return __pyx_enum.LEFT
 *     elif c_val == alignment.TOP:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.TOP
 *     elif c_val == alignment.RIGHT:
 */
  }

  /* "EnumTypeToPy":13
 *     elif c_val == alignment.TOP:
 *         return __pyx_enum.TOP
 *     elif c_val == alignment.RIGHT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.RIGHT
 *     elif c_val == alignment.BOTTOM:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_RIGHT);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":14
 *         return __pyx_enum.TOP
 *     elif c_val == alignment.RIGHT:
 *         return __pyx_enum.RIGHT             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.BOTTOM:
 *         return __pyx_enum.BOTTOM
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_RIGHT); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":13
 *     elif c_val == alignment.TOP:
 *         return __pyx_enum.TOP
 *     elif c_val == alignment.RIGHT:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.RIGHT
 *     elif c_val == alignment.BOTTOM:
 */
  }

  /* "EnumTypeToPy":15
 *     elif c_val == alignment.RIGHT:
 *         return __pyx_enum.RIGHT
 *     elif c_val == alignment.BOTTOM:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.BOTTOM
 *     elif c_val == alignment.CENTER:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_BOTTOM);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":16
 *         return __pyx_enum.RIGHT
 *     elif c_val == alignment.BOTTOM:
 *         return __pyx_enum.BOTTOM             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.CENTER:
 *         return __pyx_enum.CENTER
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_BOTTOM); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":15
 *     elif c_val == alignment.RIGHT:
 *         return __pyx_enum.RIGHT
 *     elif c_val == alignment.BOTTOM:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.BOTTOM
 *     elif c_val == alignment.CENTER:
 */
  }

  /* "EnumTypeToPy":17
 *     elif c_val == alignment.BOTTOM:
 *         return __pyx_enum.BOTTOM
 *     elif c_val == alignment.CENTER:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.CENTER
 *     elif c_val == alignment.JUSTIFIED:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_CENTER);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":18
 *         return __pyx_enum.BOTTOM
 *     elif c_val == alignment.CENTER:
 *         return __pyx_enum.CENTER             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.JUSTIFIED:
 *         return __pyx_enum.JUSTIFIED
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_CENTER); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":17
 *     elif c_val == alignment.BOTTOM:
 *         return __pyx_enum.BOTTOM
 *     elif c_val == alignment.CENTER:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.CENTER
 *     elif c_val == alignment.JUSTIFIED:
 */
  }

  /* "EnumTypeToPy":19
 *     elif c_val == alignment.CENTER:
 *         return __pyx_enum.CENTER
 *     elif c_val == alignment.JUSTIFIED:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.JUSTIFIED
 *     elif c_val == alignment.MANUAL:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_JUSTIFIED);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":20
 *         return __pyx_enum.CENTER
 *     elif c_val == alignment.JUSTIFIED:
 *         return __pyx_enum.JUSTIFIED             # <<<<<<<<<<<<<<
 *     elif c_val == alignment.MANUAL:
 *         return __pyx_enum.MANUAL
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_JUSTIFIED); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 20, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":19
 *     elif c_val == alignment.CENTER:
 *         return __pyx_enum.CENTER
 *     elif c_val == alignment.JUSTIFIED:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.JUSTIFIED
 *     elif c_val == alignment.MANUAL:
 */
  }

  /* "EnumTypeToPy":21
 *     elif c_val == alignment.JUSTIFIED:
 *         return __pyx_enum.JUSTIFIED
 *     elif c_val == alignment.MANUAL:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.MANUAL
 *     else:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_MANUAL);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":22
 *         return __pyx_enum.JUSTIFIED
 *     elif c_val == alignment.MANUAL:
 *         return __pyx_enum.MANUAL             # <<<<<<<<<<<<<<
 *     else:
 *         underlying_c_val = <int>c_val
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_MANUAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":21
 *     elif c_val == alignment.JUSTIFIED:
 *         return __pyx_enum.JUSTIFIED
 *     elif c_val == alignment.MANUAL:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.MANUAL
 *     else:
 */
  }

  /* "EnumTypeToPy":24
 *         return __pyx_enum.MANUAL
 *     else:
 *         underlying_c_val = <int>c_val             # <<<<<<<<<<<<<<
 *         return __pyx_enum(underlying_c_val)
 * 
 */
  /*else*/ {
    __pyx_v_underlying_c_val = ((int)__pyx_v_c_val);

    /* "EnumTypeToPy":25
 *     else:
 *         underlying_c_val = <int>c_val
 *         return __pyx_enum(underlying_c_val)             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 25, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v___pyx_enum);
    __pyx_t_4 = __pyx_v___pyx_enum; __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 25, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(alignment c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = alignment
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("EnumTypeToPy.__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_enum);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":66
 * 
 * @cname("__pyx_convert_vector_to_py_float")
 * cdef object __pyx_convert_vector_to_py_float(const vector[X]& v):             # <<<<<<<<<<<<<<
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:
 *         raise MemoryError()
 */

static PyObject *__pyx_convert_vector_to_py_float(std::vector<float>  const &__pyx_v_v) {
  Py_ssize_t __pyx_v_v_size_signed;
  PyObject *__pyx_v_o = NULL;
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_item = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_float", 1);

  /* "vector.to_py":67
 * @cname("__pyx_convert_vector_to_py_float")
 * cdef object __pyx_convert_vector_to_py_float(const vector[X]& v):
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:             # <<<<<<<<<<<<<<
 *         raise MemoryError()
 *     v_size_signed = <Py_ssize_t> v.size()
 */
  __pyx_t_1 = (__pyx_v_v.size() > ((size_t)PY_SSIZE_T_MAX));
  if (unlikely(__pyx_t_1)) {

    /* "vector.to_py":68
 * cdef object __pyx_convert_vector_to_py_float(const vector[X]& v):
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:
 *         raise MemoryError()             # <<<<<<<<<<<<<<
 *     v_size_signed = <Py_ssize_t> v.size()
 * 
 */
    PyErr_NoMemory(); __PYX_ERR(2, 68, __pyx_L1_error)

    /* "vector.to_py":67
 * @cname("__pyx_convert_vector_to_py_float")
 * cdef object __pyx_convert_vector_to_py_float(const vector[X]& v):
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:             # <<<<<<<<<<<<<<
 *         raise MemoryError()
 *     v_size_signed = <Py_ssize_t> v.size()
 */
  }

  /* "vector.to_py":69
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:
 *         raise MemoryError()
 *     v_size_signed = <Py_ssize_t> v.size()             # <<<<<<<<<<<<<<
 * 
 *     o = PyList_New(v_size_signed)
 */
  __pyx_v_v_size_signed = ((Py_ssize_t)__pyx_v_v.size());

  /* "vector.to_py":71
 *     v_size_signed = <Py_ssize_t> v.size()
 * 
 *     o = PyList_New(v_size_signed)             # <<<<<<<<<<<<<<
 * 
 *     cdef Py_ssize_t i
 */
  __pyx_t_2 = PyList_New(__pyx_v_v_size_signed); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_o = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "vector.to_py":76
 *     cdef object item
 * 
 *     for i in range(v_size_signed):             # <<<<<<<<<<<<<<
 *         item = v[i]
 *         Py_INCREF(item)
 */
  __pyx_t_3 = __pyx_v_v_size_signed;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "vector.to_py":77
 * 
 *     for i in range(v_size_signed):
 *         item = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(item)
 *         PyList_SET_ITEM(o, i, item)
 */
    __pyx_t_2 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "vector.to_py":78
 *     for i in range(v_size_signed):
 *         item = v[i]
 *         Py_INCREF(item)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(o, i, item)
 * 
 */
    Py_INCREF(__pyx_v_item);

    /* "vector.to_py":79
 *         item = v[i]
 *         Py_INCREF(item)
 *         PyList_SET_ITEM(o, i, item)             # <<<<<<<<<<<<<<
 * 
 *     return o
 */
    PyList_SET_ITEM(__pyx_v_o, __pyx_v_i, __pyx_v_item);
  }

  /* "vector.to_py":81
 *         PyList_SET_ITEM(o, i, item)
 * 
 *     return o             # <<<<<<<<<<<<<<
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "vector.to_py":66
 * 
 * @cname("__pyx_convert_vector_to_py_float")
 * cdef object __pyx_convert_vector_to_py_float(const vector[X]& v):             # <<<<<<<<<<<<<<
 *     if v.size() > <size_t> PY_SSIZE_T_MAX:
 *         raise MemoryError()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(AxisScale c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = AxisScale
 */

static PyObject *__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(enum __pyx_t_9dearcygui_4core_AxisScale __pyx_v_c_val) {
  PyObject *__pyx_v___pyx_enum = 0;
  int __pyx_v_underlying_c_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py", 1);

  /* "EnumTypeToPy":5
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(AxisScale c_val):
 *     cdef object __pyx_enum
 *     __pyx_enum = AxisScale             # <<<<<<<<<<<<<<
 * 
 *     if 0:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v___pyx_enum = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumTypeToPy":7
 *     __pyx_enum = AxisScale
 * 
 *     if 0:             # <<<<<<<<<<<<<<
 *         pass
 *     elif c_val == AxisScale.linear:
 */
  switch (__pyx_v_c_val) {
    case __pyx_e_9dearcygui_4core_linear:

    /* "EnumTypeToPy":10
 *         pass
 *     elif c_val == AxisScale.linear:
 *         return __pyx_enum.linear             # <<<<<<<<<<<<<<
 *     elif c_val == AxisScale.time:
 *         return __pyx_enum.time
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_linear); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == AxisScale.linear:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.linear
 *     elif c_val == AxisScale.time:
 */
    break;
    case __pyx_e_9dearcygui_4core_time:

    /* "EnumTypeToPy":12
 *         return __pyx_enum.linear
 *     elif c_val == AxisScale.time:
 *         return __pyx_enum.time             # <<<<<<<<<<<<<<
 *     elif c_val == AxisScale.log10:
 *         return __pyx_enum.log10
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":11
 *     elif c_val == AxisScale.linear:
 *         return __pyx_enum.linear
 *     elif c_val == AxisScale.time:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.time
 *     elif c_val == AxisScale.log10:
 */
    break;
    case __pyx_e_9dearcygui_4core_log10:

    /* "EnumTypeToPy":14
 *         return __pyx_enum.time
 *     elif c_val == AxisScale.log10:
 *         return __pyx_enum.log10             # <<<<<<<<<<<<<<
 *     elif c_val == AxisScale.symlog:
 *         return __pyx_enum.symlog
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_log10); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":13
 *     elif c_val == AxisScale.time:
 *         return __pyx_enum.time
 *     elif c_val == AxisScale.log10:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.log10
 *     elif c_val == AxisScale.symlog:
 */
    break;
    case __pyx_e_9dearcygui_4core_symlog:

    /* "EnumTypeToPy":16
 *         return __pyx_enum.log10
 *     elif c_val == AxisScale.symlog:
 *         return __pyx_enum.symlog             # <<<<<<<<<<<<<<
 *     else:
 *         underlying_c_val = <int>c_val
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_symlog); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":15
 *     elif c_val == AxisScale.log10:
 *         return __pyx_enum.log10
 *     elif c_val == AxisScale.symlog:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.symlog
 *     else:
 */
    break;
    default:

    /* "EnumTypeToPy":18
 *         return __pyx_enum.symlog
 *     else:
 *         underlying_c_val = <int>c_val             # <<<<<<<<<<<<<<
 *         return __pyx_enum(underlying_c_val)
 * 
 */
    __pyx_v_underlying_c_val = ((int)__pyx_v_c_val);

    /* "EnumTypeToPy":19
 *     else:
 *         underlying_c_val = <int>c_val
 *         return __pyx_enum(underlying_c_val)             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 19, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v___pyx_enum);
    __pyx_t_3 = __pyx_v___pyx_enum; __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 19, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
    break;
  }

  /* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py")
 * cdef __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(AxisScale c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = AxisScale
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("EnumTypeToPy.__Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_enum);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(enum __pyx_t_9dearcygui_4core_LegendLocation __pyx_v_c_val) {
  PyObject *__pyx_v___pyx_enum = 0;
  int __pyx_v_underlying_c_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py", 1);

  /* "EnumTypeToPy":5
 * cdef __Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(LegendLocation c_val):
 *     cdef object __pyx_enum
 *     __pyx_enum = LegendLocation             # <<<<<<<<<<<<<<
 * 
 *     if 0:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v___pyx_enum = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == LegendLocation.center:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.center
 *     elif c_val == LegendLocation.north:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_center);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":10
 *         pass
 *     elif c_val == LegendLocation.center:
 *         return __pyx_enum.center             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.north:
 *         return __pyx_enum.north
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_center); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":9
 *     if 0:
 *         pass
 *     elif c_val == LegendLocation.center:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.center
 *     elif c_val == LegendLocation.north:
 */
  }

  /* "EnumTypeToPy":11
 *     elif c_val == LegendLocation.center:
 *         return __pyx_enum.center
 *     elif c_val == LegendLocation.north:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.north
 *     elif c_val == LegendLocation.south:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_north);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":12
 *         return __pyx_enum.center
 *     elif c_val == LegendLocation.north:
 *         return __pyx_enum.north             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.south:
 *         return __pyx_enum.south
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_north); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":11
 *     elif c_val == LegendLocation.center:
 *         return __pyx_enum.center
 *     elif c_val == LegendLocation.north:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.north
 *     elif c_val == LegendLocation.south:
 */
  }

  /* "EnumTypeToPy":13
 *     elif c_val == LegendLocation.north:
 *         return __pyx_enum.north
 *     elif c_val == LegendLocation.south:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.south
 *     elif c_val == LegendLocation.west:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_south);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":14
 *         return __pyx_enum.north
 *     elif c_val == LegendLocation.south:
 *         return __pyx_enum.south             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.west:
 *         return __pyx_enum.west
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_south); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":13
 *     elif c_val == LegendLocation.north:
 *         return __pyx_enum.north
 *     elif c_val == LegendLocation.south:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.south
 *     elif c_val == LegendLocation.west:
 */
  }

  /* "EnumTypeToPy":15
 *     elif c_val == LegendLocation.south:
 *         return __pyx_enum.south
 *     elif c_val == LegendLocation.west:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.west
 *     elif c_val == LegendLocation.east:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_west);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":16
 *         return __pyx_enum.south
 *     elif c_val == LegendLocation.west:
 *         return __pyx_enum.west             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.east:
 *         return __pyx_enum.east
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_west); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":15
 *     elif c_val == LegendLocation.south:
 *         return __pyx_enum.south
 *     elif c_val == LegendLocation.west:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.west
 *     elif c_val == LegendLocation.east:
 */
  }

  /* "EnumTypeToPy":17
 *     elif c_val == LegendLocation.west:
 *         return __pyx_enum.west
 *     elif c_val == LegendLocation.east:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.east
 *     elif c_val == LegendLocation.northwest:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_east);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":18
 *         return __pyx_enum.west
 *     elif c_val == LegendLocation.east:
 *         return __pyx_enum.east             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.northwest:
 *         return __pyx_enum.northwest
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_east); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":17
 *     elif c_val == LegendLocation.west:
 *         return __pyx_enum.west
 *     elif c_val == LegendLocation.east:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.east
 *     elif c_val == LegendLocation.northwest:
 */
  }

  /* "EnumTypeToPy":19
 *     elif c_val == LegendLocation.east:
 *         return __pyx_enum.east
 *     elif c_val == LegendLocation.northwest:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.northwest
 *     elif c_val == LegendLocation.northeast:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_northwest);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":20
 *         return __pyx_enum.east
 *     elif c_val == LegendLocation.northwest:
 *         return __pyx_enum.northwest             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.northeast:
 *         return __pyx_enum.northeast
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_northwest); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 20, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":19
 *     elif c_val == LegendLocation.east:
 *         return __pyx_enum.east
 *     elif c_val == LegendLocation.northwest:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.northwest
 *     elif c_val == LegendLocation.northeast:
 */
  }

  /* "EnumTypeToPy":21
 *     elif c_val == LegendLocation.northwest:
 *         return __pyx_enum.northwest
 *     elif c_val == LegendLocation.northeast:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.northeast
 *     elif c_val == LegendLocation.southwest:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_northeast);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":22
 *         return __pyx_enum.northwest
 *     elif c_val == LegendLocation.northeast:
 *         return __pyx_enum.northeast             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.southwest:
 *         return __pyx_enum.southwest
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_northeast); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":21
 *     elif c_val == LegendLocation.northwest:
 *         return __pyx_enum.northwest
 *     elif c_val == LegendLocation.northeast:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.northeast
 *     elif c_val == LegendLocation.southwest:
 */
  }

  /* "EnumTypeToPy":23
 *     elif c_val == LegendLocation.northeast:
 *         return __pyx_enum.northeast
 *     elif c_val == LegendLocation.southwest:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.southwest
 *     elif c_val == LegendLocation.southeast:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_southwest);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":24
 *         return __pyx_enum.northeast
 *     elif c_val == LegendLocation.southwest:
 *         return __pyx_enum.southwest             # <<<<<<<<<<<<<<
 *     elif c_val == LegendLocation.southeast:
 *         return __pyx_enum.southeast
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_southwest); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 24, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":23
 *     elif c_val == LegendLocation.northeast:
 *         return __pyx_enum.northeast
 *     elif c_val == LegendLocation.southwest:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.southwest
 *     elif c_val == LegendLocation.southeast:
 */
  }

  /* "EnumTypeToPy":25
 *     elif c_val == LegendLocation.southwest:
 *         return __pyx_enum.southwest
 *     elif c_val == LegendLocation.southeast:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.southeast
 *     else:
 */
  __pyx_t_2 = (__pyx_v_c_val == __pyx_e_9dearcygui_4core_southeast);
  if (__pyx_t_2) {

    /* "EnumTypeToPy":26
 *         return __pyx_enum.southwest
 *     elif c_val == LegendLocation.southeast:
 *         return __pyx_enum.southeast             # <<<<<<<<<<<<<<
 *     else:
 *         underlying_c_val = <int>c_val
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_southeast); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 26, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "EnumTypeToPy":25
 *     elif c_val == LegendLocation.southwest:
 *         return __pyx_enum.southwest
 *     elif c_val == LegendLocation.southeast:             # <<<<<<<<<<<<<<
 *         return __pyx_enum.southeast
 *     else:
 */
  }

  /* "EnumTypeToPy":28
 *         return __pyx_enum.southeast
 *     else:
 *         underlying_c_val = <int>c_val             # <<<<<<<<<<<<<<
 *         return __pyx_enum(underlying_c_val)
 * 
 */
  /*else*/ {
    __pyx_v_underlying_c_val = ((int)__pyx_v_c_val);

    /* "EnumTypeToPy":29
 *     else:
 *         underlying_c_val = <int>c_val
 *         return __pyx_enum(underlying_c_val)             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v___pyx_enum);
    __pyx_t_4 = __pyx_v___pyx_enum; __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 29, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* "EnumTypeToPy":3
 * 
 * @cname("__Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py")
 * cdef __Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(LegendLocation c_val):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_enum
 *     __pyx_enum = LegendLocation
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("EnumTypeToPy.__Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_enum);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":17
 * @cython.internal
 * cdef class __Pyx_EnumMeta(type):
 *     def __init__(cls, name, parents, dct):             # <<<<<<<<<<<<<<
 *         type.__init__(cls, name, parents, dct)
 *         cls.__members__ = __Pyx_OrderedDict()
 */

/* Python wrapper */
static int __pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_parents = 0;
  PyObject *__pyx_v_dct = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_parents,&__pyx_n_s_dct,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 17, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_parents)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 17, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(2, 17, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dct)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 17, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(2, 17, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(2, 17, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
      values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
    }
    __pyx_v_name = values[0];
    __pyx_v_parents = values[1];
    __pyx_v_dct = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 17, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_cls), __pyx_v_name, __pyx_v_parents, __pyx_v_dct);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name, PyObject *__pyx_v_parents, PyObject *__pyx_v_dct) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "EnumBase":18
 * cdef class __Pyx_EnumMeta(type):
 *     def __init__(cls, name, parents, dct):
 *         type.__init__(cls, name, parents, dct)             # <<<<<<<<<<<<<<
 *         cls.__members__ = __Pyx_OrderedDict()
 *     def __iter__(cls):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyType_Type)), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_3, ((PyObject *)__pyx_v_cls), __pyx_v_name, __pyx_v_parents, __pyx_v_dct};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 4+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "EnumBase":19
 *     def __init__(cls, name, parents, dct):
 *         type.__init__(cls, name, parents, dct)
 *         cls.__members__ = __Pyx_OrderedDict()             # <<<<<<<<<<<<<<
 *     def __iter__(cls):
 *         return iter(cls.__members__.values())
 */
  __Pyx_INCREF(__Pyx_OrderedDict);
  __pyx_t_2 = __Pyx_OrderedDict; __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 19, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_members, __pyx_t_1) < 0) __PYX_ERR(2, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "EnumBase":17
 * @cython.internal
 * cdef class __Pyx_EnumMeta(type):
 *     def __init__(cls, name, parents, dct):             # <<<<<<<<<<<<<<
 *         type.__init__(cls, name, parents, dct)
 *         cls.__members__ = __Pyx_OrderedDict()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":20
 *         type.__init__(cls, name, parents, dct)
 *         cls.__members__ = __Pyx_OrderedDict()
 *     def __iter__(cls):             # <<<<<<<<<<<<<<
 *         return iter(cls.__members__.values())
 *     def __getitem__(cls, name):
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__(PyObject *__pyx_v_cls); /*proto*/
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__(PyObject *__pyx_v_cls) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_cls));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__iter__", 1);

  /* "EnumBase":21
 *         cls.__members__ = __Pyx_OrderedDict()
 *     def __iter__(cls):
 *         return iter(cls.__members__.values())             # <<<<<<<<<<<<<<
 *     def __getitem__(cls, name):
 *         return cls.__members__[name]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_members); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 21, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "EnumBase":20
 *         type.__init__(cls, name, parents, dct)
 *         cls.__members__ = __Pyx_OrderedDict()
 *     def __iter__(cls):             # <<<<<<<<<<<<<<
 *         return iter(cls.__members__.values())
 *     def __getitem__(cls, name):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":22
 *     def __iter__(cls):
 *         return iter(cls.__members__.values())
 *     def __getitem__(cls, name):             # <<<<<<<<<<<<<<
 *         return cls.__members__[name]
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__(PyObject *__pyx_v_cls, PyObject *__pyx_v_name); /*proto*/
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__(PyObject *__pyx_v_cls, PyObject *__pyx_v_name) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_4__getitem__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_cls), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_4__getitem__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 1);

  /* "EnumBase":23
 *         return iter(cls.__members__.values())
 *     def __getitem__(cls, name):
 *         return cls.__members__[name]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_members); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "EnumBase":22
 *     def __iter__(cls):
 *         return iter(cls.__members__.values())
 *     def __getitem__(cls, name):             # <<<<<<<<<<<<<<
 *         return cls.__members__[name]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict)) __PYX_ERR(2, 8, __pyx_L1_error);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, None), state
 *     else:
 */
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None)) __PYX_ERR(2, 13, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(2, 13, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state)) __PYX_ERR(2, 15, __pyx_L1_error);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 16, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 16, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":17
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_unpickle___Pyx_EnumMeta__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":28
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_1__new__ = {"__new__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
    values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 28, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 28, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(2, 28, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
          if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 28, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__new__") < 0)) __PYX_ERR(2, 28, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_value = values[1];
    __pyx_v_name = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 28, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_value, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_res = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__new__", 1);

  /* "EnumBase":29
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):
 *         for v in cls:             # <<<<<<<<<<<<<<
 *             if v == value:
 *                 return v
 */
  if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
    __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 29, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 29, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(2, 29, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 29, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 29, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(2, 29, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 29, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(2, 29, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "EnumBase":30
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 *             if v == value:             # <<<<<<<<<<<<<<
 *                 return v
 *         if name is None:
 */
    __pyx_t_4 = PyObject_RichCompare(__pyx_v_v, __pyx_v_value, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 30, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 30, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_5) {

      /* "EnumBase":31
 *         for v in cls:
 *             if v == value:
 *                 return v             # <<<<<<<<<<<<<<
 *         if name is None:
 *             raise ValueError("Unknown enum value: '%s'" % value)
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_v);
      __pyx_r = __pyx_v_v;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "EnumBase":30
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 *             if v == value:             # <<<<<<<<<<<<<<
 *                 return v
 *         if name is None:
 */
    }

    /* "EnumBase":29
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):
 *         for v in cls:             # <<<<<<<<<<<<<<
 *             if v == value:
 *                 return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "EnumBase":32
 *             if v == value:
 *                 return v
 *         if name is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unknown enum value: '%s'" % value)
 *         res = int.__new__(cls, value)
 */
  __pyx_t_5 = (__pyx_v_name == Py_None);
  if (unlikely(__pyx_t_5)) {

    /* "EnumBase":33
 *                 return v
 *         if name is None:
 *             raise ValueError("Unknown enum value: '%s'" % value)             # <<<<<<<<<<<<<<
 *         res = int.__new__(cls, value)
 *         res.name = name
 */
    __pyx_t_1 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Unknown_enum_value_s, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 33, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 33, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 33, __pyx_L1_error)

    /* "EnumBase":32
 *             if v == value:
 *                 return v
 *         if name is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unknown enum value: '%s'" % value)
 *         res = int.__new__(cls, value)
 */
  }

  /* "EnumBase":34
 *         if name is None:
 *             raise ValueError("Unknown enum value: '%s'" % value)
 *         res = int.__new__(cls, value)             # <<<<<<<<<<<<<<
 *         res.name = name
 *         setattr(cls, name, res)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyInt_Type)), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 34, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_v_res = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "EnumBase":35
 *             raise ValueError("Unknown enum value: '%s'" % value)
 *         res = int.__new__(cls, value)
 *         res.name = name             # <<<<<<<<<<<<<<
 *         setattr(cls, name, res)
 *         cls.__members__[name] = res
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_res, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(2, 35, __pyx_L1_error)

  /* "EnumBase":36
 *         res = int.__new__(cls, value)
 *         res.name = name
 *         setattr(cls, name, res)             # <<<<<<<<<<<<<<
 *         cls.__members__[name] = res
 *         return res
 */
  __pyx_t_8 = PyObject_SetAttr(__pyx_v_cls, __pyx_v_name, __pyx_v_res); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 36, __pyx_L1_error)

  /* "EnumBase":37
 *         res.name = name
 *         setattr(cls, name, res)
 *         cls.__members__[name] = res             # <<<<<<<<<<<<<<
 *         return res
 *     def __repr__(self):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_members); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_v_name, __pyx_v_res) < 0))) __PYX_ERR(2, 37, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumBase":38
 *         setattr(cls, name, res)
 *         cls.__members__[name] = res
 *         return res             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_res);
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "EnumBase":28
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":39
 *         cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_3__repr__ = {"__repr__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 39, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__repr__") < 0)) __PYX_ERR(2, 39, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 39, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(__pyx_self, __pyx_v_self);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);

  /* "EnumBase":40
 *         return res
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)             # <<<<<<<<<<<<<<
 *     def __str__(self):
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(2, 40, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 40, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self);
  __Pyx_GIVEREF(__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(2, 40, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "EnumBase":39
 *         cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":41
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_5__str__ = {"__str__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 41, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__str__") < 0)) __PYX_ERR(2, 41, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 41, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(__pyx_self, __pyx_v_self);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__str__", 1);

  /* "EnumBase":42
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 *         return "%s.%s" % (self.__class__.__name__, self.name)             # <<<<<<<<<<<<<<
 * 
 * if PY_VERSION_HEX >= 0x03040000:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(2, 42, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 42, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "EnumBase":41
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":49
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_1__new__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_FlagBase_1__new__ = {"__new__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_FlagBase_1__new__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_1__new__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
    values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 49, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 49, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(2, 49, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
          if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 49, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__new__") < 0)) __PYX_ERR(2, 49, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_value = values[1];
    __pyx_v_name = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 49, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_value, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_res = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__new__", 1);

  /* "EnumBase":50
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):
 *         for v in cls:             # <<<<<<<<<<<<<<
 *             if v == value:
 *                 return v
 */
  if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
    __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 50, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 50, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 50, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(2, 50, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 50, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 50, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(2, 50, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 50, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(2, 50, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "EnumBase":51
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 *             if v == value:             # <<<<<<<<<<<<<<
 *                 return v
 *         res = int.__new__(cls, value)
 */
    __pyx_t_4 = PyObject_RichCompare(__pyx_v_v, __pyx_v_value, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 51, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 51, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_5) {

      /* "EnumBase":52
 *         for v in cls:
 *             if v == value:
 *                 return v             # <<<<<<<<<<<<<<
 *         res = int.__new__(cls, value)
 *         if name is None:
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_v);
      __pyx_r = __pyx_v_v;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "EnumBase":51
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 *             if v == value:             # <<<<<<<<<<<<<<
 *                 return v
 *         res = int.__new__(cls, value)
 */
    }

    /* "EnumBase":50
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):
 *         for v in cls:             # <<<<<<<<<<<<<<
 *             if v == value:
 *                 return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "EnumBase":53
 *             if v == value:
 *                 return v
 *         res = int.__new__(cls, value)             # <<<<<<<<<<<<<<
 *         if name is None:
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyInt_Type)), __pyx_n_s_new); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_v_res = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "EnumBase":54
 *                 return v
 *         res = int.__new__(cls, value)
 *         if name is None:             # <<<<<<<<<<<<<<
 * 
 *             res.name = ""
 */
  __pyx_t_5 = (__pyx_v_name == Py_None);
  if (__pyx_t_5) {

    /* "EnumBase":56
 *         if name is None:
 * 
 *             res.name = ""             # <<<<<<<<<<<<<<
 *         else:
 *             res.name = name
 */
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_res, __pyx_n_s_name, __pyx_kp_s_) < 0) __PYX_ERR(2, 56, __pyx_L1_error)

    /* "EnumBase":54
 *                 return v
 *         res = int.__new__(cls, value)
 *         if name is None:             # <<<<<<<<<<<<<<
 * 
 *             res.name = ""
 */
    goto __pyx_L7;
  }

  /* "EnumBase":58
 *             res.name = ""
 *         else:
 *             res.name = name             # <<<<<<<<<<<<<<
 *             setattr(cls, name, res)
 *             cls.__members__[name] = res
 */
  /*else*/ {
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_res, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(2, 58, __pyx_L1_error)

    /* "EnumBase":59
 *         else:
 *             res.name = name
 *             setattr(cls, name, res)             # <<<<<<<<<<<<<<
 *             cls.__members__[name] = res
 *         return res
 */
    __pyx_t_8 = PyObject_SetAttr(__pyx_v_cls, __pyx_v_name, __pyx_v_res); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 59, __pyx_L1_error)

    /* "EnumBase":60
 *             res.name = name
 *             setattr(cls, name, res)
 *             cls.__members__[name] = res             # <<<<<<<<<<<<<<
 *         return res
 *     def __repr__(self):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_members); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_name, __pyx_v_res) < 0))) __PYX_ERR(2, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L7:;

  /* "EnumBase":61
 *             setattr(cls, name, res)
 *             cls.__members__[name] = res
 *         return res             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_res);
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "EnumBase":49
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":62
 *             cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_3__repr__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__ = {"__repr__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_FlagBase_3__repr__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_3__repr__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 62, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__repr__") < 0)) __PYX_ERR(2, 62, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 62, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(__pyx_self, __pyx_v_self);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);

  /* "EnumBase":63
 *         return res
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)             # <<<<<<<<<<<<<<
 *     def __str__(self):
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(2, 63, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 63, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self);
  __Pyx_GIVEREF(__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(2, 63, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "EnumBase":62
 *             cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "EnumBase":64
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_5__str__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__ = {"__str__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_FlagBase_5__str__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_14__Pyx_FlagBase_5__str__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 64, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__str__") < 0)) __PYX_ERR(2, 64, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 64, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(__pyx_self, __pyx_v_self);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__str__", 1);

  /* "EnumBase":65
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 *         return "%s.%s" % (self.__class__.__name__, self.name)             # <<<<<<<<<<<<<<
 * 
 * if PY_VERSION_HEX >= 0x03060000:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(2, 65, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "EnumBase":64
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta = {"__pyx_unpickle___Pyx_EnumMeta", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__pyx_unpickle___Pyx_EnumMeta") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 1, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("EnumBase.__pyx_unpickle___Pyx_EnumMeta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta", 1);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0xe3b0c44, 0xda39a3e, 0xd41d8cd):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 */
  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__2, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0xe3b0c44, 0xda39a3e, 0xd41d8cd):
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(2, 5, __pyx_L1_error);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v___pyx_PickleError = __pyx_t_1;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum not in (0xe3b0c44, 0xda39a3e, 0xd41d8cd):
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum             # <<<<<<<<<<<<<<
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_v___pyx_PickleError, __pyx_t_1, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0xe3b0c44, 0xda39a3e, 0xd41d8cd):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype___Pyx_EnumMeta), __pyx_n_s_new); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_v___pyx_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_2 = (__pyx_v___pyx_state != Py_None);
  if (__pyx_t_2) {

    /* "(tree fragment)":9
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 9, __pyx_L1_error)
    __pyx_t_1 = __pyx_unpickle___Pyx_EnumMeta__set_state(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 *     __pyx_result = __Pyx_EnumMeta.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("EnumBase.__pyx_unpickle___Pyx_EnumMeta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx_EnumMeta *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta__set_state", 1);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(2, 12, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_2 > 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_update); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 13, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = NULL;
    __pyx_t_8 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
        __pyx_t_8 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle___Pyx_EnumMeta__set_state(<__Pyx_EnumMeta> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle___Pyx_EnumMeta__set_state(__Pyx_EnumMeta __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("EnumBase.__pyx_unpickle___Pyx_EnumMeta__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":131
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
 */

/* Python wrapper */
static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shape = 0;
  Py_ssize_t __pyx_v_itemsize;
  PyObject *__pyx_v_format = 0;
  PyObject *__pyx_v_mode = 0;
  int __pyx_v_allocate_buffer;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shape,&__pyx_n_s_itemsize,&__pyx_n_s_format,&__pyx_n_s_mode,&__pyx_n_s_allocate_buffer,0};
    values[3] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)__pyx_n_s_c));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_VARARGS(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_VARARGS(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_shape)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_itemsize)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 1); __PYX_ERR(2, 131, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_format)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 2); __PYX_ERR(2, 131, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mode);
          if (value) { values[3] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_allocate_buffer);
          if (value) { values[4] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(2, 131, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_VARARGS(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_VARARGS(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_shape = ((PyObject*)values[0]);
    __pyx_v_itemsize = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_itemsize == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 131, __pyx_L3_error)
    __pyx_v_format = values[2];
    __pyx_v_mode = values[3];
    if (values[4]) {
      __pyx_v_allocate_buffer = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_allocate_buffer == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 132, __pyx_L3_error)
    } else {

      /* "View.MemoryView":132
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,
 *                   mode="c", bint allocate_buffer=True):             # <<<<<<<<<<<<<<
 * 
 *         cdef int idx
 */
      __pyx_v_allocate_buffer = ((int)1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, __pyx_nargs); __PYX_ERR(2, 131, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) __PYX_ERR(2, 131, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(2, 131, __pyx_L1_error)
  }
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(((struct __pyx_array_obj *)__pyx_v_self), __pyx_v_shape, __pyx_v_itemsize, __pyx_v_format, __pyx_v_mode, __pyx_v_allocate_buffer);

  /* "View.MemoryView":131
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer) {
  int __pyx_v_idx;
  Py_ssize_t __pyx_v_dim;
  char __pyx_v_order;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  char *__pyx_t_8;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  Py_UCS4 __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_INCREF(__pyx_v_format);

  /* "View.MemoryView":137
 *         cdef Py_ssize_t dim
 * 
 *         self.ndim = <int> len(shape)             # <<<<<<<<<<<<<<
 *         self.itemsize = itemsize
 * 
 */
  if (unlikely(__pyx_v_shape == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(2, 137, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 137, __pyx_L1_error)
  __pyx_v_self->ndim = ((int)__pyx_t_1);

  /* "View.MemoryView":138
 * 
 *         self.ndim = <int> len(shape)
 *         self.itemsize = itemsize             # <<<<<<<<<<<<<<
 * 
 *         if not self.ndim:
 */
  __pyx_v_self->itemsize = __pyx_v_itemsize;

  /* "View.MemoryView":140
 *         self.itemsize = itemsize
 * 
 *         if not self.ndim:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 */
  __pyx_t_2 = (!(__pyx_v_self->ndim != 0));
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":141
 * 
 *         if not self.ndim:
 *             raise ValueError, "Empty shape tuple for cython.array"             # <<<<<<<<<<<<<<
 * 
 *         if itemsize <= 0:
 */
    __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Empty_shape_tuple_for_cython_arr, 0, 0);
    __PYX_ERR(2, 141, __pyx_L1_error)

    /* "View.MemoryView":140
 *         self.itemsize = itemsize
 * 
 *         if not self.ndim:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 */
  }

  /* "View.MemoryView":143
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 *         if itemsize <= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 */
  __pyx_t_2 = (__pyx_v_itemsize <= 0);
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":144
 * 
 *         if itemsize <= 0:
 *             raise ValueError, "itemsize <= 0 for cython.array"             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(format, bytes):
 */
    __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_itemsize_0_for_cython_array, 0, 0);
    __PYX_ERR(2, 144, __pyx_L1_error)

    /* "View.MemoryView":143
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 *         if itemsize <= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 */
  }

  /* "View.MemoryView":146
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 *         if not isinstance(format, bytes):             # <<<<<<<<<<<<<<
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
 */
  __pyx_t_2 = PyBytes_Check(__pyx_v_format); 
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "View.MemoryView":147
 * 
 *         if not isinstance(format, bytes):
 *             format = format.encode('ASCII')             # <<<<<<<<<<<<<<
 *         self._format = format  # keep a reference to the byte string
 *         self.format = self._format
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_7 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_n_s_ASCII};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "View.MemoryView":146
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 *         if not isinstance(format, bytes):             # <<<<<<<<<<<<<<
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
 */
  }

  /* "View.MemoryView":148
 *         if not isinstance(format, bytes):
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string             # <<<<<<<<<<<<<<
 *         self.format = self._format
 * 
 */
  if (!(likely(PyBytes_CheckExact(__pyx_v_format))||((__pyx_v_format) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_v_format))) __PYX_ERR(2, 148, __pyx_L1_error)
  __pyx_t_4 = __pyx_v_format;
  __Pyx_INCREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->_format);
  __Pyx_DECREF(__pyx_v_self->_format);
  __pyx_v_self->_format = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":149
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
 *         self.format = self._format             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (unlikely(__pyx_v_self->_format == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(2, 149, __pyx_L1_error)
  }
  __pyx_t_8 = __Pyx_PyBytes_AsWritableString(__pyx_v_self->_format); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 149, __pyx_L1_error)
  __pyx_v_self->format = __pyx_t_8;

  /* "View.MemoryView":152
 * 
 * 
 *         self._shape = <Py_ssize_t *> PyObject_Malloc(sizeof(Py_ssize_t)*self.ndim*2)             # <<<<<<<<<<<<<<
 *         self._strides = self._shape + self.ndim
 * 
 */
  __pyx_v_self->_shape = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * __pyx_v_self->ndim) * 2)));

  /* "View.MemoryView":153
 * 
 *         self._shape = <Py_ssize_t *> PyObject_Malloc(sizeof(Py_ssize_t)*self.ndim*2)
 *         self._strides = self._shape + self.ndim             # <<<<<<<<<<<<<<
 * 
 *         if not self._shape:
 */
  __pyx_v_self->_strides = (__pyx_v_self->_shape + __pyx_v_self->ndim);

  /* "View.MemoryView":155
 *         self._strides = self._shape + self.ndim
 * 
 *         if not self._shape:             # <<<<<<<<<<<<<<
 *             raise MemoryError, "unable to allocate shape and strides."
 * 
 */
  __pyx_t_3 = (!(__pyx_v_self->_shape != 0));
  if (unlikely(__pyx_t_3)) {

    /* "View.MemoryView":156
 * 
 *         if not self._shape:
 *             raise MemoryError, "unable to allocate shape and strides."             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __Pyx_Raise(__pyx_builtin_MemoryError, __pyx_kp_s_unable_to_allocate_shape_and_str, 0, 0);
    __PYX_ERR(2, 156, __pyx_L1_error)

    /* "View.MemoryView":155
 *         self._strides = self._shape + self.ndim
 * 
 *         if not self._shape:             # <<<<<<<<<<<<<<
 *             raise MemoryError, "unable to allocate shape and strides."
 * 
 */
  }

  /* "View.MemoryView":159
 * 
 * 
 *         for idx, dim in enumerate(shape):             # <<<<<<<<<<<<<<
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 */
  __pyx_t_9 = 0;
  __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4);
  __pyx_t_1 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 159, __pyx_L1_error)
      #endif
      if (__pyx_t_1 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(2, 159, __pyx_L1_error)
    #else
    __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    #endif
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_5); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_dim = __pyx_t_10;
    __pyx_v_idx = __pyx_t_9;
    __pyx_t_9 = (__pyx_t_9 + 1);

    /* "View.MemoryView":160
 * 
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:             # <<<<<<<<<<<<<<
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim
 */
    __pyx_t_3 = (__pyx_v_dim <= 0);
    if (unlikely(__pyx_t_3)) {

      /* "View.MemoryView":161
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."             # <<<<<<<<<<<<<<
 *             self._shape[idx] = dim
 * 
 */
      __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = 0;
      __pyx_t_11 = 127;
      __Pyx_INCREF(__pyx_kp_u_Invalid_shape_in_axis);
      __pyx_t_10 += 22;
      __Pyx_GIVEREF(__pyx_kp_u_Invalid_shape_in_axis);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Invalid_shape_in_axis);
      __pyx_t_6 = __Pyx_PyUnicode_From_int(__pyx_v_idx, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_kp_u__4);
      __pyx_t_10 += 2;
      __Pyx_GIVEREF(__pyx_kp_u__4);
      PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__4);
      __pyx_t_6 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_kp_u__3);
      __pyx_t_10 += 1;
      __Pyx_GIVEREF(__pyx_kp_u__3);
      PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__3);
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_builtin_ValueError, __pyx_t_6, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(2, 161, __pyx_L1_error)

      /* "View.MemoryView":160
 * 
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:             # <<<<<<<<<<<<<<
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim
 */
    }

    /* "View.MemoryView":162
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim             # <<<<<<<<<<<<<<
 * 
 *         cdef char order
 */
    (__pyx_v_self->_shape[__pyx_v_idx]) = __pyx_v_dim;

    /* "View.MemoryView":159
 * 
 * 
 *         for idx, dim in enumerate(shape):             # <<<<<<<<<<<<<<
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "View.MemoryView":165
 * 
 *         cdef char order
 *         if mode == 'c':             # <<<<<<<<<<<<<<
 *             order = b'C'
 *             self.mode = u'c'
 */
  __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_c, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 165, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "View.MemoryView":166
 *         cdef char order
 *         if mode == 'c':
 *             order = b'C'             # <<<<<<<<<<<<<<
 *             self.mode = u'c'
 *         elif mode == 'fortran':
 */
    __pyx_v_order = 'C';

    /* "View.MemoryView":167
 *         if mode == 'c':
 *             order = b'C'
 *             self.mode = u'c'             # <<<<<<<<<<<<<<
 *         elif mode == 'fortran':
 *             order = b'F'
 */
    __Pyx_INCREF(__pyx_n_u_c);
    __Pyx_GIVEREF(__pyx_n_u_c);
    __Pyx_GOTREF(__pyx_v_self->mode);
    __Pyx_DECREF(__pyx_v_self->mode);
    __pyx_v_self->mode = __pyx_n_u_c;

    /* "View.MemoryView":165
 * 
 *         cdef char order
 *         if mode == 'c':             # <<<<<<<<<<<<<<
 *             order = b'C'
 *             self.mode = u'c'
 */
    goto __pyx_L11;
  }

  /* "View.MemoryView":168
 *             order = b'C'
 *             self.mode = u'c'
 *         elif mode == 'fortran':             # <<<<<<<<<<<<<<
 *             order = b'F'
 *             self.mode = u'fortran'
 */
  __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_fortran, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 168, __pyx_L1_error)
  if (likely(__pyx_t_3)) {

    /* "View.MemoryView":169
 *             self.mode = u'c'
 *         elif mode == 'fortran':
 *             order = b'F'             # <<<<<<<<<<<<<<
 *             self.mode = u'fortran'
 *         else:
 */
    __pyx_v_order = 'F';

    /* "View.MemoryView":170
 *         elif mode == 'fortran':
 *             order = b'F'
 *             self.mode = u'fortran'             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"
 */
    __Pyx_INCREF(__pyx_n_u_fortran);
    __Pyx_GIVEREF(__pyx_n_u_fortran);
    __Pyx_GOTREF(__pyx_v_self->mode);
    __Pyx_DECREF(__pyx_v_self->mode);
    __pyx_v_self->mode = __pyx_n_u_fortran;

    /* "View.MemoryView":168
 *             order = b'C'
 *             self.mode = u'c'
 *         elif mode == 'fortran':             # <<<<<<<<<<<<<<
 *             order = b'F'
 *             self.mode = u'fortran'
 */
    goto __pyx_L11;
  }

  /* "View.MemoryView":172
 *             self.mode = u'fortran'
 *         else:
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"             # <<<<<<<<<<<<<<
 * 
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_mode, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Invalid_mode_expected_c_or_fortr, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_builtin_ValueError, __pyx_t_6, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(2, 172, __pyx_L1_error)
  }
  __pyx_L11:;

  /* "View.MemoryView":174
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"
 * 
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)             # <<<<<<<<<<<<<<
 * 
 *         self.free_data = allocate_buffer
 */
  __pyx_v_self->len = __pyx_fill_contig_strides_array(__pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_itemsize, __pyx_v_self->ndim, __pyx_v_order);

  /* "View.MemoryView":176
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)
 * 
 *         self.free_data = allocate_buffer             # <<<<<<<<<<<<<<
 *         self.dtype_is_object = format == b'O'
 * 
 */
  __pyx_v_self->free_data = __pyx_v_allocate_buffer;

  /* "View.MemoryView":177
 * 
 *         self.free_data = allocate_buffer
 *         self.dtype_is_object = format == b'O'             # <<<<<<<<<<<<<<
 * 
 *         if allocate_buffer:
 */
  __pyx_t_6 = PyObject_RichCompare(__pyx_v_format, __pyx_n_b_O, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 177, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_self->dtype_is_object = __pyx_t_3;

  /* "View.MemoryView":179
 *         self.dtype_is_object = format == b'O'
 * 
 *         if allocate_buffer:             # <<<<<<<<<<<<<<
 *             _allocate_buffer(self)
 * 
 */
  if (__pyx_v_allocate_buffer) {

    /* "View.MemoryView":180
 * 
 *         if allocate_buffer:
 *             _allocate_buffer(self)             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
 */
    __pyx_t_9 = __pyx_array_allocate_buffer(__pyx_v_self); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 180, __pyx_L1_error)

    /* "View.MemoryView":179
 *         self.dtype_is_object = format == b'O'
 * 
 *         if allocate_buffer:             # <<<<<<<<<<<<<<
 *             _allocate_buffer(self)
 * 
 */
  }

  /* "View.MemoryView":131
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_format);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":182
 *             _allocate_buffer(self)
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 */

/* Python wrapper */
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(((struct __pyx_array_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  int __pyx_v_bufmode;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  char *__pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  if (unlikely(__pyx_v_info == NULL)) {
    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
    return -1;
  }
  __Pyx_RefNannySetupContext("__getbuffer__", 0);
  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(__pyx_v_info->obj);

  /* "View.MemoryView":184
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1             # <<<<<<<<<<<<<<
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":
 */
  __pyx_v_bufmode = -1;

  /* "View.MemoryView":185
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):             # <<<<<<<<<<<<<<
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 */
  __pyx_t_1 = ((__pyx_v_flags & ((PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS) | PyBUF_ANY_CONTIGUOUS)) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":186
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
 */
    __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->mode, __pyx_n_u_c, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 186, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "View.MemoryView":187
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS             # <<<<<<<<<<<<<<
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 */
      __pyx_v_bufmode = (PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);

      /* "View.MemoryView":186
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
 */
      goto __pyx_L4;
    }

    /* "View.MemoryView":188
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
 */
    __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->mode, __pyx_n_u_fortran, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 188, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "View.MemoryView":189
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS             # <<<<<<<<<<<<<<
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 */
      __pyx_v_bufmode = (PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);

      /* "View.MemoryView":188
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
 */
    }
    __pyx_L4:;

    /* "View.MemoryView":190
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):             # <<<<<<<<<<<<<<
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
 */
    __pyx_t_1 = (!((__pyx_v_flags & __pyx_v_bufmode) != 0));
    if (unlikely(__pyx_t_1)) {

      /* "View.MemoryView":191
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."             # <<<<<<<<<<<<<<
 *         info.buf = self.data
 *         info.len = self.len
 */
      __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Can_only_create_a_buffer_that_is, 0, 0);
      __PYX_ERR(2, 191, __pyx_L1_error)

      /* "View.MemoryView":190
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):             # <<<<<<<<<<<<<<
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
 */
    }

    /* "View.MemoryView":185
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):             # <<<<<<<<<<<<<<
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 */
  }

  /* "View.MemoryView":192
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data             # <<<<<<<<<<<<<<
 *         info.len = self.len
 * 
 */
  __pyx_t_2 = __pyx_v_self->data;
  __pyx_v_info->buf = __pyx_t_2;

  /* "View.MemoryView":193
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
 *         info.len = self.len             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_STRIDES:
 */
  __pyx_t_3 = __pyx_v_self->len;
  __pyx_v_info->len = __pyx_t_3;

  /* "View.MemoryView":195
 *         info.len = self.len
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.ndim = self.ndim
 *             info.shape = self._shape
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":196
 * 
 *         if flags & PyBUF_STRIDES:
 *             info.ndim = self.ndim             # <<<<<<<<<<<<<<
 *             info.shape = self._shape
 *             info.strides = self._strides
 */
    __pyx_t_4 = __pyx_v_self->ndim;
    __pyx_v_info->ndim = __pyx_t_4;

    /* "View.MemoryView":197
 *         if flags & PyBUF_STRIDES:
 *             info.ndim = self.ndim
 *             info.shape = self._shape             # <<<<<<<<<<<<<<
 *             info.strides = self._strides
 *         else:
 */
    __pyx_t_5 = __pyx_v_self->_shape;
    __pyx_v_info->shape = __pyx_t_5;

    /* "View.MemoryView":198
 *             info.ndim = self.ndim
 *             info.shape = self._shape
 *             info.strides = self._strides             # <<<<<<<<<<<<<<
 *         else:
 *             info.ndim = 1
 */
    __pyx_t_5 = __pyx_v_self->_strides;
    __pyx_v_info->strides = __pyx_t_5;

    /* "View.MemoryView":195
 *         info.len = self.len
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.ndim = self.ndim
 *             info.shape = self._shape
 */
    goto __pyx_L6;
  }

  /* "View.MemoryView":200
 *             info.strides = self._strides
 *         else:
 *             info.ndim = 1             # <<<<<<<<<<<<<<
 *             info.shape = &self.len if flags & PyBUF_ND else NULL
 *             info.strides = NULL
 */
  /*else*/ {
    __pyx_v_info->ndim = 1;

    /* "View.MemoryView":201
 *         else:
 *             info.ndim = 1
 *             info.shape = &self.len if flags & PyBUF_ND else NULL             # <<<<<<<<<<<<<<
 *             info.strides = NULL
 * 
 */
    __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
    if (__pyx_t_1) {
      __pyx_t_5 = (&__pyx_v_self->len);
    } else {
      __pyx_t_5 = NULL;
    }
    __pyx_v_info->shape = __pyx_t_5;

    /* "View.MemoryView":202
 *             info.ndim = 1
 *             info.shape = &self.len if flags & PyBUF_ND else NULL
 *             info.strides = NULL             # <<<<<<<<<<<<<<
 * 
 *         info.suboffsets = NULL
 */
    __pyx_v_info->strides = NULL;
  }
  __pyx_L6:;

  /* "View.MemoryView":204
 *             info.strides = NULL
 * 
 *         info.suboffsets = NULL             # <<<<<<<<<<<<<<
 *         info.itemsize = self.itemsize
 *         info.readonly = 0
 */
  __pyx_v_info->suboffsets = NULL;

  /* "View.MemoryView":205
 * 
 *         info.suboffsets = NULL
 *         info.itemsize = self.itemsize             # <<<<<<<<<<<<<<
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
 */
  __pyx_t_3 = __pyx_v_self->itemsize;
  __pyx_v_info->itemsize = __pyx_t_3;

  /* "View.MemoryView":206
 *         info.suboffsets = NULL
 *         info.itemsize = self.itemsize
 *         info.readonly = 0             # <<<<<<<<<<<<<<
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
 *         info.obj = self
 */
  __pyx_v_info->readonly = 0;

  /* "View.MemoryView":207
 *         info.itemsize = self.itemsize
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL             # <<<<<<<<<<<<<<
 *         info.obj = self
 * 
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {
    __pyx_t_2 = __pyx_v_self->format;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_info->format = __pyx_t_2;

  /* "View.MemoryView":208
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
 *         info.obj = self             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(array self):
 */
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF(__pyx_v_info->obj);
  __Pyx_DECREF(__pyx_v_info->obj);
  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);

  /* "View.MemoryView":182
 *             _allocate_buffer(self)
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  if (__pyx_v_info->obj != NULL) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  goto __pyx_L2;
  __pyx_L0:;
  if (__pyx_v_info->obj == Py_None) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  __pyx_L2:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":210
 *         info.obj = self
 * 
 *     def __dealloc__(array self):             # <<<<<<<<<<<<<<
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 */

/* Python wrapper */
static void __pyx_array___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {
  int __pyx_t_1;
  int __pyx_t_2;

  /* "View.MemoryView":211
 * 
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:             # <<<<<<<<<<<<<<
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 */
  __pyx_t_1 = (__pyx_v_self->callback_free_data != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":212
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)             # <<<<<<<<<<<<<<
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:
 */
    __pyx_v_self->callback_free_data(__pyx_v_self->data);

    /* "View.MemoryView":211
 * 
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:             # <<<<<<<<<<<<<<
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":213
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 */
  if (__pyx_v_self->free_data) {
  } else {
    __pyx_t_1 = __pyx_v_self->free_data;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->data != NULL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "View.MemoryView":214
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
 */
    if (__pyx_v_self->dtype_is_object) {

      /* "View.MemoryView":215
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)             # <<<<<<<<<<<<<<
 *             free(self.data)
 *         PyObject_Free(self._shape)
 */
      __pyx_memoryview_refcount_objects_in_slice(__pyx_v_self->data, __pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_self->ndim, 0);

      /* "View.MemoryView":214
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
 */
    }

    /* "View.MemoryView":216
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)             # <<<<<<<<<<<<<<
 *         PyObject_Free(self._shape)
 * 
 */
    free(__pyx_v_self->data);

    /* "View.MemoryView":213
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 */
  }
  __pyx_L3:;

  /* "View.MemoryView":217
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
 *         PyObject_Free(self._shape)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  PyObject_Free(__pyx_v_self->_shape);

  /* "View.MemoryView":210
 *         info.obj = self
 * 
 *     def __dealloc__(array self):             # <<<<<<<<<<<<<<
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 */

  /* function exit code */
}

/* "View.MemoryView":219
 *         PyObject_Free(self._shape)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def memview(self):
 *         return self.get_memview()
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_5array_7memview___get__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":221
 *     @property
 *     def memview(self):
 *         return self.get_memview()             # <<<<<<<<<<<<<<
 * 
 *     @cname('get_memview')
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_array *)__pyx_v_self->__pyx_vtab)->get_memview(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":219
 *         PyObject_Free(self._shape)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def memview(self):
 *         return self.get_memview()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.array.memview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":224
 * 
 *     @cname('get_memview')
 *     cdef get_memview(self):             # <<<<<<<<<<<<<<
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
 *         return  memoryview(self, flags, self.dtype_is_object)
 */

static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_memview", 1);

  /* "View.MemoryView":225
 *     @cname('get_memview')
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE             # <<<<<<<<<<<<<<
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
 */
  __pyx_v_flags = ((PyBUF_ANY_CONTIGUOUS | PyBUF_FORMAT) | PyBUF_WRITABLE);

  /* "View.MemoryView":226
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
 *         return  memoryview(self, flags, self.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self))) __PYX_ERR(2, 226, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 226, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(2, 226, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":224
 * 
 *     @cname('get_memview')
 *     cdef get_memview(self):             # <<<<<<<<<<<<<<
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
 *         return  memoryview(self, flags, self.dtype_is_object)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.array.get_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":228
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self._shape[0]
 * 
 */

/* Python wrapper */
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self) {
  Py_ssize_t __pyx_r;

  /* "View.MemoryView":229
 * 
 *     def __len__(self):
 *         return self._shape[0]             # <<<<<<<<<<<<<<
 * 
 *     def __getattr__(self, attr):
 */
  __pyx_r = (__pyx_v_self->_shape[0]);
  goto __pyx_L0;

  /* "View.MemoryView":228
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self._shape[0]
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":231
 *         return self._shape[0]
 * 
 *     def __getattr__(self, attr):             # <<<<<<<<<<<<<<
 *         return getattr(self.memview, attr)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr); /*proto*/
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_attr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getattr__", 1);

  /* "View.MemoryView":232
 * 
 *     def __getattr__(self, attr):
 *         return getattr(self.memview, attr)             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, item):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetAttr(__pyx_t_1, __pyx_v_attr); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":231
 *         return self._shape[0]
 * 
 *     def __getattr__(self, attr):             # <<<<<<<<<<<<<<
 *         return getattr(self.memview, attr)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.array.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":234
 *         return getattr(self.memview, attr)
 * 
 *     def __getitem__(self, item):             # <<<<<<<<<<<<<<
 *         return self.memview[item]
 * 
 */

/* Python wrapper */
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 1);

  /* "View.MemoryView":235
 * 
 *     def __getitem__(self, item):
 *         return self.memview[item]             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, item, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_item); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":234
 *         return getattr(self.memview, attr)
 * 
 *     def __getitem__(self, item):             # <<<<<<<<<<<<<<
 *         return self.memview[item]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.array.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":237
 *         return self.memview[item]
 * 
 *     def __setitem__(self, item, value):             # <<<<<<<<<<<<<<
 *         self.memview[item] = value
 * 
 */

/* Python wrapper */
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /*proto*/
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setitem__", 1);

  /* "View.MemoryView":238
 * 
 *     def __setitem__(self, item, value):
 *         self.memview[item] = value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_item, __pyx_v_value) < 0))) __PYX_ERR(2, 238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "View.MemoryView":237
 *         return self.memview[item]
 * 
 *     def __setitem__(self, item, value):             # <<<<<<<<<<<<<<
 *         self.memview[item] = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.array.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf___pyx_array___reduce_cython__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_array_2__setstate_cython__(((struct __pyx_array_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":248
 * 
 * @cname("__pyx_array_allocate_buffer")
 * cdef int _allocate_buffer(array self) except -1:             # <<<<<<<<<<<<<<
 * 
 * 
 */

static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
  Py_ssize_t __pyx_v_i;
  PyObject **__pyx_v_p;
  int __pyx_r;
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "View.MemoryView":254
 *     cdef PyObject **p
 * 
 *     self.free_data = True             # <<<<<<<<<<<<<<
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:
 */
  __pyx_v_self->free_data = 1;

  /* "View.MemoryView":255
 * 
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)             # <<<<<<<<<<<<<<
 *     if not self.data:
 *         raise MemoryError, "unable to allocate array data."
 */
  __pyx_v_self->data = ((char *)malloc(__pyx_v_self->len));

  /* "View.MemoryView":256
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:             # <<<<<<<<<<<<<<
 *         raise MemoryError, "unable to allocate array data."
 * 
 */
  __pyx_t_1 = (!(__pyx_v_self->data != 0));
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":257
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:
 *         raise MemoryError, "unable to allocate array data."             # <<<<<<<<<<<<<<
 * 
 *     if self.dtype_is_object:
 */
    __Pyx_Raise(__pyx_builtin_MemoryError, __pyx_kp_s_unable_to_allocate_array_data, 0, 0);
    __PYX_ERR(2, 257, __pyx_L1_error)

    /* "View.MemoryView":256
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:             # <<<<<<<<<<<<<<
 *         raise MemoryError, "unable to allocate array data."
 * 
 */
  }

  /* "View.MemoryView":259
 *         raise MemoryError, "unable to allocate array data."
 * 
 *     if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
 */
  if (__pyx_v_self->dtype_is_object) {

    /* "View.MemoryView":260
 * 
 *     if self.dtype_is_object:
 *         p = <PyObject **> self.data             # <<<<<<<<<<<<<<
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None
 */
    __pyx_v_p = ((PyObject **)__pyx_v_self->data);

    /* "View.MemoryView":261
 *     if self.dtype_is_object:
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):             # <<<<<<<<<<<<<<
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)
 */
    if (unlikely(__pyx_v_self->itemsize == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(2, 261, __pyx_L1_error)
    }
    else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_self->itemsize == (Py_ssize_t)-1)  && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_self->len))) {
      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
      __PYX_ERR(2, 261, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_div_Py_ssize_t(__pyx_v_self->len, __pyx_v_self->itemsize);
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":262
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None             # <<<<<<<<<<<<<<
 *             Py_INCREF(Py_None)
 *     return 0
 */
      (__pyx_v_p[__pyx_v_i]) = Py_None;

      /* "View.MemoryView":263
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 *     return 0
 * 
 */
      Py_INCREF(Py_None);
    }

    /* "View.MemoryView":259
 *         raise MemoryError, "unable to allocate array data."
 * 
 *     if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
 */
  }

  /* "View.MemoryView":264
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":248
 * 
 * @cname("__pyx_array_allocate_buffer")
 * cdef int _allocate_buffer(array self) except -1:             # <<<<<<<<<<<<<<
 * 
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":268
 * 
 * @cname("__pyx_array_new")
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, char *c_mode, char *buf):             # <<<<<<<<<<<<<<
 *     cdef array result
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 */

static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, char *__pyx_v_format, char *__pyx_v_c_mode, char *__pyx_v_buf) {
  struct __pyx_array_obj *__pyx_v_result = 0;
  PyObject *__pyx_v_mode = 0;
  struct __pyx_array_obj *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("array_cwrapper", 1);

  /* "View.MemoryView":270
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, char *c_mode, char *buf):
 *     cdef array result
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.             # <<<<<<<<<<<<<<
 * 
 *     if buf is NULL:
 */
  __pyx_t_2 = ((__pyx_v_c_mode[0]) == 'f');
  if (__pyx_t_2) {
    __Pyx_INCREF(__pyx_n_s_fortran);
    __pyx_t_1 = __pyx_n_s_fortran;
  } else {
    __Pyx_INCREF(__pyx_n_s_c);
    __pyx_t_1 = __pyx_n_s_c;
  }
  __pyx_v_mode = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":272
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 * 
 *     if buf is NULL:             # <<<<<<<<<<<<<<
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
 */
  __pyx_t_2 = (__pyx_v_buf == NULL);
  if (__pyx_t_2) {

    /* "View.MemoryView":273
 * 
 *     if buf is NULL:
 *         result = array.__new__(array, shape, itemsize, format, mode)             # <<<<<<<<<<<<<<
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)
 */
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_shape);
    __Pyx_GIVEREF(__pyx_v_shape);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape)) __PYX_ERR(2, 273, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(2, 273, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3)) __PYX_ERR(2, 273, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_mode);
    __Pyx_GIVEREF(__pyx_v_mode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_mode)) __PYX_ERR(2, 273, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_3 = 0;
    __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_array_type), __pyx_t_4, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 273, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_result = ((struct __pyx_array_obj *)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":272
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 * 
 *     if buf is NULL:             # <<<<<<<<<<<<<<
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":275
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)             # <<<<<<<<<<<<<<
 *         result.data = buf
 * 
 */
  /*else*/ {
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_itemsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_shape);
    __Pyx_GIVEREF(__pyx_v_shape);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape)) __PYX_ERR(2, 275, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(2, 275, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4)) __PYX_ERR(2, 275, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_mode);
    __Pyx_GIVEREF(__pyx_v_mode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_mode)) __PYX_ERR(2, 275, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_allocate_buffer, Py_False) < 0) __PYX_ERR(2, 275, __pyx_L1_error)
    __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_array_type), __pyx_t_1, __pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 275, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_result = ((struct __pyx_array_obj *)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":276
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)
 *         result.data = buf             # <<<<<<<<<<<<<<
 * 
 *     return result
 */
    __pyx_v_result->data = __pyx_v_buf;
  }
  __pyx_L3:;

  /* "View.MemoryView":278
 *         result.data = buf
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "View.MemoryView":268
 * 
 * @cname("__pyx_array_new")
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, char *c_mode, char *buf):             # <<<<<<<<<<<<<<
 *     cdef array result
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.array_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_mode);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":304
 * cdef class Enum(object):
 *     cdef object name
 *     def __init__(self, name):             # <<<<<<<<<<<<<<
 *         self.name = name
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 304, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(2, 304, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 304, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.Enum.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "View.MemoryView":305
 *     cdef object name
 *     def __init__(self, name):
 *         self.name = name             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return self.name
 */
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_GIVEREF(__pyx_v_name);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = __pyx_v_name;

  /* "View.MemoryView":304
 * cdef class Enum(object):
 *     cdef object name
 *     def __init__(self, name):             # <<<<<<<<<<<<<<
 *         self.name = name
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":306
 *     def __init__(self, name):
 *         self.name = name
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
 */

/* Python wrapper */
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__", 1);

  /* "View.MemoryView":307
 *         self.name = name
 *     def __repr__(self):
 *         return self.name             # <<<<<<<<<<<<<<
 * 
 * cdef generic = Enum("<strided and direct or indirect>")
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* "View.MemoryView":306
 *     def __init__(self, name):
 *         self.name = name
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf___pyx_MemviewEnum___reduce_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.name,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name)) __PYX_ERR(2, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict)) __PYX_ERR(2, 8, __pyx_L1_error);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.name is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 */
  /*else*/ {
    __pyx_t_2 = (__pyx_v_self->name != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
 */
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_Enum); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_136983863);
    __Pyx_GIVEREF(__pyx_int_136983863);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None)) __PYX_ERR(2, 13, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(2, 13, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Enum); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_136983863);
    __Pyx_GIVEREF(__pyx_int_136983863);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863)) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state)) __PYX_ERR(2, 15, __pyx_L1_error);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.Enum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 16, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 16, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_MemviewEnum_2__setstate_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_unpickle_Enum__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":349
 *     cdef __Pyx_TypeInfo *typeinfo
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):             # <<<<<<<<<<<<<<
 *         self.obj = obj
 *         self.flags = flags
 */

/* Python wrapper */
static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_obj = 0;
  int __pyx_v_flags;
  int __pyx_v_dtype_is_object;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_flags,&__pyx_n_s_dtype_is_object,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 349, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 349, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(2, 349, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dtype_is_object);
          if (value) { values[2] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 349, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(2, 349, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_obj = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 349, __pyx_L3_error)
    if (values[2]) {
      __pyx_v_dtype_is_object = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_dtype_is_object == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 349, __pyx_L3_error)
    } else {
      __pyx_v_dtype_is_object = ((int)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 349, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_obj, __pyx_v_flags, __pyx_v_dtype_is_object);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_intptr_t __pyx_t_4;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "View.MemoryView":350
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):
 *         self.obj = obj             # <<<<<<<<<<<<<<
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:
 */
  __Pyx_INCREF(__pyx_v_obj);
  __Pyx_GIVEREF(__pyx_v_obj);
  __Pyx_GOTREF(__pyx_v_self->obj);
  __Pyx_DECREF(__pyx_v_self->obj);
  __pyx_v_self->obj = __pyx_v_obj;

  /* "View.MemoryView":351
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):
 *         self.obj = obj
 *         self.flags = flags             # <<<<<<<<<<<<<<
 *         if type(self) is memoryview or obj is not None:
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 */
  __pyx_v_self->flags = __pyx_v_flags;

  /* "View.MemoryView":352
 *         self.obj = obj
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:             # <<<<<<<<<<<<<<
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
 */
  __pyx_t_2 = (((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))) == ((PyObject *)__pyx_memoryview_type));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_obj != Py_None);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "View.MemoryView":353
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:
 *             __Pyx_GetBuffer(obj, &self.view, flags)             # <<<<<<<<<<<<<<
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 */
    __pyx_t_3 = __Pyx_GetBuffer(__pyx_v_obj, (&__pyx_v_self->view), __pyx_v_flags); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 353, __pyx_L1_error)

    /* "View.MemoryView":354
 *         if type(self) is memoryview or obj is not None:
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:             # <<<<<<<<<<<<<<
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->view.obj) == NULL);
    if (__pyx_t_1) {

      /* "View.MemoryView":355
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None             # <<<<<<<<<<<<<<
 *                 Py_INCREF(Py_None)
 * 
 */
      ((Py_buffer *)(&__pyx_v_self->view))->obj = Py_None;

      /* "View.MemoryView":356
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 */
      Py_INCREF(Py_None);

      /* "View.MemoryView":354
 *         if type(self) is memoryview or obj is not None:
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:             # <<<<<<<<<<<<<<
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)
 */
    }

    /* "View.MemoryView":352
 *         self.obj = obj
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:             # <<<<<<<<<<<<<<
 *             __Pyx_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
 */
  }

  /* "View.MemoryView":358
 *                 Py_INCREF(Py_None)
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():             # <<<<<<<<<<<<<<
 *             global __pyx_memoryview_thread_locks_used
 *             if __pyx_memoryview_thread_locks_used < 8:
 */
  __pyx_t_1 = (!__PYX_CYTHON_ATOMICS_ENABLED());
  if (__pyx_t_1) {

    /* "View.MemoryView":360
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 *             global __pyx_memoryview_thread_locks_used
 *             if __pyx_memoryview_thread_locks_used < 8:             # <<<<<<<<<<<<<<
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 */
    __pyx_t_1 = (__pyx_memoryview_thread_locks_used < 8);
    if (__pyx_t_1) {

      /* "View.MemoryView":361
 *             global __pyx_memoryview_thread_locks_used
 *             if __pyx_memoryview_thread_locks_used < 8:
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]             # <<<<<<<<<<<<<<
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:
 */
      __pyx_v_self->lock = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);

      /* "View.MemoryView":362
 *             if __pyx_memoryview_thread_locks_used < 8:
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1             # <<<<<<<<<<<<<<
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
 */
      __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used + 1);

      /* "View.MemoryView":360
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 *             global __pyx_memoryview_thread_locks_used
 *             if __pyx_memoryview_thread_locks_used < 8:             # <<<<<<<<<<<<<<
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 */
    }

    /* "View.MemoryView":363
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
 */
    __pyx_t_1 = (__pyx_v_self->lock == NULL);
    if (__pyx_t_1) {

      /* "View.MemoryView":364
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()             # <<<<<<<<<<<<<<
 *                 if self.lock is NULL:
 *                     raise MemoryError
 */
      __pyx_v_self->lock = PyThread_allocate_lock();

      /* "View.MemoryView":365
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError
 * 
 */
      __pyx_t_1 = (__pyx_v_self->lock == NULL);
      if (unlikely(__pyx_t_1)) {

        /* "View.MemoryView":366
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
 *                     raise MemoryError             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_FORMAT:
 */
        PyErr_NoMemory(); __PYX_ERR(2, 366, __pyx_L1_error)

        /* "View.MemoryView":365
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError
 * 
 */
      }

      /* "View.MemoryView":363
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
 */
    }

    /* "View.MemoryView":358
 *                 Py_INCREF(Py_None)
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():             # <<<<<<<<<<<<<<
 *             global __pyx_memoryview_thread_locks_used
 *             if __pyx_memoryview_thread_locks_used < 8:
 */
  }

  /* "View.MemoryView":368
 *                     raise MemoryError
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":369
 * 
 *         if flags & PyBUF_FORMAT:
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')             # <<<<<<<<<<<<<<
 *         else:
 *             self.dtype_is_object = dtype_is_object
 */
    __pyx_t_2 = ((__pyx_v_self->view.format[0]) == 'O');
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L12_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_self->view.format[1]) == '\x00');
    __pyx_t_1 = __pyx_t_2;
    __pyx_L12_bool_binop_done:;
    __pyx_v_self->dtype_is_object = __pyx_t_1;

    /* "View.MemoryView":368
 *                     raise MemoryError
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
 */
    goto __pyx_L11;
  }

  /* "View.MemoryView":371
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
 *             self.dtype_is_object = dtype_is_object             # <<<<<<<<<<<<<<
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0
 */
  /*else*/ {
    __pyx_v_self->dtype_is_object = __pyx_v_dtype_is_object;
  }
  __pyx_L11:;

  /* "View.MemoryView":373
 *             self.dtype_is_object = dtype_is_object
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0             # <<<<<<<<<<<<<<
 *         self.typeinfo = NULL
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_4 = ((Py_intptr_t)((void *)(&__pyx_v_self->acquisition_count)));
    __pyx_t_5 = (sizeof(__pyx_atomic_int_type));
    if (unlikely(__pyx_t_5 == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(2, 373, __pyx_L1_error)
    }
    __pyx_t_1 = ((__pyx_t_4 % __pyx_t_5) == 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(2, 373, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 373, __pyx_L1_error)
  #endif

  /* "View.MemoryView":374
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0
 *         self.typeinfo = NULL             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(memoryview self):
 */
  __pyx_v_self->typeinfo = NULL;

  /* "View.MemoryView":349
 *     cdef __Pyx_TypeInfo *typeinfo
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):             # <<<<<<<<<<<<<<
 *         self.obj = obj
 *         self.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":376
 *         self.typeinfo = NULL
 * 
 *     def __dealloc__(memoryview self):             # <<<<<<<<<<<<<<
 *         if self.obj is not None:
 *             __Pyx_ReleaseBuffer(&self.view)
 */

/* Python wrapper */
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {
  int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyThread_type_lock __pyx_t_5;
  PyThread_type_lock __pyx_t_6;

  /* "View.MemoryView":377
 * 
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:             # <<<<<<<<<<<<<<
 *             __Pyx_ReleaseBuffer(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 */
  __pyx_t_1 = (__pyx_v_self->obj != Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":378
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:
 *             __Pyx_ReleaseBuffer(&self.view)             # <<<<<<<<<<<<<<
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 * 
 */
    __Pyx_ReleaseBuffer((&__pyx_v_self->view));

    /* "View.MemoryView":377
 * 
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:             # <<<<<<<<<<<<<<
 *             __Pyx_ReleaseBuffer(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":379
 *         if self.obj is not None:
 *             __Pyx_ReleaseBuffer(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:             # <<<<<<<<<<<<<<
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
 */
  __pyx_t_1 = (((Py_buffer *)(&__pyx_v_self->view))->obj == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":381
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL             # <<<<<<<<<<<<<<
 *             Py_DECREF(Py_None)
 * 
 */
    ((Py_buffer *)(&__pyx_v_self->view))->obj = NULL;

    /* "View.MemoryView":382
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
 *             Py_DECREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *         cdef int i
 */
    Py_DECREF(Py_None);

    /* "View.MemoryView":379
 *         if self.obj is not None:
 *             __Pyx_ReleaseBuffer(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:             # <<<<<<<<<<<<<<
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
 */
  }
  __pyx_L3:;

  /* "View.MemoryView":386
 *         cdef int i
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:             # <<<<<<<<<<<<<<
 *             for i in range(__pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 */
  __pyx_t_1 = (__pyx_v_self->lock != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":387
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:
 *             for i in range(__pyx_memoryview_thread_locks_used):             # <<<<<<<<<<<<<<
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
 */
    __pyx_t_2 = __pyx_memoryview_thread_locks_used;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":388
 *         if self.lock != NULL:
 *             for i in range(__pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:             # <<<<<<<<<<<<<<
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
 */
      __pyx_t_1 = ((__pyx_memoryview_thread_locks[__pyx_v_i]) == __pyx_v_self->lock);
      if (__pyx_t_1) {

        /* "View.MemoryView":389
 *             for i in range(__pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1             # <<<<<<<<<<<<<<
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 */
        __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used - 1);

        /* "View.MemoryView":390
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:             # <<<<<<<<<<<<<<
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 */
        __pyx_t_1 = (__pyx_v_i != __pyx_memoryview_thread_locks_used);
        if (__pyx_t_1) {

          /* "View.MemoryView":392
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])             # <<<<<<<<<<<<<<
 *                     break
 *             else:
 */
          __pyx_t_5 = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);
          __pyx_t_6 = (__pyx_memoryview_thread_locks[__pyx_v_i]);

          /* "View.MemoryView":391
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (             # <<<<<<<<<<<<<<
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 *                     break
 */
          (__pyx_memoryview_thread_locks[__pyx_v_i]) = __pyx_t_5;
          (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]) = __pyx_t_6;

          /* "View.MemoryView":390
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:             # <<<<<<<<<<<<<<
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 */
        }

        /* "View.MemoryView":393
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 *                     break             # <<<<<<<<<<<<<<
 *             else:
 *                 PyThread_free_lock(self.lock)
 */
        goto __pyx_L6_break;

        /* "View.MemoryView":388
 *         if self.lock != NULL:
 *             for i in range(__pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:             # <<<<<<<<<<<<<<
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
 */
      }
    }
    /*else*/ {

      /* "View.MemoryView":395
 *                     break
 *             else:
 *                 PyThread_free_lock(self.lock)             # <<<<<<<<<<<<<<
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:
 */
      PyThread_free_lock(__pyx_v_self->lock);
    }
    __pyx_L6_break:;

    /* "View.MemoryView":386
 *         cdef int i
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:             # <<<<<<<<<<<<<<
 *             for i in range(__pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 */
  }

  /* "View.MemoryView":376
 *         self.typeinfo = NULL
 * 
 *     def __dealloc__(memoryview self):             # <<<<<<<<<<<<<<
 *         if self.obj is not None:
 *             __Pyx_ReleaseBuffer(&self.view)
 */

  /* function exit code */
}

/* "View.MemoryView":397
 *                 PyThread_free_lock(self.lock)
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf
 */

static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
  Py_ssize_t __pyx_v_dim;
  char *__pyx_v_itemp;
  PyObject *__pyx_v_idx = NULL;
  char *__pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  char *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_item_pointer", 1);

  /* "View.MemoryView":399
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf             # <<<<<<<<<<<<<<
 * 
 *         for dim, idx in enumerate(index):
 */
  __pyx_v_itemp = ((char *)__pyx_v_self->view.buf);

  /* "View.MemoryView":401
 *         cdef char *itemp = <char *> self.view.buf
 * 
 *         for dim, idx in enumerate(index):             # <<<<<<<<<<<<<<
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
 */
  __pyx_t_1 = 0;
  if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
    __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 401, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 401, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(2, 401, __pyx_L1_error)
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 401, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 401, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(2, 401, __pyx_L1_error)
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 401, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
      }
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(2, 401, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_v_dim = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "View.MemoryView":402
 * 
 *         for dim, idx in enumerate(index):
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)             # <<<<<<<<<<<<<<
 * 
 *         return itemp
 */
    __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 402, __pyx_L1_error)
    __pyx_t_7 = __pyx_pybuffer_index((&__pyx_v_self->view), __pyx_v_itemp, __pyx_t_6, __pyx_v_dim); if (unlikely(__pyx_t_7 == ((char *)NULL))) __PYX_ERR(2, 402, __pyx_L1_error)
    __pyx_v_itemp = __pyx_t_7;

    /* "View.MemoryView":401
 *         cdef char *itemp = <char *> self.view.buf
 * 
 *         for dim, idx in enumerate(index):             # <<<<<<<<<<<<<<
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":404
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
 *         return itemp             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_itemp;
  goto __pyx_L0;

  /* "View.MemoryView":397
 *                 PyThread_free_lock(self.lock)
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.get_item_pointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":407
 * 
 * 
 *     def __getitem__(memoryview self, object index):             # <<<<<<<<<<<<<<
 *         if index is Ellipsis:
 *             return self
 */

/* Python wrapper */
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
  PyObject *__pyx_v_have_slices = NULL;
  PyObject *__pyx_v_indices = NULL;
  char *__pyx_v_itemp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  char *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 1);

  /* "View.MemoryView":408
 * 
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:             # <<<<<<<<<<<<<<
 *             return self
 * 
 */
  __pyx_t_1 = (__pyx_v_index == __pyx_builtin_Ellipsis);
  if (__pyx_t_1) {

    /* "View.MemoryView":409
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:
 *             return self             # <<<<<<<<<<<<<<
 * 
 *         have_slices, indices = _unellipsify(index, self.view.ndim)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self);
    __pyx_r = ((PyObject *)__pyx_v_self);
    goto __pyx_L0;

    /* "View.MemoryView":408
 * 
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:             # <<<<<<<<<<<<<<
 *             return self
 * 
 */
  }

  /* "View.MemoryView":411
 *             return self
 * 
 *         have_slices, indices = _unellipsify(index, self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *         cdef char *itemp
 */
  __pyx_t_2 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (likely(__pyx_t_2 != Py_None)) {
    PyObject* sequence = __pyx_t_2;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(2, 411, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
    __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(2, 411, __pyx_L1_error)
  }
  __pyx_v_have_slices = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_indices = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "View.MemoryView":414
 * 
 *         cdef char *itemp
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             return memview_slice(self, indices)
 *         else:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_have_slices); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 414, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "View.MemoryView":415
 *         cdef char *itemp
 *         if have_slices:
 *             return memview_slice(self, indices)             # <<<<<<<<<<<<<<
 *         else:
 *             itemp = self.get_item_pointer(indices)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_memview_slice(__pyx_v_self, __pyx_v_indices)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":414
 * 
 *         cdef char *itemp
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             return memview_slice(self, indices)
 *         else:
 */
  }

  /* "View.MemoryView":417
 *             return memview_slice(self, indices)
 *         else:
 *             itemp = self.get_item_pointer(indices)             # <<<<<<<<<<<<<<
 *             return self.convert_item_to_object(itemp)
 * 
 */
  /*else*/ {
    __pyx_t_5 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->get_item_pointer(__pyx_v_self, __pyx_v_indices); if (unlikely(__pyx_t_5 == ((char *)NULL))) __PYX_ERR(2, 417, __pyx_L1_error)
    __pyx_v_itemp = __pyx_t_5;

    /* "View.MemoryView":418
 *         else:
 *             itemp = self.get_item_pointer(indices)
 *             return self.convert_item_to_object(itemp)             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(memoryview self, object index, object value):
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->convert_item_to_object(__pyx_v_self, __pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":407
 * 
 * 
 *     def __getitem__(memoryview self, object index):             # <<<<<<<<<<<<<<
 *         if index is Ellipsis:
 *             return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_have_slices);
  __Pyx_XDECREF(__pyx_v_indices);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":420
 *             return self.convert_item_to_object(itemp)
 * 
 *     def __setitem__(memoryview self, object index, object value):             # <<<<<<<<<<<<<<
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"
 */

/* Python wrapper */
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_have_slices = NULL;
  PyObject *__pyx_v_obj = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setitem__", 0);
  __Pyx_INCREF(__pyx_v_index);

  /* "View.MemoryView":421
 * 
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
 */
  if (unlikely(__pyx_v_self->view.readonly)) {

    /* "View.MemoryView":422
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"             # <<<<<<<<<<<<<<
 * 
 *         have_slices, index = _unellipsify(index, self.view.ndim)
 */
    __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_Cannot_assign_to_read_only_memor, 0, 0);
    __PYX_ERR(2, 422, __pyx_L1_error)

    /* "View.MemoryView":421
 * 
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
 */
  }

  /* "View.MemoryView":424
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
 *         have_slices, index = _unellipsify(index, self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *         if have_slices:
 */
  __pyx_t_1 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(__pyx_t_1 != Py_None)) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(2, 424, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
    __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(2, 424, __pyx_L1_error)
  }
  __pyx_v_have_slices = __pyx_t_2;
  __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "View.MemoryView":426
 *         have_slices, index = _unellipsify(index, self.view.ndim)
 * 
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             obj = self.is_slice(value)
 *             if obj is not None:
 */
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_have_slices); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 426, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "View.MemoryView":427
 * 
 *         if have_slices:
 *             obj = self.is_slice(value)             # <<<<<<<<<<<<<<
 *             if obj is not None:
 *                 self.setitem_slice_assignment(self[index], obj)
 */
    __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->is_slice(__pyx_v_self, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "View.MemoryView":428
 *         if have_slices:
 *             obj = self.is_slice(value)
 *             if obj is not None:             # <<<<<<<<<<<<<<
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
 */
    __pyx_t_4 = (__pyx_v_obj != Py_None);
    if (__pyx_t_4) {

      /* "View.MemoryView":429
 *             obj = self.is_slice(value)
 *             if obj is not None:
 *                 self.setitem_slice_assignment(self[index], obj)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.setitem_slice_assign_scalar(self[index], value)
 */
      __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 429, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_slice_assignment(__pyx_v_self, __pyx_t_1, __pyx_v_obj); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 429, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "View.MemoryView":428
 *         if have_slices:
 *             obj = self.is_slice(value)
 *             if obj is not None:             # <<<<<<<<<<<<<<
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
 */
      goto __pyx_L5;
    }

    /* "View.MemoryView":431
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
 *                 self.setitem_slice_assign_scalar(self[index], value)             # <<<<<<<<<<<<<<
 *         else:
 *             self.setitem_indexed(index, value)
 */
    /*else*/ {
      __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 431, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_memoryview_type))))) __PYX_ERR(2, 431, __pyx_L1_error)
      __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_slice_assign_scalar(__pyx_v_self, ((struct __pyx_memoryview_obj *)__pyx_t_3), __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 431, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L5:;

    /* "View.MemoryView":426
 *         have_slices, index = _unellipsify(index, self.view.ndim)
 * 
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             obj = self.is_slice(value)
 *             if obj is not None:
 */
    goto __pyx_L4;
  }

  /* "View.MemoryView":433
 *                 self.setitem_slice_assign_scalar(self[index], value)
 *         else:
 *             self.setitem_indexed(index, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef is_slice(self, obj):
 */
  /*else*/ {
    __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_indexed(__pyx_v_self, __pyx_v_index, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "View.MemoryView":420
 *             return self.convert_item_to_object(itemp)
 * 
 *     def __setitem__(memoryview self, object index, object value):             # <<<<<<<<<<<<<<
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_have_slices);
  __Pyx_XDECREF(__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":435
 *             self.setitem_indexed(index, value)
 * 
 *     cdef is_slice(self, obj):             # <<<<<<<<<<<<<<
 *         if not isinstance(obj, memoryview):
 *             try:
 */

static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_slice", 0);
  __Pyx_INCREF(__pyx_v_obj);

  /* "View.MemoryView":436
 * 
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):             # <<<<<<<<<<<<<<
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_memoryview_type); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "View.MemoryView":437
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "View.MemoryView":438
 *         if not isinstance(obj, memoryview):
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,             # <<<<<<<<<<<<<<
 *                                  self.dtype_is_object)
 *             except TypeError:
 */
        __pyx_t_6 = __Pyx_PyInt_From_int(((__pyx_v_self->flags & (~PyBUF_WRITABLE)) | PyBUF_ANY_CONTIGUOUS)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 438, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);

        /* "View.MemoryView":439
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)             # <<<<<<<<<<<<<<
 *             except TypeError:
 *                 return None
 */
        __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 439, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);

        /* "View.MemoryView":438
 *         if not isinstance(obj, memoryview):
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,             # <<<<<<<<<<<<<<
 *                                  self.dtype_is_object)
 *             except TypeError:
 */
        __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 438, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_v_obj);
        __Pyx_GIVEREF(__pyx_v_obj);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_obj)) __PYX_ERR(2, 438, __pyx_L4_error);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(2, 438, __pyx_L4_error);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7)) __PYX_ERR(2, 438, __pyx_L4_error);
        __pyx_t_6 = 0;
        __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 438, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_7);
        __pyx_t_7 = 0;

        /* "View.MemoryView":437
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
 */
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "View.MemoryView":440
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
 *             except TypeError:             # <<<<<<<<<<<<<<
 *                 return None
 * 
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("View.MemoryView.memoryview.is_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(2, 440, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "View.MemoryView":441
 *                                  self.dtype_is_object)
 *             except TypeError:
 *                 return None             # <<<<<<<<<<<<<<
 * 
 *         return obj
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_r = Py_None; __Pyx_INCREF(Py_None);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L7_except_return;
      }
      goto __pyx_L6_except_error;

      /* "View.MemoryView":437
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
 */
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L7_except_return:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L0;
      __pyx_L9_try_end:;
    }

    /* "View.MemoryView":436
 * 
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):             # <<<<<<<<<<<<<<
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 */
  }

  /* "View.MemoryView":443
 *                 return None
 * 
 *         return obj             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_slice_assignment(self, dst, src):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_obj);
  __pyx_r = __pyx_v_obj;
  goto __pyx_L0;

  /* "View.MemoryView":435
 *             self.setitem_indexed(index, value)
 * 
 *     cdef is_slice(self, obj):             # <<<<<<<<<<<<<<
 *         if not isinstance(obj, memoryview):
 *             try:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":445
 *         return obj
 * 
 *     cdef setitem_slice_assignment(self, dst, src):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
 */

static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  __Pyx_memviewslice __pyx_v_dst_slice;
  __Pyx_memviewslice __pyx_v_src_slice;
  __Pyx_memviewslice __pyx_v_msrc;
  __Pyx_memviewslice __pyx_v_mdst;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_slice_assignment", 1);

  /* "View.MemoryView":448
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
 *         cdef __Pyx_memviewslice msrc = get_slice_from_memview(src, &src_slice)[0]             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]
 * 
 */
  if (!(likely(((__pyx_v_src) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_src, __pyx_memoryview_type))))) __PYX_ERR(2, 448, __pyx_L1_error)
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((struct __pyx_memoryview_obj *)__pyx_v_src), (&__pyx_v_src_slice)); if (unlikely(__pyx_t_1 == ((__Pyx_memviewslice *)NULL))) __PYX_ERR(2, 448, __pyx_L1_error)
  __pyx_v_msrc = (__pyx_t_1[0]);

  /* "View.MemoryView":449
 *         cdef __Pyx_memviewslice src_slice
 *         cdef __Pyx_memviewslice msrc = get_slice_from_memview(src, &src_slice)[0]
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]             # <<<<<<<<<<<<<<
 * 
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
 */
  if (!(likely(((__pyx_v_dst) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dst, __pyx_memoryview_type))))) __PYX_ERR(2, 449, __pyx_L1_error)
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((struct __pyx_memoryview_obj *)__pyx_v_dst), (&__pyx_v_dst_slice)); if (unlikely(__pyx_t_1 == ((__Pyx_memviewslice *)NULL))) __PYX_ERR(2, 449, __pyx_L1_error)
  __pyx_v_mdst = (__pyx_t_1[0]);

  /* "View.MemoryView":451
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]
 * 
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_src, __pyx_n_s_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dst, __pyx_n_s_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __pyx_memoryview_copy_contents(__pyx_v_msrc, __pyx_v_mdst, __pyx_t_3, __pyx_t_4, __pyx_v_self->dtype_is_object); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 451, __pyx_L1_error)

  /* "View.MemoryView":445
 *         return obj
 * 
 *     cdef setitem_slice_assignment(self, dst, src):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_slice_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":453
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):             # <<<<<<<<<<<<<<
 *         cdef int array[128]
 *         cdef void *tmp = NULL
 */

static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {
  int __pyx_v_array[0x80];
  void *__pyx_v_tmp;
  void *__pyx_v_item;
  __Pyx_memviewslice *__pyx_v_dst_slice;
  __Pyx_memviewslice __pyx_v_tmp_slice;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 1);

  /* "View.MemoryView":455
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):
 *         cdef int array[128]
 *         cdef void *tmp = NULL             # <<<<<<<<<<<<<<
 *         cdef void *item
 * 
 */
  __pyx_v_tmp = NULL;

  /* "View.MemoryView":460
 *         cdef __Pyx_memviewslice *dst_slice
 *         cdef __Pyx_memviewslice tmp_slice
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)             # <<<<<<<<<<<<<<
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):
 */
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_dst, (&__pyx_v_tmp_slice)); if (unlikely(__pyx_t_1 == ((__Pyx_memviewslice *)NULL))) __PYX_ERR(2, 460, __pyx_L1_error)
  __pyx_v_dst_slice = __pyx_t_1;

  /* "View.MemoryView":462
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):             # <<<<<<<<<<<<<<
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
 */
  __pyx_t_2 = (((size_t)__pyx_v_self->view.itemsize) > (sizeof(__pyx_v_array)));
  if (__pyx_t_2) {

    /* "View.MemoryView":463
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)             # <<<<<<<<<<<<<<
 *             if tmp == NULL:
 *                 raise MemoryError
 */
    __pyx_v_tmp = PyMem_Malloc(__pyx_v_self->view.itemsize);

    /* "View.MemoryView":464
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError
 *             item = tmp
 */
    __pyx_t_2 = (__pyx_v_tmp == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "View.MemoryView":465
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
 *                 raise MemoryError             # <<<<<<<<<<<<<<
 *             item = tmp
 *         else:
 */
      PyErr_NoMemory(); __PYX_ERR(2, 465, __pyx_L1_error)

      /* "View.MemoryView":464
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError
 *             item = tmp
 */
    }

    /* "View.MemoryView":466
 *             if tmp == NULL:
 *                 raise MemoryError
 *             item = tmp             # <<<<<<<<<<<<<<
 *         else:
 *             item = <void *> array
 */
    __pyx_v_item = __pyx_v_tmp;

    /* "View.MemoryView":462
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):             # <<<<<<<<<<<<<<
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":468
 *             item = tmp
 *         else:
 *             item = <void *> array             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  /*else*/ {
    __pyx_v_item = ((void *)__pyx_v_array);
  }
  __pyx_L3:;

  /* "View.MemoryView":470
 *             item = <void *> array
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 (<PyObject **> item)[0] = <PyObject *> value
 */
  /*try:*/ {

    /* "View.MemoryView":471
 * 
 *         try:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
 */
    if (__pyx_v_self->dtype_is_object) {

      /* "View.MemoryView":472
 *         try:
 *             if self.dtype_is_object:
 *                 (<PyObject **> item)[0] = <PyObject *> value             # <<<<<<<<<<<<<<
 *             else:
 *                 self.assign_item_from_object(<char *> item, value)
 */
      (((PyObject **)__pyx_v_item)[0]) = ((PyObject *)__pyx_v_value);

      /* "View.MemoryView":471
 * 
 *         try:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
 */
      goto __pyx_L8;
    }

    /* "View.MemoryView":474
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
 *                 self.assign_item_from_object(<char *> item, value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    /*else*/ {
      __pyx_t_3 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, ((char *)__pyx_v_item), __pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 474, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_L8:;

    /* "View.MemoryView":478
 * 
 * 
 *             if self.view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
 */
    __pyx_t_2 = (__pyx_v_self->view.suboffsets != NULL);
    if (__pyx_t_2) {

      /* "View.MemoryView":479
 * 
 *             if self.view.suboffsets != NULL:
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)             # <<<<<<<<<<<<<<
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
 *                                 item, self.dtype_is_object)
 */
      __pyx_t_4 = assert_direct_dimensions(__pyx_v_self->view.suboffsets, __pyx_v_self->view.ndim); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 479, __pyx_L6_error)

      /* "View.MemoryView":478
 * 
 * 
 *             if self.view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
 */
    }

    /* "View.MemoryView":480
 *             if self.view.suboffsets != NULL:
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,             # <<<<<<<<<<<<<<
 *                                 item, self.dtype_is_object)
 *         finally:
 */
    __pyx_memoryview_slice_assign_scalar(__pyx_v_dst_slice, __pyx_v_dst->view.ndim, __pyx_v_self->view.itemsize, __pyx_v_item, __pyx_v_self->dtype_is_object);
  }

  /* "View.MemoryView":483
 *                                 item, self.dtype_is_object)
 *         finally:
 *             PyMem_Free(tmp)             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_indexed(self, index, value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      PyMem_Free(__pyx_v_tmp);
      goto __pyx_L7;
    }
    __pyx_L6_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename;
      {
        PyMem_Free(__pyx_v_tmp);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6;
      goto __pyx_L1_error;
    }
    __pyx_L7:;
  }

  /* "View.MemoryView":453
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):             # <<<<<<<<<<<<<<
 *         cdef int array[128]
 *         cdef void *tmp = NULL
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_slice_assign_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":485
 *             PyMem_Free(tmp)
 * 
 *     cdef setitem_indexed(self, index, value):             # <<<<<<<<<<<<<<
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)
 */

static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  char *__pyx_v_itemp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_indexed", 1);

  /* "View.MemoryView":486
 * 
 *     cdef setitem_indexed(self, index, value):
 *         cdef char *itemp = self.get_item_pointer(index)             # <<<<<<<<<<<<<<
 *         self.assign_item_from_object(itemp, value)
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->get_item_pointer(__pyx_v_self, __pyx_v_index); if (unlikely(__pyx_t_1 == ((char *)NULL))) __PYX_ERR(2, 486, __pyx_L1_error)
  __pyx_v_itemp = __pyx_t_1;

  /* "View.MemoryView":487
 *     cdef setitem_indexed(self, index, value):
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, __pyx_v_itemp, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":485
 *             PyMem_Free(tmp)
 * 
 *     cdef setitem_indexed(self, index, value):             # <<<<<<<<<<<<<<
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_indexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":489
 *         self.assign_item_from_object(itemp, value)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 */

static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp) {
  PyObject *__pyx_v_struct = NULL;
  PyObject *__pyx_v_bytesitem = 0;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("convert_item_to_object", 1);

  /* "View.MemoryView":492
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 *         import struct             # <<<<<<<<<<<<<<
 *         cdef bytes bytesitem
 * 
 */
  __pyx_t_1 = __Pyx_ImportDottedModule(__pyx_n_s_struct, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_struct = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "View.MemoryView":495
 *         cdef bytes bytesitem
 * 
 *         bytesitem = itemp[:self.view.itemsize]             # <<<<<<<<<<<<<<
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)
 */
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_itemp + 0, __pyx_v_self->view.itemsize - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_bytesitem = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":496
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "View.MemoryView":497
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)             # <<<<<<<<<<<<<<
 *         except struct.error:
 *             raise ValueError, "Unable to convert item to object"
 */
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_n_s_unpack); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 497, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 497, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_8 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_6, __pyx_v_bytesitem};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8);
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 497, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
      __pyx_v_result = __pyx_t_1;
      __pyx_t_1 = 0;

      /* "View.MemoryView":496
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
 */
    }

    /* "View.MemoryView":501
 *             raise ValueError, "Unable to convert item to object"
 *         else:
 *             if len(self.view.format) == 1:             # <<<<<<<<<<<<<<
 *                 return result[0]
 *             return result
 */
    /*else:*/ {
      __pyx_t_9 = __Pyx_ssize_strlen(__pyx_v_self->view.format); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(2, 501, __pyx_L5_except_error)
      __pyx_t_10 = (__pyx_t_9 == 1);
      if (__pyx_t_10) {

        /* "View.MemoryView":502
 *         else:
 *             if len(self.view.format) == 1:
 *                 return result[0]             # <<<<<<<<<<<<<<
 *             return result
 * 
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_result, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 502, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_r = __pyx_t_1;
        __pyx_t_1 = 0;
        goto __pyx_L6_except_return;

        /* "View.MemoryView":501
 *             raise ValueError, "Unable to convert item to object"
 *         else:
 *             if len(self.view.format) == 1:             # <<<<<<<<<<<<<<
 *                 return result[0]
 *             return result
 */
      }

      /* "View.MemoryView":503
 *             if len(self.view.format) == 1:
 *                 return result[0]
 *             return result             # <<<<<<<<<<<<<<
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_result);
      __pyx_r = __pyx_v_result;
      goto __pyx_L6_except_return;
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "View.MemoryView":498
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Unable to convert item to object"
 *         else:
 */
    __Pyx_ErrFetch(&__pyx_t_1, &__pyx_t_5, &__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_n_s_error); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 498, __pyx_L5_except_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_1, __pyx_t_7);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_ErrRestore(__pyx_t_1, __pyx_t_5, __pyx_t_6);
    __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0;
    if (__pyx_t_11) {
      __Pyx_AddTraceback("View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(2, 498, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_1);

      /* "View.MemoryView":499
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
 *             raise ValueError, "Unable to convert item to object"             # <<<<<<<<<<<<<<
 *         else:
 *             if len(self.view.format) == 1:
 */
      __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Unable_to_convert_item_to_object, 0, 0);
      __PYX_ERR(2, 499, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "View.MemoryView":496
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
  }

  /* "View.MemoryView":489
 *         self.assign_item_from_object(itemp, value)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_struct);
  __Pyx_XDECREF(__pyx_v_bytesitem);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":505
 *             return result
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 */

static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_struct = NULL;
  char __pyx_v_c;
  PyObject *__pyx_v_bytesvalue = 0;
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  char *__pyx_t_9;
  char *__pyx_t_10;
  char *__pyx_t_11;
  char *__pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("assign_item_from_object", 1);

  /* "View.MemoryView":508
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 *         import struct             # <<<<<<<<<<<<<<
 *         cdef char c
 *         cdef bytes bytesvalue
 */
  __pyx_t_1 = __Pyx_ImportDottedModule(__pyx_n_s_struct, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_struct = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "View.MemoryView":513
 *         cdef Py_ssize_t i
 * 
 *         if isinstance(value, tuple):             # <<<<<<<<<<<<<<
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
 */
  __pyx_t_2 = PyTuple_Check(__pyx_v_value); 
  if (__pyx_t_2) {

    /* "View.MemoryView":514
 * 
 *         if isinstance(value, tuple):
 *             bytesvalue = struct.pack(self.view.format, *value)             # <<<<<<<<<<<<<<
 *         else:
 *             bytesvalue = struct.pack(self.view.format, value)
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_n_s_pack); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(2, 514, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (!(likely(PyBytes_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_3))) __PYX_ERR(2, 514, __pyx_L1_error)
    __pyx_v_bytesvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":513
 *         cdef Py_ssize_t i
 * 
 *         if isinstance(value, tuple):             # <<<<<<<<<<<<<<
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":516
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
 *             bytesvalue = struct.pack(self.view.format, value)             # <<<<<<<<<<<<<<
 * 
 *         for i, c in enumerate(bytesvalue):
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_n_s_pack); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_1, __pyx_v_value};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    if (!(likely(PyBytes_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_3))) __PYX_ERR(2, 516, __pyx_L1_error)
    __pyx_v_bytesvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "View.MemoryView":518
 *             bytesvalue = struct.pack(self.view.format, value)
 * 
 *         for i, c in enumerate(bytesvalue):             # <<<<<<<<<<<<<<
 *             itemp[i] = c
 * 
 */
  __pyx_t_7 = 0;
  if (unlikely(__pyx_v_bytesvalue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable");
    __PYX_ERR(2, 518, __pyx_L1_error)
  }
  __Pyx_INCREF(__pyx_v_bytesvalue);
  __pyx_t_8 = __pyx_v_bytesvalue;
  __pyx_t_10 = PyBytes_AS_STRING(__pyx_t_8);
  __pyx_t_11 = (__pyx_t_10 + PyBytes_GET_SIZE(__pyx_t_8));
  for (__pyx_t_12 = __pyx_t_10; __pyx_t_12 < __pyx_t_11; __pyx_t_12++) {
    __pyx_t_9 = __pyx_t_12;
    __pyx_v_c = (__pyx_t_9[0]);

    /* "View.MemoryView":519
 * 
 *         for i, c in enumerate(bytesvalue):
 *             itemp[i] = c             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
 */
    __pyx_v_i = __pyx_t_7;

    /* "View.MemoryView":518
 *             bytesvalue = struct.pack(self.view.format, value)
 * 
 *         for i, c in enumerate(bytesvalue):             # <<<<<<<<<<<<<<
 *             itemp[i] = c
 * 
 */
    __pyx_t_7 = (__pyx_t_7 + 1);

    /* "View.MemoryView":519
 * 
 *         for i, c in enumerate(bytesvalue):
 *             itemp[i] = c             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
 */
    (__pyx_v_itemp[__pyx_v_i]) = __pyx_v_c;
  }
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "View.MemoryView":505
 *             return result
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("View.MemoryView.memoryview.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_struct);
  __Pyx_XDECREF(__pyx_v_bytesvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":521
 *             itemp[i] = c
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
 */

/* Python wrapper */
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  char *__pyx_t_4;
  void *__pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  if (unlikely(__pyx_v_info == NULL)) {
    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
    return -1;
  }
  __Pyx_RefNannySetupContext("__getbuffer__", 0);
  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(__pyx_v_info->obj);

  /* "View.MemoryView":523
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 */
  __pyx_t_2 = ((__pyx_v_flags & PyBUF_WRITABLE) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->view.readonly;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":524
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_ND:
 */
    __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Cannot_create_writable_memory_vi, 0, 0);
    __PYX_ERR(2, 524, __pyx_L1_error)

    /* "View.MemoryView":523
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 */
  }

  /* "View.MemoryView":526
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 *         if flags & PyBUF_ND:             # <<<<<<<<<<<<<<
 *             info.shape = self.view.shape
 *         else:
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":527
 * 
 *         if flags & PyBUF_ND:
 *             info.shape = self.view.shape             # <<<<<<<<<<<<<<
 *         else:
 *             info.shape = NULL
 */
    __pyx_t_3 = __pyx_v_self->view.shape;
    __pyx_v_info->shape = __pyx_t_3;

    /* "View.MemoryView":526
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 *         if flags & PyBUF_ND:             # <<<<<<<<<<<<<<
 *             info.shape = self.view.shape
 *         else:
 */
    goto __pyx_L6;
  }

  /* "View.MemoryView":529
 *             info.shape = self.view.shape
 *         else:
 *             info.shape = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_STRIDES:
 */
  /*else*/ {
    __pyx_v_info->shape = NULL;
  }
  __pyx_L6:;

  /* "View.MemoryView":531
 *             info.shape = NULL
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.strides = self.view.strides
 *         else:
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":532
 * 
 *         if flags & PyBUF_STRIDES:
 *             info.strides = self.view.strides             # <<<<<<<<<<<<<<
 *         else:
 *             info.strides = NULL
 */
    __pyx_t_3 = __pyx_v_self->view.strides;
    __pyx_v_info->strides = __pyx_t_3;

    /* "View.MemoryView":531
 *             info.shape = NULL
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.strides = self.view.strides
 *         else:
 */
    goto __pyx_L7;
  }

  /* "View.MemoryView":534
 *             info.strides = self.view.strides
 *         else:
 *             info.strides = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_INDIRECT:
 */
  /*else*/ {
    __pyx_v_info->strides = NULL;
  }
  __pyx_L7:;

  /* "View.MemoryView":536
 *             info.strides = NULL
 * 
 *         if flags & PyBUF_INDIRECT:             # <<<<<<<<<<<<<<
 *             info.suboffsets = self.view.suboffsets
 *         else:
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_INDIRECT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":537
 * 
 *         if flags & PyBUF_INDIRECT:
 *             info.suboffsets = self.view.suboffsets             # <<<<<<<<<<<<<<
 *         else:
 *             info.suboffsets = NULL
 */
    __pyx_t_3 = __pyx_v_self->view.suboffsets;
    __pyx_v_info->suboffsets = __pyx_t_3;

    /* "View.MemoryView":536
 *             info.strides = NULL
 * 
 *         if flags & PyBUF_INDIRECT:             # <<<<<<<<<<<<<<
 *             info.suboffsets = self.view.suboffsets
 *         else:
 */
    goto __pyx_L8;
  }

  /* "View.MemoryView":539
 *             info.suboffsets = self.view.suboffsets
 *         else:
 *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_FORMAT:
 */
  /*else*/ {
    __pyx_v_info->suboffsets = NULL;
  }
  __pyx_L8:;

  /* "View.MemoryView":541
 *             info.suboffsets = NULL
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             info.format = self.view.format
 *         else:
 */
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":542
 * 
 *         if flags & PyBUF_FORMAT:
 *             info.format = self.view.format             # <<<<<<<<<<<<<<
 *         else:
 *             info.format = NULL
 */
    __pyx_t_4 = __pyx_v_self->view.format;
    __pyx_v_info->format = __pyx_t_4;

    /* "View.MemoryView":541
 *             info.suboffsets = NULL
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             info.format = self.view.format
 *         else:
 */
    goto __pyx_L9;
  }

  /* "View.MemoryView":544
 *             info.format = self.view.format
 *         else:
 *             info.format = NULL             # <<<<<<<<<<<<<<
 * 
 *         info.buf = self.view.buf
 */
  /*else*/ {
    __pyx_v_info->format = NULL;
  }
  __pyx_L9:;

  /* "View.MemoryView":546
 *             info.format = NULL
 * 
 *         info.buf = self.view.buf             # <<<<<<<<<<<<<<
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize
 */
  __pyx_t_5 = __pyx_v_self->view.buf;
  __pyx_v_info->buf = __pyx_t_5;

  /* "View.MemoryView":547
 * 
 *         info.buf = self.view.buf
 *         info.ndim = self.view.ndim             # <<<<<<<<<<<<<<
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len
 */
  __pyx_t_6 = __pyx_v_self->view.ndim;
  __pyx_v_info->ndim = __pyx_t_6;

  /* "View.MemoryView":548
 *         info.buf = self.view.buf
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize             # <<<<<<<<<<<<<<
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly
 */
  __pyx_t_7 = __pyx_v_self->view.itemsize;
  __pyx_v_info->itemsize = __pyx_t_7;

  /* "View.MemoryView":549
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len             # <<<<<<<<<<<<<<
 *         info.readonly = self.view.readonly
 *         info.obj = self
 */
  __pyx_t_7 = __pyx_v_self->view.len;
  __pyx_v_info->len = __pyx_t_7;

  /* "View.MemoryView":550
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly             # <<<<<<<<<<<<<<
 *         info.obj = self
 * 
 */
  __pyx_t_1 = __pyx_v_self->view.readonly;
  __pyx_v_info->readonly = __pyx_t_1;

  /* "View.MemoryView":551
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly
 *         info.obj = self             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF(__pyx_v_info->obj);
  __Pyx_DECREF(__pyx_v_info->obj);
  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);

  /* "View.MemoryView":521
 *             itemp[i] = c
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  if (__pyx_v_info->obj != NULL) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  goto __pyx_L2;
  __pyx_L0:;
  if (__pyx_v_info->obj == Py_None) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  __pyx_L2:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":554
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":556
 *     @property
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)             # <<<<<<<<<<<<<<
 *         transpose_memslice(&result.from_slice)
 *         return result
 */
  __pyx_t_1 = __pyx_memoryview_copy_object(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_memoryviewslice_type))))) __PYX_ERR(2, 556, __pyx_L1_error)
  __pyx_v_result = ((struct __pyx_memoryviewslice_obj *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":557
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
 *         transpose_memslice(&result.from_slice)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
  __pyx_t_2 = __pyx_memslice_transpose((&__pyx_v_result->from_slice)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 557, __pyx_L1_error)

  /* "View.MemoryView":558
 *         cdef _memoryviewslice result = memoryview_copy(self)
 *         transpose_memslice(&result.from_slice)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":554
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.T.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":560
 *         return result
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def base(self):
 *         return self._get_base()
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":562
 *     @property
 *     def base(self):
 *         return self._get_base()             # <<<<<<<<<<<<<<
 * 
 *     cdef _get_base(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->_get_base(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":560
 *         return result
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def base(self):
 *         return self._get_base()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.base.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":564
 *         return self._get_base()
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.obj
 * 
 */

static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_get_base", 1);

  /* "View.MemoryView":565
 * 
 *     cdef _get_base(self):
 *         return self.obj             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->obj);
  __pyx_r = __pyx_v_self->obj;
  goto __pyx_L0;

  /* "View.MemoryView":564
 *         return self._get_base()
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.obj
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":567
 *         return self.obj
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_7genexpr__pyx_v_length;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":569
 *     @property
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
    for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_7genexpr__pyx_v_length = (__pyx_t_2[0]);
      __pyx_t_5 = PyInt_FromSsize_t(__pyx_7genexpr__pyx_v_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 569, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(2, 569, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_t_5 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":567
 *         return self.obj
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":571
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def strides(self):
 *         if self.view.strides == NULL:
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_8genexpr1__pyx_v_stride;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":573
 *     @property
 *     def strides(self):
 *         if self.view.strides == NULL:             # <<<<<<<<<<<<<<
 * 
 *             raise ValueError, "Buffer view does not expose strides"
 */
  __pyx_t_1 = (__pyx_v_self->view.strides == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":575
 *         if self.view.strides == NULL:
 * 
 *             raise ValueError, "Buffer view does not expose strides"             # <<<<<<<<<<<<<<
 * 
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
 */
    __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Buffer_view_does_not_expose_stri, 0, 0);
    __PYX_ERR(2, 575, __pyx_L1_error)

    /* "View.MemoryView":573
 *     @property
 *     def strides(self):
 *         if self.view.strides == NULL:             # <<<<<<<<<<<<<<
 * 
 *             raise ValueError, "Buffer view does not expose strides"
 */
  }

  /* "View.MemoryView":577
 *             raise ValueError, "Buffer view does not expose strides"
 * 
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (__pyx_v_self->view.strides + __pyx_v_self->view.ndim);
    for (__pyx_t_5 = __pyx_v_self->view.strides; __pyx_t_5 < __pyx_t_4; __pyx_t_5++) {
      __pyx_t_3 = __pyx_t_5;
      __pyx_8genexpr1__pyx_v_stride = (__pyx_t_3[0]);
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_8genexpr1__pyx_v_stride); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(2, 577, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":571
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def strides(self):
 *         if self.view.strides == NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("View.MemoryView.memoryview.strides.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":579
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_8genexpr2__pyx_v_suboffset;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":581
 *     @property
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:             # <<<<<<<<<<<<<<
 *             return (-1,) * self.view.ndim
 * 
 */
  __pyx_t_1 = (__pyx_v_self->view.suboffsets == NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":582
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 *             return (-1,) * self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PySequence_Multiply(__pyx_tuple__6, __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":581
 *     @property
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:             # <<<<<<<<<<<<<<
 *             return (-1,) * self.view.ndim
 * 
 */
  }

  /* "View.MemoryView":584
 *             return (-1,) * self.view.ndim
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (__pyx_v_self->view.suboffsets + __pyx_v_self->view.ndim);
    for (__pyx_t_5 = __pyx_v_self->view.suboffsets; __pyx_t_5 < __pyx_t_4; __pyx_t_5++) {
      __pyx_t_3 = __pyx_t_5;
      __pyx_8genexpr2__pyx_v_suboffset = (__pyx_t_3[0]);
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_8genexpr2__pyx_v_suboffset); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 584, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(2, 584, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":579
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("View.MemoryView.memoryview.suboffsets.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":586
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ndim(self):
 *         return self.view.ndim
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":588
 *     @property
 *     def ndim(self):
 *         return self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->view.ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":586
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ndim(self):
 *         return self.view.ndim
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":590
 *         return self.view.ndim
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def itemsize(self):
 *         return self.view.itemsize
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":592
 *     @property
 *     def itemsize(self):
 *         return self.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->view.itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":590
 *         return self.view.ndim
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def itemsize(self):
 *         return self.view.itemsize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.itemsize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":594
 *         return self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def nbytes(self):
 *         return self.size * self.view.itemsize
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":596
 *     @property
 *     def nbytes(self):
 *         return self.size * self.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->view.itemsize); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":594
 *         return self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def nbytes(self):
 *         return self.size * self.view.itemsize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.nbytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":598
 *         return self.size * self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         if self._size is None:
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_length = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "View.MemoryView":600
 *     @property
 *     def size(self):
 *         if self._size is None:             # <<<<<<<<<<<<<<
 *             result = 1
 * 
 */
  __pyx_t_1 = (__pyx_v_self->_size == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":601
 *     def size(self):
 *         if self._size is None:
 *             result = 1             # <<<<<<<<<<<<<<
 * 
 *             for length in self.view.shape[:self.view.ndim]:
 */
    __Pyx_INCREF(__pyx_int_1);
    __pyx_v_result = __pyx_int_1;

    /* "View.MemoryView":603
 *             result = 1
 * 
 *             for length in self.view.shape[:self.view.ndim]:             # <<<<<<<<<<<<<<
 *                 result *= length
 * 
 */
    __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
    for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_2[0])); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 603, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_length, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "View.MemoryView":604
 * 
 *             for length in self.view.shape[:self.view.ndim]:
 *                 result *= length             # <<<<<<<<<<<<<<
 * 
 *             self._size = result
 */
      __pyx_t_5 = PyNumber_InPlaceMultiply(__pyx_v_result, __pyx_v_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_5);
      __pyx_t_5 = 0;
    }

    /* "View.MemoryView":606
 *                 result *= length
 * 
 *             self._size = result             # <<<<<<<<<<<<<<
 * 
 *         return self._size
 */
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    __Pyx_GOTREF(__pyx_v_self->_size);
    __Pyx_DECREF(__pyx_v_self->_size);
    __pyx_v_self->_size = __pyx_v_result;

    /* "View.MemoryView":600
 *     @property
 *     def size(self):
 *         if self._size is None:             # <<<<<<<<<<<<<<
 *             result = 1
 * 
 */
  }

  /* "View.MemoryView":608
 *             self._size = result
 * 
 *         return self._size             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_size);
  __pyx_r = __pyx_v_self->_size;
  goto __pyx_L0;

  /* "View.MemoryView":598
 *         return self.size * self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         if self._size is None:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_length);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":610
 *         return self._size
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]
 */

/* Python wrapper */
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  int __pyx_t_1;

  /* "View.MemoryView":611
 * 
 *     def __len__(self):
 *         if self.view.ndim >= 1:             # <<<<<<<<<<<<<<
 *             return self.view.shape[0]
 * 
 */
  __pyx_t_1 = (__pyx_v_self->view.ndim >= 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":612
 *     def __len__(self):
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]             # <<<<<<<<<<<<<<
 * 
 *         return 0
 */
    __pyx_r = (__pyx_v_self->view.shape[0]);
    goto __pyx_L0;

    /* "View.MemoryView":611
 * 
 *     def __len__(self):
 *         if self.view.ndim >= 1:             # <<<<<<<<<<<<<<
 *             return self.view.shape[0]
 * 
 */
  }

  /* "View.MemoryView":614
 *             return self.view.shape[0]
 * 
 *         return 0             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":610
 *         return self._size
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":616
 *         return 0
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))
 */

/* Python wrapper */
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);

  /* "View.MemoryView":617
 * 
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,             # <<<<<<<<<<<<<<
 *                                                id(self))
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":618
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "View.MemoryView":617
 * 
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,             # <<<<<<<<<<<<<<
 *                                                id(self))
 * 
 */
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(2, 617, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2)) __PYX_ERR(2, 617, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_MemoryView_of_r_at_0x_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":616
 *         return 0
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":620
 *                                                id(self))
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__str__", 1);

  /* "View.MemoryView":621
 * 
 *     def __str__(self):
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(2, 621, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_MemoryView_of_r_object, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":620
 *                                                id(self))
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":624
 * 
 * 
 *     def is_c_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 */

/* Python wrapper */
static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_c_contig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("is_c_contig", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_c_contig", 0))) return NULL;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice *__pyx_v_mslice;
  __Pyx_memviewslice __pyx_v_tmp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_c_contig", 1);

  /* "View.MemoryView":627
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)             # <<<<<<<<<<<<<<
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
 */
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp)); if (unlikely(__pyx_t_1 == ((__Pyx_memviewslice *)NULL))) __PYX_ERR(2, 627, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":628
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *     def is_f_contig(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]), 'C', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":624
 * 
 * 
 *     def is_c_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_c_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":630
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
 *     def is_f_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 */

/* Python wrapper */
static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_f_contig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("is_f_contig", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_f_contig", 0))) return NULL;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice *__pyx_v_mslice;
  __Pyx_memviewslice __pyx_v_tmp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_f_contig", 1);

  /* "View.MemoryView":633
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)             # <<<<<<<<<<<<<<
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
 */
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp)); if (unlikely(__pyx_t_1 == ((__Pyx_memviewslice *)NULL))) __PYX_ERR(2, 633, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":634
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *     def copy(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]), 'F', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":630
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
 *     def is_f_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_f_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":636
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
 */

/* Python wrapper */
static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy", 0))) return NULL;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice __pyx_v_mslice;
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy", 1);

  /* "View.MemoryView":638
 *     def copy(self):
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS             # <<<<<<<<<<<<<<
 * 
 *         slice_copy(self, &mslice)
 */
  __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_F_CONTIGUOUS));

  /* "View.MemoryView":640
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
 * 
 *         slice_copy(self, &mslice)             # <<<<<<<<<<<<<<
 *         mslice = slice_copy_contig(&mslice, "c", self.view.ndim,
 *                                    self.view.itemsize,
 */
  __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_mslice));

  /* "View.MemoryView":641
 * 
 *         slice_copy(self, &mslice)
 *         mslice = slice_copy_contig(&mslice, "c", self.view.ndim,             # <<<<<<<<<<<<<<
 *                                    self.view.itemsize,
 *                                    flags|PyBUF_C_CONTIGUOUS,
 */
  __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_mslice), ((char *)"c"), __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_C_CONTIGUOUS), __pyx_v_self->dtype_is_object); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 641, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":646
 *                                    self.dtype_is_object)
 * 
 *         return memoryview_copy_from_slice(self, &mslice)             # <<<<<<<<<<<<<<
 * 
 *     def copy_fortran(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_mslice)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":636
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":648
 *         return memoryview_copy_from_slice(self, &mslice)
 * 
 *     def copy_fortran(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
 */

/* Python wrapper */
static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy_fortran (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("copy_fortran", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy_fortran", 0))) return NULL;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice __pyx_v_src;
  __Pyx_memviewslice __pyx_v_dst;
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy_fortran", 1);

  /* "View.MemoryView":650
 *     def copy_fortran(self):
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS             # <<<<<<<<<<<<<<
 * 
 *         slice_copy(self, &src)
 */
  __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_C_CONTIGUOUS));

  /* "View.MemoryView":652
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
 * 
 *         slice_copy(self, &src)             # <<<<<<<<<<<<<<
 *         dst = slice_copy_contig(&src, "fortran", self.view.ndim,
 *                                 self.view.itemsize,
 */
  __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_src));

  /* "View.MemoryView":653
 * 
 *         slice_copy(self, &src)
 *         dst = slice_copy_contig(&src, "fortran", self.view.ndim,             # <<<<<<<<<<<<<<
 *                                 self.view.itemsize,
 *                                 flags|PyBUF_F_CONTIGUOUS,
 */
  __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_src), ((char *)"fortran"), __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_F_CONTIGUOUS), __pyx_v_self->dtype_is_object); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 653, __pyx_L1_error)
  __pyx_v_dst = __pyx_t_1;

  /* "View.MemoryView":658
 *                                 self.dtype_is_object)
 * 
 *         return memoryview_copy_from_slice(self, &dst)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_dst)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":648
 *         return memoryview_copy_from_slice(self, &mslice)
 * 
 *     def copy_fortran(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.copy_fortran", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf___pyx_memoryview___reduce_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_memoryview_2__setstate_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":662
 * 
 * @cname('__pyx_memoryview_new')
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, __Pyx_TypeInfo *typeinfo):             # <<<<<<<<<<<<<<
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo
 */

static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, int __pyx_v_dtype_is_object, __Pyx_TypeInfo *__pyx_v_typeinfo) {
  struct __pyx_memoryview_obj *__pyx_v_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_cwrapper", 1);

  /* "View.MemoryView":663
 * @cname('__pyx_memoryview_new')
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)             # <<<<<<<<<<<<<<
 *     result.typeinfo = typeinfo
 *     return result
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_o);
  __Pyx_GIVEREF(__pyx_v_o);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_o)) __PYX_ERR(2, 663, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(2, 663, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(2, 663, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_result = ((struct __pyx_memoryview_obj *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "View.MemoryView":664
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo             # <<<<<<<<<<<<<<
 *     return result
 * 
 */
  __pyx_v_result->typeinfo = __pyx_v_typeinfo;

  /* "View.MemoryView":665
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo
 *     return result             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_check')
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":662
 * 
 * @cname('__pyx_memoryview_new')
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, __Pyx_TypeInfo *typeinfo):             # <<<<<<<<<<<<<<
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":668
 * 
 * @cname('__pyx_memoryview_check')
 * cdef inline bint memoryview_check(object o) noexcept:             # <<<<<<<<<<<<<<
 *     return isinstance(o, memoryview)
 * 
 */

static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
  int __pyx_r;
  int __pyx_t_1;

  /* "View.MemoryView":669
 * @cname('__pyx_memoryview_check')
 * cdef inline bint memoryview_check(object o) noexcept:
 *     return isinstance(o, memoryview)             # <<<<<<<<<<<<<<
 * 
 * cdef tuple _unellipsify(object index, int ndim):
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_o, __pyx_memoryview_type); 
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "View.MemoryView":668
 * 
 * @cname('__pyx_memoryview_check')
 * cdef inline bint memoryview_check(object o) noexcept:             # <<<<<<<<<<<<<<
 *     return isinstance(o, memoryview)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":671
 *     return isinstance(o, memoryview)
 * 
 * cdef tuple _unellipsify(object index, int ndim):             # <<<<<<<<<<<<<<
 *     """
 *     Replace all ellipses with full slices and fill incomplete indices with
 */

static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_tup = NULL;
  PyObject *__pyx_v_result = NULL;
  int __pyx_v_have_slices;
  int __pyx_v_seen_ellipsis;
  PyObject *__pyx_v_item = NULL;
  Py_ssize_t __pyx_v_nslices;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_UCS4 __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_unellipsify", 1);

  /* "View.MemoryView":677
 *     """
 *     cdef Py_ssize_t idx
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)             # <<<<<<<<<<<<<<
 * 
 *     result = [slice(None)] * ndim
 */
  __pyx_t_2 = PyTuple_Check(__pyx_v_index); 
  if (__pyx_t_2) {
    __Pyx_INCREF(((PyObject*)__pyx_v_index));
    __pyx_t_1 = __pyx_v_index;
  } else {
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_index);
    __Pyx_GIVEREF(__pyx_v_index);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index)) __PYX_ERR(2, 677, __pyx_L1_error);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  __pyx_v_tup = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":679
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)
 * 
 *     result = [slice(None)] * ndim             # <<<<<<<<<<<<<<
 *     have_slices = False
 *     seen_ellipsis = False
 */
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_ndim<0) ? 0:__pyx_v_ndim)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_ndim; __pyx_temp++) {
      __Pyx_INCREF(__pyx_slice__7);
      __Pyx_GIVEREF(__pyx_slice__7);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_slice__7)) __PYX_ERR(2, 679, __pyx_L1_error);
    }
  }
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":680
 * 
 *     result = [slice(None)] * ndim
 *     have_slices = False             # <<<<<<<<<<<<<<
 *     seen_ellipsis = False
 *     idx = 0
 */
  __pyx_v_have_slices = 0;

  /* "View.MemoryView":681
 *     result = [slice(None)] * ndim
 *     have_slices = False
 *     seen_ellipsis = False             # <<<<<<<<<<<<<<
 *     idx = 0
 *     for item in tup:
 */
  __pyx_v_seen_ellipsis = 0;

  /* "View.MemoryView":682
 *     have_slices = False
 *     seen_ellipsis = False
 *     idx = 0             # <<<<<<<<<<<<<<
 *     for item in tup:
 *         if item is Ellipsis:
 */
  __pyx_v_idx = 0;

  /* "View.MemoryView":683
 *     seen_ellipsis = False
 *     idx = 0
 *     for item in tup:             # <<<<<<<<<<<<<<
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
 */
  if (unlikely(__pyx_v_tup == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(2, 683, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 683, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(2, 683, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":684
 *     idx = 0
 *     for item in tup:
 *         if item is Ellipsis:             # <<<<<<<<<<<<<<
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
 */
    __pyx_t_2 = (__pyx_v_item == __pyx_builtin_Ellipsis);
    if (__pyx_t_2) {

      /* "View.MemoryView":685
 *     for item in tup:
 *         if item is Ellipsis:
 *             if not seen_ellipsis:             # <<<<<<<<<<<<<<
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
 */
      __pyx_t_2 = (!__pyx_v_seen_ellipsis);
      if (__pyx_t_2) {

        /* "View.MemoryView":686
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)             # <<<<<<<<<<<<<<
 *                 seen_ellipsis = True
 *             have_slices = True
 */
        if (unlikely(__pyx_v_tup == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
          __PYX_ERR(2, 686, __pyx_L1_error)
        }
        __pyx_t_5 = __Pyx_PyTuple_GET_SIZE(__pyx_v_tup); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 686, __pyx_L1_error)
        __pyx_v_idx = (__pyx_v_idx + (__pyx_v_ndim - __pyx_t_5));

        /* "View.MemoryView":687
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True             # <<<<<<<<<<<<<<
 *             have_slices = True
 *         else:
 */
        __pyx_v_seen_ellipsis = 1;

        /* "View.MemoryView":685
 *     for item in tup:
 *         if item is Ellipsis:
 *             if not seen_ellipsis:             # <<<<<<<<<<<<<<
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
 */
      }

      /* "View.MemoryView":688
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
 *             have_slices = True             # <<<<<<<<<<<<<<
 *         else:
 *             if isinstance(item, slice):
 */
      __pyx_v_have_slices = 1;

      /* "View.MemoryView":684
 *     idx = 0
 *     for item in tup:
 *         if item is Ellipsis:             # <<<<<<<<<<<<<<
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
 */
      goto __pyx_L5;
    }

    /* "View.MemoryView":690
 *             have_slices = True
 *         else:
 *             if isinstance(item, slice):             # <<<<<<<<<<<<<<
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
 */
    /*else*/ {
      __pyx_t_2 = PySlice_Check(__pyx_v_item); 
      if (__pyx_t_2) {

        /* "View.MemoryView":691
 *         else:
 *             if isinstance(item, slice):
 *                 have_slices = True             # <<<<<<<<<<<<<<
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 */
        __pyx_v_have_slices = 1;

        /* "View.MemoryView":690
 *             have_slices = True
 *         else:
 *             if isinstance(item, slice):             # <<<<<<<<<<<<<<
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
 */
        goto __pyx_L7;
      }

      /* "View.MemoryView":692
 *             if isinstance(item, slice):
 *                 have_slices = True
 *             elif not PyIndex_Check(item):             # <<<<<<<<<<<<<<
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
 */
      __pyx_t_2 = (!(PyIndex_Check(__pyx_v_item) != 0));
      if (unlikely(__pyx_t_2)) {

        /* "View.MemoryView":693
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"             # <<<<<<<<<<<<<<
 *             result[idx] = item
 *         idx += 1
 */
        __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 693, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = 0;
        __pyx_t_6 = 127;
        __Pyx_INCREF(__pyx_kp_u_Cannot_index_with_type);
        __pyx_t_5 += 24;
        __Pyx_GIVEREF(__pyx_kp_u_Cannot_index_with_type);
        PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Cannot_index_with_type);
        __pyx_t_7 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_item)), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 693, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_6;
        __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
        __pyx_t_7 = 0;
        __Pyx_INCREF(__pyx_kp_u__8);
        __pyx_t_5 += 1;
        __Pyx_GIVEREF(__pyx_kp_u__8);
        PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__8);
        __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 693, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_builtin_TypeError, __pyx_t_7, 0, 0);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __PYX_ERR(2, 693, __pyx_L1_error)

        /* "View.MemoryView":692
 *             if isinstance(item, slice):
 *                 have_slices = True
 *             elif not PyIndex_Check(item):             # <<<<<<<<<<<<<<
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
 */
      }
      __pyx_L7:;

      /* "View.MemoryView":694
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item             # <<<<<<<<<<<<<<
 *         idx += 1
 * 
 */
      if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_v_idx, __pyx_v_item, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1) < 0))) __PYX_ERR(2, 694, __pyx_L1_error)
    }
    __pyx_L5:;

    /* "View.MemoryView":695
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
 *         idx += 1             # <<<<<<<<<<<<<<
 * 
 *     nslices = ndim - idx
 */
    __pyx_v_idx = (__pyx_v_idx + 1);

    /* "View.MemoryView":683
 *     seen_ellipsis = False
 *     idx = 0
 *     for item in tup:             # <<<<<<<<<<<<<<
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "View.MemoryView":697
 *         idx += 1
 * 
 *     nslices = ndim - idx             # <<<<<<<<<<<<<<
 *     return have_slices or nslices, tuple(result)
 * 
 */
  __pyx_v_nslices = (__pyx_v_ndim - __pyx_v_idx);

  /* "View.MemoryView":698
 * 
 *     nslices = ndim - idx
 *     return have_slices or nslices, tuple(result)             # <<<<<<<<<<<<<<
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 */
  __Pyx_XDECREF(__pyx_r);
  if (!__pyx_v_have_slices) {
  } else {
    __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_have_slices); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_7 = PyInt_FromSsize_t(__pyx_v_nslices); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __pyx_t_7;
  __pyx_t_7 = 0;
  __pyx_L9_bool_binop_done:;
  __pyx_t_7 = PyList_AsTuple(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(2, 698, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7)) __PYX_ERR(2, 698, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_7 = 0;
  __pyx_r = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":671
 *     return isinstance(o, memoryview)
 * 
 * cdef tuple _unellipsify(object index, int ndim):             # <<<<<<<<<<<<<<
 *     """
 *     Replace all ellipses with full slices and fill incomplete indices with
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("View.MemoryView._unellipsify", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_tup);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":700
 *     return have_slices or nslices, tuple(result)
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:             # <<<<<<<<<<<<<<
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
 */

static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_suboffset;
  int __pyx_r;
  Py_ssize_t *__pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "View.MemoryView":701
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:             # <<<<<<<<<<<<<<
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"
 */
  __pyx_t_2 = (__pyx_v_suboffsets + __pyx_v_ndim);
  for (__pyx_t_3 = __pyx_v_suboffsets; __pyx_t_3 < __pyx_t_2; __pyx_t_3++) {
    __pyx_t_1 = __pyx_t_3;
    __pyx_v_suboffset = (__pyx_t_1[0]);

    /* "View.MemoryView":702
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag
 */
    __pyx_t_4 = (__pyx_v_suboffset >= 0);
    if (unlikely(__pyx_t_4)) {

      /* "View.MemoryView":703
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"             # <<<<<<<<<<<<<<
 *     return 0  # return type just used as an error flag
 * 
 */
      __Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_s_Indirect_dimensions_not_supporte, 0, 0);
      __PYX_ERR(2, 703, __pyx_L1_error)

      /* "View.MemoryView":702
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag
 */
    }
  }

  /* "View.MemoryView":704
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":700
 *     return have_slices or nslices, tuple(result)
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:             # <<<<<<<<<<<<<<
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.assert_direct_dimensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":711
 * 
 * @cname('__pyx_memview_slice')
 * cdef memoryview memview_slice(memoryview memview, object indices):             # <<<<<<<<<<<<<<
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim
 *     cdef bint negative_step
 */

static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {
  int __pyx_v_new_ndim;
  int __pyx_v_suboffset_dim;
  int __pyx_v_dim;
  __Pyx_memviewslice __pyx_v_src;
  __Pyx_memviewslice __pyx_v_dst;
  __Pyx_memviewslice *__pyx_v_p_src;
  struct __pyx_memoryviewslice_obj *__pyx_v_memviewsliceobj = 0;
  __Pyx_memviewslice *__pyx_v_p_dst;
  int *__pyx_v_p_suboffset_dim;
  Py_ssize_t __pyx_v_start;
  Py_ssize_t __pyx_v_stop;
  Py_ssize_t __pyx_v_step;
  Py_ssize_t __pyx_v_cindex;
  int __pyx_v_have_start;
  int __pyx_v_have_stop;
  int __pyx_v_have_step;
  PyObject *__pyx_v_index = NULL;
  struct __pyx_memoryview_obj *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  struct __pyx_memoryview_obj *__pyx_t_3;
  char *__pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memview_slice", 1);

  /* "View.MemoryView":712
 * @cname('__pyx_memview_slice')
 * cdef memoryview memview_slice(memoryview memview, object indices):
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim             # <<<<<<<<<<<<<<
 *     cdef bint negative_step
 *     cdef __Pyx_memviewslice src, dst
 */
  __pyx_v_new_ndim = 0;
  __pyx_v_suboffset_dim = -1;

  /* "View.MemoryView":719
 * 
 * 
 *     memset(&dst, 0, sizeof(dst))             # <<<<<<<<<<<<<<
 * 
 *     cdef _memoryviewslice memviewsliceobj
 */
  (void)(memset((&__pyx_v_dst), 0, (sizeof(__pyx_v_dst))));

  /* "View.MemoryView":723
 *     cdef _memoryviewslice memviewsliceobj
 * 
 *     assert memview.view.ndim > 0             # <<<<<<<<<<<<<<
 * 
 *     if isinstance(memview, _memoryviewslice):
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_memview->view.ndim > 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(2, 723, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 723, __pyx_L1_error)
  #endif

  /* "View.MemoryView":725
 *     assert memview.view.ndim > 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice
 */
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":726
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         memviewsliceobj = memview             # <<<<<<<<<<<<<<
 *         p_src = &memviewsliceobj.from_slice
 *     else:
 */
    if (!(likely(((((PyObject *)__pyx_v_memview)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type))))) __PYX_ERR(2, 726, __pyx_L1_error)
    __pyx_t_2 = ((PyObject *)__pyx_v_memview);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_memviewsliceobj = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":727
 *     if isinstance(memview, _memoryviewslice):
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice             # <<<<<<<<<<<<<<
 *     else:
 *         slice_copy(memview, &src)
 */
    __pyx_v_p_src = (&__pyx_v_memviewsliceobj->from_slice);

    /* "View.MemoryView":725
 *     assert memview.view.ndim > 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":729
 *         p_src = &memviewsliceobj.from_slice
 *     else:
 *         slice_copy(memview, &src)             # <<<<<<<<<<<<<<
 *         p_src = &src
 * 
 */
  /*else*/ {
    __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_src));

    /* "View.MemoryView":730
 *     else:
 *         slice_copy(memview, &src)
 *         p_src = &src             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_p_src = (&__pyx_v_src);
  }
  __pyx_L3:;

  /* "View.MemoryView":736
 * 
 * 
 *     dst.memview = p_src.memview             # <<<<<<<<<<<<<<
 *     dst.data = p_src.data
 * 
 */
  __pyx_t_3 = __pyx_v_p_src->memview;
  __pyx_v_dst.memview = __pyx_t_3;

  /* "View.MemoryView":737
 * 
 *     dst.memview = p_src.memview
 *     dst.data = p_src.data             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __pyx_v_p_src->data;
  __pyx_v_dst.data = __pyx_t_4;

  /* "View.MemoryView":742
 * 
 * 
 *     cdef __Pyx_memviewslice *p_dst = &dst             # <<<<<<<<<<<<<<
 *     cdef int *p_suboffset_dim = &suboffset_dim
 *     cdef Py_ssize_t start, stop, step, cindex
 */
  __pyx_v_p_dst = (&__pyx_v_dst);

  /* "View.MemoryView":743
 * 
 *     cdef __Pyx_memviewslice *p_dst = &dst
 *     cdef int *p_suboffset_dim = &suboffset_dim             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t start, stop, step, cindex
 *     cdef bint have_start, have_stop, have_step
 */
  __pyx_v_p_suboffset_dim = (&__pyx_v_suboffset_dim);

  /* "View.MemoryView":747
 *     cdef bint have_start, have_stop, have_step
 * 
 *     for dim, index in enumerate(indices):             # <<<<<<<<<<<<<<
 *         if PyIndex_Check(index):
 *             cindex = index
 */
  __pyx_t_5 = 0;
  if (likely(PyList_CheckExact(__pyx_v_indices)) || PyTuple_CheckExact(__pyx_v_indices)) {
    __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 747, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 747, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(2, 747, __pyx_L1_error)
        #else
        __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 747, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 747, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(2, 747, __pyx_L1_error)
        #else
        __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 747, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
      }
    } else {
      __pyx_t_8 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_8)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(2, 747, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_8);
    __pyx_t_8 = 0;
    __pyx_v_dim = __pyx_t_5;
    __pyx_t_5 = (__pyx_t_5 + 1);

    /* "View.MemoryView":748
 * 
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):             # <<<<<<<<<<<<<<
 *             cindex = index
 *             slice_memviewslice(
 */
    __pyx_t_1 = (PyIndex_Check(__pyx_v_index) != 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":749
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):
 *             cindex = index             # <<<<<<<<<<<<<<
 *             slice_memviewslice(
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
 */
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 749, __pyx_L1_error)
      __pyx_v_cindex = __pyx_t_9;

      /* "View.MemoryView":750
 *         if PyIndex_Check(index):
 *             cindex = index
 *             slice_memviewslice(             # <<<<<<<<<<<<<<
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
 *                 dim, new_ndim, p_suboffset_dim,
 */
      __pyx_t_10 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_cindex, 0, 0, 0, 0, 0, 0); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 750, __pyx_L1_error)

      /* "View.MemoryView":748
 * 
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):             # <<<<<<<<<<<<<<
 *             cindex = index
 *             slice_memviewslice(
 */
      goto __pyx_L6;
    }

    /* "View.MemoryView":756
 *                 0, 0, 0, # have_{start,stop,step}
 *                 False)
 *         elif index is None:             # <<<<<<<<<<<<<<
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
 */
    __pyx_t_1 = (__pyx_v_index == Py_None);
    if (__pyx_t_1) {

      /* "View.MemoryView":757
 *                 False)
 *         elif index is None:
 *             p_dst.shape[new_ndim] = 1             # <<<<<<<<<<<<<<
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1
 */
      (__pyx_v_p_dst->shape[__pyx_v_new_ndim]) = 1;

      /* "View.MemoryView":758
 *         elif index is None:
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0             # <<<<<<<<<<<<<<
 *             p_dst.suboffsets[new_ndim] = -1
 *             new_ndim += 1
 */
      (__pyx_v_p_dst->strides[__pyx_v_new_ndim]) = 0;

      /* "View.MemoryView":759
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1             # <<<<<<<<<<<<<<
 *             new_ndim += 1
 *         else:
 */
      (__pyx_v_p_dst->suboffsets[__pyx_v_new_ndim]) = -1L;

      /* "View.MemoryView":760
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1
 *             new_ndim += 1             # <<<<<<<<<<<<<<
 *         else:
 *             start = index.start or 0
 */
      __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);

      /* "View.MemoryView":756
 *                 0, 0, 0, # have_{start,stop,step}
 *                 False)
 *         elif index is None:             # <<<<<<<<<<<<<<
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
 */
      goto __pyx_L6;
    }

    /* "View.MemoryView":762
 *             new_ndim += 1
 *         else:
 *             start = index.start or 0             # <<<<<<<<<<<<<<
 *             stop = index.stop or 0
 *             step = index.step or 0
 */
    /*else*/ {
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_start); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 762, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 762, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 762, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L7_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L7_bool_binop_done:;
      __pyx_v_start = __pyx_t_9;

      /* "View.MemoryView":763
 *         else:
 *             start = index.start or 0
 *             stop = index.stop or 0             # <<<<<<<<<<<<<<
 *             step = index.step or 0
 * 
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 763, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 763, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 763, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L9_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L9_bool_binop_done:;
      __pyx_v_stop = __pyx_t_9;

      /* "View.MemoryView":764
 *             start = index.start or 0
 *             stop = index.stop or 0
 *             step = index.step or 0             # <<<<<<<<<<<<<<
 * 
 *             have_start = index.start is not None
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 764, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 764, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L11_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L11_bool_binop_done:;
      __pyx_v_step = __pyx_t_9;

      /* "View.MemoryView":766
 *             step = index.step or 0
 * 
 *             have_start = index.start is not None             # <<<<<<<<<<<<<<
 *             have_stop = index.stop is not None
 *             have_step = index.step is not None
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_start); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 766, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_start = __pyx_t_1;

      /* "View.MemoryView":767
 * 
 *             have_start = index.start is not None
 *             have_stop = index.stop is not None             # <<<<<<<<<<<<<<
 *             have_step = index.step is not None
 * 
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_stop = __pyx_t_1;

      /* "View.MemoryView":768
 *             have_start = index.start is not None
 *             have_stop = index.stop is not None
 *             have_step = index.step is not None             # <<<<<<<<<<<<<<
 * 
 *             slice_memviewslice(
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 768, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_step = __pyx_t_1;

      /* "View.MemoryView":770
 *             have_step = index.step is not None
 * 
 *             slice_memviewslice(             # <<<<<<<<<<<<<<
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
 *                 dim, new_ndim, p_suboffset_dim,
 */
      __pyx_t_10 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_start, __pyx_v_stop, __pyx_v_step, __pyx_v_have_start, __pyx_v_have_stop, __pyx_v_have_step, 1); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 770, __pyx_L1_error)

      /* "View.MemoryView":776
 *                 have_start, have_stop, have_step,
 *                 True)
 *             new_ndim += 1             # <<<<<<<<<<<<<<
 * 
 *     if isinstance(memview, _memoryviewslice):
 */
      __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);
    }
    __pyx_L6:;

    /* "View.MemoryView":747
 *     cdef bint have_start, have_stop, have_step
 * 
 *     for dim, index in enumerate(indices):             # <<<<<<<<<<<<<<
 *         if PyIndex_Check(index):
 *             cindex = index
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":778
 *             new_ndim += 1
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
 */
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":779
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,
 */
    __Pyx_XDECREF((PyObject *)__pyx_r);

    /* "View.MemoryView":780
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_dtype_func,
 *                                     memview.dtype_is_object)
 */
    if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError("memviewsliceobj"); __PYX_ERR(2, 780, __pyx_L1_error) }

    /* "View.MemoryView":781
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 *     else:
 */
    if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError("memviewsliceobj"); __PYX_ERR(2, 781, __pyx_L1_error) }

    /* "View.MemoryView":779
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,
 */
    __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, __pyx_v_memviewsliceobj->to_object_func, __pyx_v_memviewsliceobj->to_dtype_func, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_memoryview_type))))) __PYX_ERR(2, 779, __pyx_L1_error)
    __pyx_r = ((struct __pyx_memoryview_obj *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":778
 *             new_ndim += 1
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
 */
  }

  /* "View.MemoryView":784
 *                                     memview.dtype_is_object)
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 * 
 */
  /*else*/ {
    __Pyx_XDECREF((PyObject *)__pyx_r);

    /* "View.MemoryView":785
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,
 *                                     memview.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, NULL, NULL, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "View.MemoryView":784
 *                                     memview.dtype_is_object)
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 * 
 */
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_memoryview_type))))) __PYX_ERR(2, 784, __pyx_L1_error)
    __pyx_r = ((struct __pyx_memoryview_obj *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":711
 * 
 * @cname('__pyx_memview_slice')
 * cdef memoryview memview_slice(memoryview memview, object indices):             # <<<<<<<<<<<<<<
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim
 *     cdef bint negative_step
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("View.MemoryView.memview_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memviewsliceobj);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":793
 * 
 * @cname('__pyx_memoryview_slice_memviewslice')
 * cdef int slice_memviewslice(             # <<<<<<<<<<<<<<
 *         __Pyx_memviewslice *dst,
 *         Py_ssize_t shape, Py_ssize_t stride, Py_ssize_t suboffset,
 */

static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst, Py_ssize_t __pyx_v_shape, Py_ssize_t __pyx_v_stride, Py_ssize_t __pyx_v_suboffset, int __pyx_v_dim, int __pyx_v_new_ndim, int *__pyx_v_suboffset_dim, Py_ssize_t __pyx_v_start, Py_ssize_t __pyx_v_stop, Py_ssize_t __pyx_v_step, int __pyx_v_have_start, int __pyx_v_have_stop, int __pyx_v_have_step, int __pyx_v_is_slice) {
  Py_ssize_t __pyx_v_new_shape;
  int __pyx_v_negative_step;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "View.MemoryView":813
 *     cdef bint negative_step
 * 
 *     if not is_slice:             # <<<<<<<<<<<<<<
 * 
 *         if start < 0:
 */
  __pyx_t_1 = (!__pyx_v_is_slice);
  if (__pyx_t_1) {

    /* "View.MemoryView":815
 *     if not is_slice:
 * 
 *         if start < 0:             # <<<<<<<<<<<<<<
 *             start += shape
 *         if not 0 <= start < shape:
 */
    __pyx_t_1 = (__pyx_v_start < 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":816
 * 
 *         if start < 0:
 *             start += shape             # <<<<<<<<<<<<<<
 *         if not 0 <= start < shape:
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
 */
      __pyx_v_start = (__pyx_v_start + __pyx_v_shape);

      /* "View.MemoryView":815
 *     if not is_slice:
 * 
 *         if start < 0:             # <<<<<<<<<<<<<<
 *             start += shape
 *         if not 0 <= start < shape:
 */
    }

    /* "View.MemoryView":817
 *         if start < 0:
 *             start += shape
 *         if not 0 <= start < shape:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
 *     else:
 */
    __pyx_t_1 = (0 <= __pyx_v_start);
    if (__pyx_t_1) {
      __pyx_t_1 = (__pyx_v_start < __pyx_v_shape);
    }
    __pyx_t_2 = (!__pyx_t_1);
    if (__pyx_t_2) {

      /* "View.MemoryView":818
 *             start += shape
 *         if not 0 <= start < shape:
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)             # <<<<<<<<<<<<<<
 *     else:
 * 
 */
      __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_IndexError, __pyx_kp_s_Index_out_of_bounds_axis_d, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 818, __pyx_L1_error)

      /* "View.MemoryView":817
 *         if start < 0:
 *             start += shape
 *         if not 0 <= start < shape:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
 *     else:
 */
    }

    /* "View.MemoryView":813
 *     cdef bint negative_step
 * 
 *     if not is_slice:             # <<<<<<<<<<<<<<
 * 
 *         if start < 0:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":821
 *     else:
 * 
 *         if have_step:             # <<<<<<<<<<<<<<
 *             negative_step = step < 0
 *             if step == 0:
 */
  /*else*/ {
    __pyx_t_2 = (__pyx_v_have_step != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":822
 * 
 *         if have_step:
 *             negative_step = step < 0             # <<<<<<<<<<<<<<
 *             if step == 0:
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 */
      __pyx_v_negative_step = (__pyx_v_step < 0);

      /* "View.MemoryView":823
 *         if have_step:
 *             negative_step = step < 0
 *             if step == 0:             # <<<<<<<<<<<<<<
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
 */
      __pyx_t_2 = (__pyx_v_step == 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":824
 *             negative_step = step < 0
 *             if step == 0:
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)             # <<<<<<<<<<<<<<
 *         else:
 *             negative_step = False
 */
        __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_ValueError, __pyx_kp_s_Step_may_not_be_zero_axis_d, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 824, __pyx_L1_error)

        /* "View.MemoryView":823
 *         if have_step:
 *             negative_step = step < 0
 *             if step == 0:             # <<<<<<<<<<<<<<
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
 */
      }

      /* "View.MemoryView":821
 *     else:
 * 
 *         if have_step:             # <<<<<<<<<<<<<<
 *             negative_step = step < 0
 *             if step == 0:
 */
      goto __pyx_L6;
    }

    /* "View.MemoryView":826
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
 *             negative_step = False             # <<<<<<<<<<<<<<
 *             step = 1
 * 
 */
    /*else*/ {
      __pyx_v_negative_step = 0;

      /* "View.MemoryView":827
 *         else:
 *             negative_step = False
 *             step = 1             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_v_step = 1;
    }
    __pyx_L6:;

    /* "View.MemoryView":830
 * 
 * 
 *         if have_start:             # <<<<<<<<<<<<<<
 *             if start < 0:
 *                 start += shape
 */
    __pyx_t_2 = (__pyx_v_have_start != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":831
 * 
 *         if have_start:
 *             if start < 0:             # <<<<<<<<<<<<<<
 *                 start += shape
 *                 if start < 0:
 */
      __pyx_t_2 = (__pyx_v_start < 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":832
 *         if have_start:
 *             if start < 0:
 *                 start += shape             # <<<<<<<<<<<<<<
 *                 if start < 0:
 *                     start = 0
 */
        __pyx_v_start = (__pyx_v_start + __pyx_v_shape);

        /* "View.MemoryView":833
 *             if start < 0:
 *                 start += shape
 *                 if start < 0:             # <<<<<<<<<<<<<<
 *                     start = 0
 *             elif start >= shape:
 */
        __pyx_t_2 = (__pyx_v_start < 0);
        if (__pyx_t_2) {

          /* "View.MemoryView":834
 *                 start += shape
 *                 if start < 0:
 *                     start = 0             # <<<<<<<<<<<<<<
 *             elif start >= shape:
 *                 if negative_step:
 */
          __pyx_v_start = 0;

          /* "View.MemoryView":833
 *             if start < 0:
 *                 start += shape
 *                 if start < 0:             # <<<<<<<<<<<<<<
 *                     start = 0
 *             elif start >= shape:
 */
        }

        /* "View.MemoryView":831
 * 
 *         if have_start:
 *             if start < 0:             # <<<<<<<<<<<<<<
 *                 start += shape
 *                 if start < 0:
 */
        goto __pyx_L9;
      }

      /* "View.MemoryView":835
 *                 if start < 0:
 *                     start = 0
 *             elif start >= shape:             # <<<<<<<<<<<<<<
 *                 if negative_step:
 *                     start = shape - 1
 */
      __pyx_t_2 = (__pyx_v_start >= __pyx_v_shape);
      if (__pyx_t_2) {

        /* "View.MemoryView":836
 *                     start = 0
 *             elif start >= shape:
 *                 if negative_step:             # <<<<<<<<<<<<<<
 *                     start = shape - 1
 *                 else:
 */
        if (__pyx_v_negative_step) {

          /* "View.MemoryView":837
 *             elif start >= shape:
 *                 if negative_step:
 *                     start = shape - 1             # <<<<<<<<<<<<<<
 *                 else:
 *                     start = shape
 */
          __pyx_v_start = (__pyx_v_shape - 1);

          /* "View.MemoryView":836
 *                     start = 0
 *             elif start >= shape:
 *                 if negative_step:             # <<<<<<<<<<<<<<
 *                     start = shape - 1
 *                 else:
 */
          goto __pyx_L11;
        }

        /* "View.MemoryView":839
 *                     start = shape - 1
 *                 else:
 *                     start = shape             # <<<<<<<<<<<<<<
 *         else:
 *             if negative_step:
 */
        /*else*/ {
          __pyx_v_start = __pyx_v_shape;
        }
        __pyx_L11:;

        /* "View.MemoryView":835
 *                 if start < 0:
 *                     start = 0
 *             elif start >= shape:             # <<<<<<<<<<<<<<
 *                 if negative_step:
 *                     start = shape - 1
 */
      }
      __pyx_L9:;

      /* "View.MemoryView":830
 * 
 * 
 *         if have_start:             # <<<<<<<<<<<<<<
 *             if start < 0:
 *                 start += shape
 */
      goto __pyx_L8;
    }

    /* "View.MemoryView":841
 *                     start = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 start = shape - 1
 *             else:
 */
    /*else*/ {
      if (__pyx_v_negative_step) {

        /* "View.MemoryView":842
 *         else:
 *             if negative_step:
 *                 start = shape - 1             # <<<<<<<<<<<<<<
 *             else:
 *                 start = 0
 */
        __pyx_v_start = (__pyx_v_shape - 1);

        /* "View.MemoryView":841
 *                     start = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 start = shape - 1
 *             else:
 */
        goto __pyx_L12;
      }

      /* "View.MemoryView":844
 *                 start = shape - 1
 *             else:
 *                 start = 0             # <<<<<<<<<<<<<<
 * 
 *         if have_stop:
 */
      /*else*/ {
        __pyx_v_start = 0;
      }
      __pyx_L12:;
    }
    __pyx_L8:;

    /* "View.MemoryView":846
 *                 start = 0
 * 
 *         if have_stop:             # <<<<<<<<<<<<<<
 *             if stop < 0:
 *                 stop += shape
 */
    __pyx_t_2 = (__pyx_v_have_stop != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":847
 * 
 *         if have_stop:
 *             if stop < 0:             # <<<<<<<<<<<<<<
 *                 stop += shape
 *                 if stop < 0:
 */
      __pyx_t_2 = (__pyx_v_stop < 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":848
 *         if have_stop:
 *             if stop < 0:
 *                 stop += shape             # <<<<<<<<<<<<<<
 *                 if stop < 0:
 *                     stop = 0
 */
        __pyx_v_stop = (__pyx_v_stop + __pyx_v_shape);

        /* "View.MemoryView":849
 *             if stop < 0:
 *                 stop += shape
 *                 if stop < 0:             # <<<<<<<<<<<<<<
 *                     stop = 0
 *             elif stop > shape:
 */
        __pyx_t_2 = (__pyx_v_stop < 0);
        if (__pyx_t_2) {

          /* "View.MemoryView":850
 *                 stop += shape
 *                 if stop < 0:
 *                     stop = 0             # <<<<<<<<<<<<<<
 *             elif stop > shape:
 *                 stop = shape
 */
          __pyx_v_stop = 0;

          /* "View.MemoryView":849
 *             if stop < 0:
 *                 stop += shape
 *                 if stop < 0:             # <<<<<<<<<<<<<<
 *                     stop = 0
 *             elif stop > shape:
 */
        }

        /* "View.MemoryView":847
 * 
 *         if have_stop:
 *             if stop < 0:             # <<<<<<<<<<<<<<
 *                 stop += shape
 *                 if stop < 0:
 */
        goto __pyx_L14;
      }

      /* "View.MemoryView":851
 *                 if stop < 0:
 *                     stop = 0
 *             elif stop > shape:             # <<<<<<<<<<<<<<
 *                 stop = shape
 *         else:
 */
      __pyx_t_2 = (__pyx_v_stop > __pyx_v_shape);
      if (__pyx_t_2) {

        /* "View.MemoryView":852
 *                     stop = 0
 *             elif stop > shape:
 *                 stop = shape             # <<<<<<<<<<<<<<
 *         else:
 *             if negative_step:
 */
        __pyx_v_stop = __pyx_v_shape;

        /* "View.MemoryView":851
 *                 if stop < 0:
 *                     stop = 0
 *             elif stop > shape:             # <<<<<<<<<<<<<<
 *                 stop = shape
 *         else:
 */
      }
      __pyx_L14:;

      /* "View.MemoryView":846
 *                 start = 0
 * 
 *         if have_stop:             # <<<<<<<<<<<<<<
 *             if stop < 0:
 *                 stop += shape
 */
      goto __pyx_L13;
    }

    /* "View.MemoryView":854
 *                 stop = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 stop = -1
 *             else:
 */
    /*else*/ {
      if (__pyx_v_negative_step) {

        /* "View.MemoryView":855
 *         else:
 *             if negative_step:
 *                 stop = -1             # <<<<<<<<<<<<<<
 *             else:
 *                 stop = shape
 */
        __pyx_v_stop = -1L;

        /* "View.MemoryView":854
 *                 stop = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 stop = -1
 *             else:
 */
        goto __pyx_L16;
      }

      /* "View.MemoryView":857
 *                 stop = -1
 *             else:
 *                 stop = shape             # <<<<<<<<<<<<<<
 * 
 * 
 */
      /*else*/ {
        __pyx_v_stop = __pyx_v_shape;
      }
      __pyx_L16:;
    }
    __pyx_L13:;

    /* "View.MemoryView":861
 * 
 *         with cython.cdivision(True):
 *             new_shape = (stop - start) // step             # <<<<<<<<<<<<<<
 * 
 *             if (stop - start) - step * new_shape:
 */
    __pyx_v_new_shape = ((__pyx_v_stop - __pyx_v_start) / __pyx_v_step);

    /* "View.MemoryView":863
 *             new_shape = (stop - start) // step
 * 
 *             if (stop - start) - step * new_shape:             # <<<<<<<<<<<<<<
 *                 new_shape += 1
 * 
 */
    __pyx_t_2 = (((__pyx_v_stop - __pyx_v_start) - (__pyx_v_step * __pyx_v_new_shape)) != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":864
 * 
 *             if (stop - start) - step * new_shape:
 *                 new_shape += 1             # <<<<<<<<<<<<<<
 * 
 *         if new_shape < 0:
 */
      __pyx_v_new_shape = (__pyx_v_new_shape + 1);

      /* "View.MemoryView":863
 *             new_shape = (stop - start) // step
 * 
 *             if (stop - start) - step * new_shape:             # <<<<<<<<<<<<<<
 *                 new_shape += 1
 * 
 */
    }

    /* "View.MemoryView":866
 *                 new_shape += 1
 * 
 *         if new_shape < 0:             # <<<<<<<<<<<<<<
 *             new_shape = 0
 * 
 */
    __pyx_t_2 = (__pyx_v_new_shape < 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":867
 * 
 *         if new_shape < 0:
 *             new_shape = 0             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_v_new_shape = 0;

      /* "View.MemoryView":866
 *                 new_shape += 1
 * 
 *         if new_shape < 0:             # <<<<<<<<<<<<<<
 *             new_shape = 0
 * 
 */
    }

    /* "View.MemoryView":870
 * 
 * 
 *         dst.strides[new_ndim] = stride * step             # <<<<<<<<<<<<<<
 *         dst.shape[new_ndim] = new_shape
 *         dst.suboffsets[new_ndim] = suboffset
 */
    (__pyx_v_dst->strides[__pyx_v_new_ndim]) = (__pyx_v_stride * __pyx_v_step);

    /* "View.MemoryView":871
 * 
 *         dst.strides[new_ndim] = stride * step
 *         dst.shape[new_ndim] = new_shape             # <<<<<<<<<<<<<<
 *         dst.suboffsets[new_ndim] = suboffset
 * 
 */
    (__pyx_v_dst->shape[__pyx_v_new_ndim]) = __pyx_v_new_shape;

    /* "View.MemoryView":872
 *         dst.strides[new_ndim] = stride * step
 *         dst.shape[new_ndim] = new_shape
 *         dst.suboffsets[new_ndim] = suboffset             # <<<<<<<<<<<<<<
 * 
 * 
 */
    (__pyx_v_dst->suboffsets[__pyx_v_new_ndim]) = __pyx_v_suboffset;
  }
  __pyx_L3:;

  /* "View.MemoryView":875
 * 
 * 
 *     if suboffset_dim[0] < 0:             # <<<<<<<<<<<<<<
 *         dst.data += start * stride
 *     else:
 */
  __pyx_t_2 = ((__pyx_v_suboffset_dim[0]) < 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":876
 * 
 *     if suboffset_dim[0] < 0:
 *         dst.data += start * stride             # <<<<<<<<<<<<<<
 *     else:
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
 */
    __pyx_v_dst->data = (__pyx_v_dst->data + (__pyx_v_start * __pyx_v_stride));

    /* "View.MemoryView":875
 * 
 * 
 *     if suboffset_dim[0] < 0:             # <<<<<<<<<<<<<<
 *         dst.data += start * stride
 *     else:
 */
    goto __pyx_L19;
  }

  /* "View.MemoryView":878
 *         dst.data += start * stride
 *     else:
 *         dst.suboffsets[suboffset_dim[0]] += start * stride             # <<<<<<<<<<<<<<
 * 
 *     if suboffset >= 0:
 */
  /*else*/ {
    __pyx_t_3 = (__pyx_v_suboffset_dim[0]);
    (__pyx_v_dst->suboffsets[__pyx_t_3]) = ((__pyx_v_dst->suboffsets[__pyx_t_3]) + (__pyx_v_start * __pyx_v_stride));
  }
  __pyx_L19:;

  /* "View.MemoryView":880
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
 * 
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         if not is_slice:
 *             if new_ndim == 0:
 */
  __pyx_t_2 = (__pyx_v_suboffset >= 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":881
 * 
 *     if suboffset >= 0:
 *         if not is_slice:             # <<<<<<<<<<<<<<
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 */
    __pyx_t_2 = (!__pyx_v_is_slice);
    if (__pyx_t_2) {

      /* "View.MemoryView":882
 *     if suboffset >= 0:
 *         if not is_slice:
 *             if new_ndim == 0:             # <<<<<<<<<<<<<<
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
 */
      __pyx_t_2 = (__pyx_v_new_ndim == 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":883
 *         if not is_slice:
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset             # <<<<<<<<<<<<<<
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "
 */
        __pyx_v_dst->data = ((((char **)__pyx_v_dst->data)[0]) + __pyx_v_suboffset);

        /* "View.MemoryView":882
 *     if suboffset >= 0:
 *         if not is_slice:
 *             if new_ndim == 0:             # <<<<<<<<<<<<<<
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
 */
        goto __pyx_L22;
      }

      /* "View.MemoryView":885
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "             # <<<<<<<<<<<<<<
 *                                      "must be indexed and not sliced", dim)
 *         else:
 */
      /*else*/ {

        /* "View.MemoryView":886
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "
 *                                      "must be indexed and not sliced", dim)             # <<<<<<<<<<<<<<
 *         else:
 *             suboffset_dim[0] = new_ndim
 */
        __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_IndexError, __pyx_kp_s_All_dimensions_preceding_dimensi, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 885, __pyx_L1_error)
      }
      __pyx_L22:;

      /* "View.MemoryView":881
 * 
 *     if suboffset >= 0:
 *         if not is_slice:             # <<<<<<<<<<<<<<
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 */
      goto __pyx_L21;
    }

    /* "View.MemoryView":888
 *                                      "must be indexed and not sliced", dim)
 *         else:
 *             suboffset_dim[0] = new_ndim             # <<<<<<<<<<<<<<
 * 
 *     return 0
 */
    /*else*/ {
      (__pyx_v_suboffset_dim[0]) = __pyx_v_new_ndim;
    }
    __pyx_L21:;

    /* "View.MemoryView":880
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
 * 
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         if not is_slice:
 *             if new_ndim == 0:
 */
  }

  /* "View.MemoryView":890
 *             suboffset_dim[0] = new_ndim
 * 
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":793
 * 
 * @cname('__pyx_memoryview_slice_memviewslice')
 * cdef int slice_memviewslice(             # <<<<<<<<<<<<<<
 *         __Pyx_memviewslice *dst,
 *         Py_ssize_t shape, Py_ssize_t stride, Py_ssize_t suboffset,
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_AddTraceback("View.MemoryView.slice_memviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":896
 * 
 * @cname('__pyx_pybuffer_index')
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,             # <<<<<<<<<<<<<<
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1
 */

static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {
  Py_ssize_t __pyx_v_shape;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_v_suboffset;
  Py_ssize_t __pyx_v_itemsize;
  char *__pyx_v_resultp;
  char *__pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_UCS4 __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pybuffer_index", 1);

  /* "View.MemoryView":898
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t itemsize = view.itemsize
 *     cdef char *resultp
 */
  __pyx_v_suboffset = -1L;

  /* "View.MemoryView":899
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1
 *     cdef Py_ssize_t itemsize = view.itemsize             # <<<<<<<<<<<<<<
 *     cdef char *resultp
 * 
 */
  __pyx_t_1 = __pyx_v_view->itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":902
 *     cdef char *resultp
 * 
 *     if view.ndim == 0:             # <<<<<<<<<<<<<<
 *         shape = view.len // itemsize
 *         stride = itemsize
 */
  __pyx_t_2 = (__pyx_v_view->ndim == 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":903
 * 
 *     if view.ndim == 0:
 *         shape = view.len // itemsize             # <<<<<<<<<<<<<<
 *         stride = itemsize
 *     else:
 */
    if (unlikely(__pyx_v_itemsize == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(2, 903, __pyx_L1_error)
    }
    else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_itemsize == (Py_ssize_t)-1)  && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_view->len))) {
      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
      __PYX_ERR(2, 903, __pyx_L1_error)
    }
    __pyx_v_shape = __Pyx_div_Py_ssize_t(__pyx_v_view->len, __pyx_v_itemsize);

    /* "View.MemoryView":904
 *     if view.ndim == 0:
 *         shape = view.len // itemsize
 *         stride = itemsize             # <<<<<<<<<<<<<<
 *     else:
 *         shape = view.shape[dim]
 */
    __pyx_v_stride = __pyx_v_itemsize;

    /* "View.MemoryView":902
 *     cdef char *resultp
 * 
 *     if view.ndim == 0:             # <<<<<<<<<<<<<<
 *         shape = view.len // itemsize
 *         stride = itemsize
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":906
 *         stride = itemsize
 *     else:
 *         shape = view.shape[dim]             # <<<<<<<<<<<<<<
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:
 */
  /*else*/ {
    __pyx_v_shape = (__pyx_v_view->shape[__pyx_v_dim]);

    /* "View.MemoryView":907
 *     else:
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]             # <<<<<<<<<<<<<<
 *         if view.suboffsets != NULL:
 *             suboffset = view.suboffsets[dim]
 */
    __pyx_v_stride = (__pyx_v_view->strides[__pyx_v_dim]);

    /* "View.MemoryView":908
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *             suboffset = view.suboffsets[dim]
 * 
 */
    __pyx_t_2 = (__pyx_v_view->suboffsets != NULL);
    if (__pyx_t_2) {

      /* "View.MemoryView":909
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:
 *             suboffset = view.suboffsets[dim]             # <<<<<<<<<<<<<<
 * 
 *     if index < 0:
 */
      __pyx_v_suboffset = (__pyx_v_view->suboffsets[__pyx_v_dim]);

      /* "View.MemoryView":908
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *             suboffset = view.suboffsets[dim]
 * 
 */
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":911
 *             suboffset = view.suboffsets[dim]
 * 
 *     if index < 0:             # <<<<<<<<<<<<<<
 *         index += view.shape[dim]
 *         if index < 0:
 */
  __pyx_t_2 = (__pyx_v_index < 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":912
 * 
 *     if index < 0:
 *         index += view.shape[dim]             # <<<<<<<<<<<<<<
 *         if index < 0:
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 */
    __pyx_v_index = (__pyx_v_index + (__pyx_v_view->shape[__pyx_v_dim]));

    /* "View.MemoryView":913
 *     if index < 0:
 *         index += view.shape[dim]
 *         if index < 0:             # <<<<<<<<<<<<<<
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 */
    __pyx_t_2 = (__pyx_v_index < 0);
    if (unlikely(__pyx_t_2)) {

      /* "View.MemoryView":914
 *         index += view.shape[dim]
 *         if index < 0:
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"             # <<<<<<<<<<<<<<
 * 
 *     if index >= shape:
 */
      __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 914, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_4 = 127;
      __Pyx_INCREF(__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
      __pyx_t_1 += 37;
      __Pyx_GIVEREF(__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Out_of_bounds_on_buffer_access_a);
      __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 914, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_1 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_INCREF(__pyx_kp_u__9);
      __pyx_t_1 += 1;
      __Pyx_GIVEREF(__pyx_kp_u__9);
      PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__9);
      __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 914, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_builtin_IndexError, __pyx_t_5, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(2, 914, __pyx_L1_error)

      /* "View.MemoryView":913
 *     if index < 0:
 *         index += view.shape[dim]
 *         if index < 0:             # <<<<<<<<<<<<<<
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 */
    }

    /* "View.MemoryView":911
 *             suboffset = view.suboffsets[dim]
 * 
 *     if index < 0:             # <<<<<<<<<<<<<<
 *         index += view.shape[dim]
 *         if index < 0:
 */
  }

  /* "View.MemoryView":916
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     if index >= shape:             # <<<<<<<<<<<<<<
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 */
  __pyx_t_2 = (__pyx_v_index >= __pyx_v_shape);
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":917
 * 
 *     if index >= shape:
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"             # <<<<<<<<<<<<<<
 * 
 *     resultp = bufp + index * stride
 */
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_4 = 127;
    __Pyx_INCREF(__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
    __pyx_t_1 += 37;
    __Pyx_GIVEREF(__pyx_kp_u_Out_of_bounds_on_buffer_access_a);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Out_of_bounds_on_buffer_access_a);
    __pyx_t_3 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_INCREF(__pyx_kp_u__9);
    __pyx_t_1 += 1;
    __Pyx_GIVEREF(__pyx_kp_u__9);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__9);
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_builtin_IndexError, __pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 917, __pyx_L1_error)

    /* "View.MemoryView":916
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     if index >= shape:             # <<<<<<<<<<<<<<
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 */
  }

  /* "View.MemoryView":919
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     resultp = bufp + index * stride             # <<<<<<<<<<<<<<
 *     if suboffset >= 0:
 *         resultp = (<char **> resultp)[0] + suboffset
 */
  __pyx_v_resultp = (__pyx_v_bufp + (__pyx_v_index * __pyx_v_stride));

  /* "View.MemoryView":920
 * 
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
 */
  __pyx_t_2 = (__pyx_v_suboffset >= 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":921
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:
 *         resultp = (<char **> resultp)[0] + suboffset             # <<<<<<<<<<<<<<
 * 
 *     return resultp
 */
    __pyx_v_resultp = ((((char **)__pyx_v_resultp)[0]) + __pyx_v_suboffset);

    /* "View.MemoryView":920
 * 
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
 */
  }

  /* "View.MemoryView":923
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
 *     return resultp             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_resultp;
  goto __pyx_L0;

  /* "View.MemoryView":896
 * 
 * @cname('__pyx_pybuffer_index')
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,             # <<<<<<<<<<<<<<
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.pybuffer_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":929
 * 
 * @cname('__pyx_memslice_transpose')
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:             # <<<<<<<<<<<<<<
 *     cdef int ndim = memslice.memview.view.ndim
 * 
 */

static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
  int __pyx_v_ndim;
  Py_ssize_t *__pyx_v_shape;
  Py_ssize_t *__pyx_v_strides;
  int __pyx_v_i;
  int __pyx_v_j;
  int __pyx_r;
  int __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  long __pyx_t_3;
  long __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "View.MemoryView":930
 * @cname('__pyx_memslice_transpose')
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:
 *     cdef int ndim = memslice.memview.view.ndim             # <<<<<<<<<<<<<<
 * 
 *     cdef Py_ssize_t *shape = memslice.shape
 */
  __pyx_t_1 = __pyx_v_memslice->memview->view.ndim;
  __pyx_v_ndim = __pyx_t_1;

  /* "View.MemoryView":932
 *     cdef int ndim = memslice.memview.view.ndim
 * 
 *     cdef Py_ssize_t *shape = memslice.shape             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t *strides = memslice.strides
 * 
 */
  __pyx_t_2 = __pyx_v_memslice->shape;
  __pyx_v_shape = __pyx_t_2;

  /* "View.MemoryView":933
 * 
 *     cdef Py_ssize_t *shape = memslice.shape
 *     cdef Py_ssize_t *strides = memslice.strides             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __pyx_v_memslice->strides;
  __pyx_v_strides = __pyx_t_2;

  /* "View.MemoryView":937
 * 
 *     cdef int i, j
 *     for i in range(ndim // 2):             # <<<<<<<<<<<<<<
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]
 */
  __pyx_t_3 = __Pyx_div_long(__pyx_v_ndim, 2);
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_1 = 0; __pyx_t_1 < __pyx_t_4; __pyx_t_1+=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":938
 *     cdef int i, j
 *     for i in range(ndim // 2):
 *         j = ndim - 1 - i             # <<<<<<<<<<<<<<
 *         strides[i], strides[j] = strides[j], strides[i]
 *         shape[i], shape[j] = shape[j], shape[i]
 */
    __pyx_v_j = ((__pyx_v_ndim - 1) - __pyx_v_i);

    /* "View.MemoryView":939
 *     for i in range(ndim // 2):
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]             # <<<<<<<<<<<<<<
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
 */
    __pyx_t_5 = (__pyx_v_strides[__pyx_v_j]);
    __pyx_t_6 = (__pyx_v_strides[__pyx_v_i]);
    (__pyx_v_strides[__pyx_v_i]) = __pyx_t_5;
    (__pyx_v_strides[__pyx_v_j]) = __pyx_t_6;

    /* "View.MemoryView":940
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]
 *         shape[i], shape[j] = shape[j], shape[i]             # <<<<<<<<<<<<<<
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:
 */
    __pyx_t_6 = (__pyx_v_shape[__pyx_v_j]);
    __pyx_t_5 = (__pyx_v_shape[__pyx_v_i]);
    (__pyx_v_shape[__pyx_v_i]) = __pyx_t_6;
    (__pyx_v_shape[__pyx_v_j]) = __pyx_t_5;

    /* "View.MemoryView":942
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:             # <<<<<<<<<<<<<<
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
 */
    __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_i]) >= 0);
    if (!__pyx_t_8) {
    } else {
      __pyx_t_7 = __pyx_t_8;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_j]) >= 0);
    __pyx_t_7 = __pyx_t_8;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_7) {

      /* "View.MemoryView":943
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")             # <<<<<<<<<<<<<<
 * 
 *     return 0
 */
      __pyx_t_9 = __pyx_memoryview_err(PyExc_ValueError, __pyx_kp_s_Cannot_transpose_memoryview_with); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 943, __pyx_L1_error)

      /* "View.MemoryView":942
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:             # <<<<<<<<<<<<<<
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
 */
    }
  }

  /* "View.MemoryView":945
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":929
 * 
 * @cname('__pyx_memslice_transpose')
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:             # <<<<<<<<<<<<<<
 *     cdef int ndim = memslice.memview.view.ndim
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_AddTraceback("View.MemoryView.transpose_memslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":963
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 */

/* Python wrapper */
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {

  /* "View.MemoryView":964
 * 
 *     def __dealloc__(self):
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)             # <<<<<<<<<<<<<<
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 */
  __PYX_XCLEAR_MEMVIEW((&__pyx_v_self->from_slice), 1);

  /* "View.MemoryView":963
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 */

  /* function exit code */
}

/* "View.MemoryView":966
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)
 */

static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("convert_item_to_object", 1);

  /* "View.MemoryView":967
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:             # <<<<<<<<<<<<<<
 *             return self.to_object_func(itemp)
 *         else:
 */
  __pyx_t_1 = (__pyx_v_self->to_object_func != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":968
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)             # <<<<<<<<<<<<<<
 *         else:
 *             return memoryview.convert_item_to_object(self, itemp)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->to_object_func(__pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":967
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:             # <<<<<<<<<<<<<<
 *             return self.to_object_func(itemp)
 *         else:
 */
  }

  /* "View.MemoryView":970
 *             return self.to_object_func(itemp)
 *         else:
 *             return memoryview.convert_item_to_object(self, itemp)             # <<<<<<<<<<<<<<
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_memoryview_convert_item_to_object(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":966
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":972
 *             return memoryview.convert_item_to_object(self, itemp)
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)
 */

static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("assign_item_from_object", 1);

  /* "View.MemoryView":973
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:             # <<<<<<<<<<<<<<
 *             self.to_dtype_func(itemp, value)
 *         else:
 */
  __pyx_t_1 = (__pyx_v_self->to_dtype_func != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":974
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)             # <<<<<<<<<<<<<<
 *         else:
 *             memoryview.assign_item_from_object(self, itemp, value)
 */
    __pyx_t_2 = __pyx_v_self->to_dtype_func(__pyx_v_itemp, __pyx_v_value); if (unlikely(__pyx_t_2 == ((int)0))) __PYX_ERR(2, 974, __pyx_L1_error)

    /* "View.MemoryView":973
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:             # <<<<<<<<<<<<<<
 *             self.to_dtype_func(itemp, value)
 *         else:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":976
 *             self.to_dtype_func(itemp, value)
 *         else:
 *             memoryview.assign_item_from_object(self, itemp, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef _get_base(self):
 */
  /*else*/ {
    __pyx_t_3 = __pyx_memoryview_assign_item_from_object(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp, __pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "View.MemoryView":972
 *             return memoryview.convert_item_to_object(self, itemp)
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":978
 *             memoryview.assign_item_from_object(self, itemp, value)
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.from_object
 * 
 */

static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_get_base", 1);

  /* "View.MemoryView":979
 * 
 *     cdef _get_base(self):
 *         return self.from_object             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->from_object);
  __pyx_r = __pyx_v_self->from_object;
  goto __pyx_L0;

  /* "View.MemoryView":978
 *             memoryview.assign_item_from_object(self, itemp, value)
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.from_object
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf___pyx_memoryviewslice___reduce_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(2, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_memoryviewslice_2__setstate_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":999
 * 
 * @cname('__pyx_memoryview_fromslice')
 * cdef memoryview_fromslice(__Pyx_memviewslice memviewslice,             # <<<<<<<<<<<<<<
 *                           int ndim,
 *                           object (*to_object_func)(char *),
 */

static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice, int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(char *), int (*__pyx_v_to_dtype_func)(char *, PyObject *), int __pyx_v_dtype_is_object) {
  struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
  Py_ssize_t __pyx_v_suboffset;
  PyObject *__pyx_v_length = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_TypeInfo *__pyx_t_4;
  Py_buffer __pyx_t_5;
  Py_ssize_t *__pyx_t_6;
  Py_ssize_t *__pyx_t_7;
  Py_ssize_t *__pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_fromslice", 1);

  /* "View.MemoryView":1007
 *     cdef _memoryviewslice result
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:             # <<<<<<<<<<<<<<
 *         return None
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_memviewslice.memview) == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":1008
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:
 *         return None             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "View.MemoryView":1007
 *     cdef _memoryviewslice result
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:             # <<<<<<<<<<<<<<
 *         return None
 * 
 */
  }

  /* "View.MemoryView":1013
 * 
 * 
 *     result = _memoryviewslice.__new__(_memoryviewslice, None, 0, dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     result.from_slice = memviewslice
 */
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, Py_None)) __PYX_ERR(2, 1013, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0)) __PYX_ERR(2, 1013, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(2, 1013, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_tp_new__memoryviewslice(((PyTypeObject *)__pyx_memoryviewslice_type), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1013, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_result = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "View.MemoryView":1015
 *     result = _memoryviewslice.__new__(_memoryviewslice, None, 0, dtype_is_object)
 * 
 *     result.from_slice = memviewslice             # <<<<<<<<<<<<<<
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)
 * 
 */
  __pyx_v_result->from_slice = __pyx_v_memviewslice;

  /* "View.MemoryView":1016
 * 
 *     result.from_slice = memviewslice
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)             # <<<<<<<<<<<<<<
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()
 */
  __PYX_INC_MEMVIEW((&__pyx_v_memviewslice), 1);

  /* "View.MemoryView":1018
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()             # <<<<<<<<<<<<<<
 *     result.typeinfo = memviewslice.memview.typeinfo
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->__pyx_vtab)->_get_base(((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_result->from_object);
  __Pyx_DECREF(__pyx_v_result->from_object);
  __pyx_v_result->from_object = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "View.MemoryView":1019
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()
 *     result.typeinfo = memviewslice.memview.typeinfo             # <<<<<<<<<<<<<<
 * 
 *     result.view = memviewslice.memview.view
 */
  __pyx_t_4 = __pyx_v_memviewslice.memview->typeinfo;
  __pyx_v_result->__pyx_base.typeinfo = __pyx_t_4;

  /* "View.MemoryView":1021
 *     result.typeinfo = memviewslice.memview.typeinfo
 * 
 *     result.view = memviewslice.memview.view             # <<<<<<<<<<<<<<
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim
 */
  __pyx_t_5 = __pyx_v_memviewslice.memview->view;
  __pyx_v_result->__pyx_base.view = __pyx_t_5;

  /* "View.MemoryView":1022
 * 
 *     result.view = memviewslice.memview.view
 *     result.view.buf = <void *> memviewslice.data             # <<<<<<<<<<<<<<
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None
 */
  __pyx_v_result->__pyx_base.view.buf = ((void *)__pyx_v_memviewslice.data);

  /* "View.MemoryView":1023
 *     result.view = memviewslice.memview.view
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim             # <<<<<<<<<<<<<<
 *     (<__pyx_buffer *> &result.view).obj = Py_None
 *     Py_INCREF(Py_None)
 */
  __pyx_v_result->__pyx_base.view.ndim = __pyx_v_ndim;

  /* "View.MemoryView":1024
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None             # <<<<<<<<<<<<<<
 *     Py_INCREF(Py_None)
 * 
 */
  ((Py_buffer *)(&__pyx_v_result->__pyx_base.view))->obj = Py_None;

  /* "View.MemoryView":1025
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None
 *     Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:
 */
  Py_INCREF(Py_None);

  /* "View.MemoryView":1027
 *     Py_INCREF(Py_None)
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:             # <<<<<<<<<<<<<<
 *         result.flags = PyBUF_RECORDS
 *     else:
 */
  __pyx_t_1 = ((((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->flags & PyBUF_WRITABLE) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":1028
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:
 *         result.flags = PyBUF_RECORDS             # <<<<<<<<<<<<<<
 *     else:
 *         result.flags = PyBUF_RECORDS_RO
 */
    __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS;

    /* "View.MemoryView":1027
 *     Py_INCREF(Py_None)
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:             # <<<<<<<<<<<<<<
 *         result.flags = PyBUF_RECORDS
 *     else:
 */
    goto __pyx_L4;
  }

  /* "View.MemoryView":1030
 *         result.flags = PyBUF_RECORDS
 *     else:
 *         result.flags = PyBUF_RECORDS_RO             # <<<<<<<<<<<<<<
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape
 */
  /*else*/ {
    __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS_RO;
  }
  __pyx_L4:;

  /* "View.MemoryView":1032
 *         result.flags = PyBUF_RECORDS_RO
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape             # <<<<<<<<<<<<<<
 *     result.view.strides = <Py_ssize_t *> result.from_slice.strides
 * 
 */
  __pyx_v_result->__pyx_base.view.shape = ((Py_ssize_t *)__pyx_v_result->from_slice.shape);

  /* "View.MemoryView":1033
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape
 *     result.view.strides = <Py_ssize_t *> result.from_slice.strides             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_result->__pyx_base.view.strides = ((Py_ssize_t *)__pyx_v_result->from_slice.strides);

  /* "View.MemoryView":1036
 * 
 * 
 *     result.view.suboffsets = NULL             # <<<<<<<<<<<<<<
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:
 */
  __pyx_v_result->__pyx_base.view.suboffsets = NULL;

  /* "View.MemoryView":1037
 * 
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:             # <<<<<<<<<<<<<<
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 */
  __pyx_t_7 = (__pyx_v_result->from_slice.suboffsets + __pyx_v_ndim);
  for (__pyx_t_8 = __pyx_v_result->from_slice.suboffsets; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
    __pyx_t_6 = __pyx_t_8;
    __pyx_v_suboffset = (__pyx_t_6[0]);

    /* "View.MemoryView":1038
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break
 */
    __pyx_t_1 = (__pyx_v_suboffset >= 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":1039
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets             # <<<<<<<<<<<<<<
 *             break
 * 
 */
      __pyx_v_result->__pyx_base.view.suboffsets = ((Py_ssize_t *)__pyx_v_result->from_slice.suboffsets);

      /* "View.MemoryView":1040
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break             # <<<<<<<<<<<<<<
 * 
 *     result.view.len = result.view.itemsize
 */
      goto __pyx_L6_break;

      /* "View.MemoryView":1038
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break
 */
    }
  }
  __pyx_L6_break:;

  /* "View.MemoryView":1042
 *             break
 * 
 *     result.view.len = result.view.itemsize             # <<<<<<<<<<<<<<
 *     for length in result.view.shape[:ndim]:
 *         result.view.len *= length
 */
  __pyx_t_9 = __pyx_v_result->__pyx_base.view.itemsize;
  __pyx_v_result->__pyx_base.view.len = __pyx_t_9;

  /* "View.MemoryView":1043
 * 
 *     result.view.len = result.view.itemsize
 *     for length in result.view.shape[:ndim]:             # <<<<<<<<<<<<<<
 *         result.view.len *= length
 * 
 */
  __pyx_t_7 = (__pyx_v_result->__pyx_base.view.shape + __pyx_v_ndim);
  for (__pyx_t_8 = __pyx_v_result->__pyx_base.view.shape; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
    __pyx_t_6 = __pyx_t_8;
    __pyx_t_2 = PyInt_FromSsize_t((__pyx_t_6[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_length, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":1044
 *     result.view.len = result.view.itemsize
 *     for length in result.view.shape[:ndim]:
 *         result.view.len *= length             # <<<<<<<<<<<<<<
 * 
 *     result.to_object_func = to_object_func
 */
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_result->__pyx_base.view.len); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_t_2, __pyx_v_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 1044, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_result->__pyx_base.view.len = __pyx_t_9;
  }

  /* "View.MemoryView":1046
 *         result.view.len *= length
 * 
 *     result.to_object_func = to_object_func             # <<<<<<<<<<<<<<
 *     result.to_dtype_func = to_dtype_func
 * 
 */
  __pyx_v_result->to_object_func = __pyx_v_to_object_func;

  /* "View.MemoryView":1047
 * 
 *     result.to_object_func = to_object_func
 *     result.to_dtype_func = to_dtype_func             # <<<<<<<<<<<<<<
 * 
 *     return result
 */
  __pyx_v_result->to_dtype_func = __pyx_v_to_dtype_func;

  /* "View.MemoryView":1049
 *     result.to_dtype_func = to_dtype_func
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":999
 * 
 * @cname('__pyx_memoryview_fromslice')
 * cdef memoryview_fromslice(__Pyx_memviewslice memviewslice,             # <<<<<<<<<<<<<<
 *                           int ndim,
 *                           object (*to_object_func)(char *),
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview_fromslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_length);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1052
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')
 * cdef __Pyx_memviewslice *get_slice_from_memview(memoryview memview,             # <<<<<<<<<<<<<<
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 */

static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {
  struct __pyx_memoryviewslice_obj *__pyx_v_obj = 0;
  __Pyx_memviewslice *__pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_slice_from_memview", 1);

  /* "View.MemoryView":1055
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         obj = memview
 *         return &obj.from_slice
 */
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":1056
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):
 *         obj = memview             # <<<<<<<<<<<<<<
 *         return &obj.from_slice
 *     else:
 */
    if (!(likely(((((PyObject *)__pyx_v_memview)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type))))) __PYX_ERR(2, 1056, __pyx_L1_error)
    __pyx_t_2 = ((PyObject *)__pyx_v_memview);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_obj = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":1057
 *     if isinstance(memview, _memoryviewslice):
 *         obj = memview
 *         return &obj.from_slice             # <<<<<<<<<<<<<<
 *     else:
 *         slice_copy(memview, mslice)
 */
    __pyx_r = (&__pyx_v_obj->from_slice);
    goto __pyx_L0;

    /* "View.MemoryView":1055
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         obj = memview
 *         return &obj.from_slice
 */
  }

  /* "View.MemoryView":1059
 *         return &obj.from_slice
 *     else:
 *         slice_copy(memview, mslice)             # <<<<<<<<<<<<<<
 *         return mslice
 * 
 */
  /*else*/ {
    __pyx_memoryview_slice_copy(__pyx_v_memview, __pyx_v_mslice);

    /* "View.MemoryView":1060
 *     else:
 *         slice_copy(memview, mslice)
 *         return mslice             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_slice_copy')
 */
    __pyx_r = __pyx_v_mslice;
    goto __pyx_L0;
  }

  /* "View.MemoryView":1052
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')
 * cdef __Pyx_memviewslice *get_slice_from_memview(memoryview memview,             # <<<<<<<<<<<<<<
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.get_slice_from_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_obj);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1063
 * 
 * @cname('__pyx_memoryview_slice_copy')
 * cdef void slice_copy(memoryview memview, __Pyx_memviewslice *dst) noexcept:             # <<<<<<<<<<<<<<
 *     cdef int dim
 *     cdef (Py_ssize_t*) shape, strides, suboffsets
 */

static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {
  int __pyx_v_dim;
  Py_ssize_t *__pyx_v_shape;
  Py_ssize_t *__pyx_v_strides;
  Py_ssize_t *__pyx_v_suboffsets;
  Py_ssize_t *__pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;

  /* "View.MemoryView":1067
 *     cdef (Py_ssize_t*) shape, strides, suboffsets
 * 
 *     shape = memview.view.shape             # <<<<<<<<<<<<<<
 *     strides = memview.view.strides
 *     suboffsets = memview.view.suboffsets
 */
  __pyx_t_1 = __pyx_v_memview->view.shape;
  __pyx_v_shape = __pyx_t_1;

  /* "View.MemoryView":1068
 * 
 *     shape = memview.view.shape
 *     strides = memview.view.strides             # <<<<<<<<<<<<<<
 *     suboffsets = memview.view.suboffsets
 * 
 */
  __pyx_t_1 = __pyx_v_memview->view.strides;
  __pyx_v_strides = __pyx_t_1;

  /* "View.MemoryView":1069
 *     shape = memview.view.shape
 *     strides = memview.view.strides
 *     suboffsets = memview.view.suboffsets             # <<<<<<<<<<<<<<
 * 
 *     dst.memview = <__pyx_memoryview *> memview
 */
  __pyx_t_1 = __pyx_v_memview->view.suboffsets;
  __pyx_v_suboffsets = __pyx_t_1;

  /* "View.MemoryView":1071
 *     suboffsets = memview.view.suboffsets
 * 
 *     dst.memview = <__pyx_memoryview *> memview             # <<<<<<<<<<<<<<
 *     dst.data = <char *> memview.view.buf
 * 
 */
  __pyx_v_dst->memview = ((struct __pyx_memoryview_obj *)__pyx_v_memview);

  /* "View.MemoryView":1072
 * 
 *     dst.memview = <__pyx_memoryview *> memview
 *     dst.data = <char *> memview.view.buf             # <<<<<<<<<<<<<<
 * 
 *     for dim in range(memview.view.ndim):
 */
  __pyx_v_dst->data = ((char *)__pyx_v_memview->view.buf);

  /* "View.MemoryView":1074
 *     dst.data = <char *> memview.view.buf
 * 
 *     for dim in range(memview.view.ndim):             # <<<<<<<<<<<<<<
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]
 */
  __pyx_t_2 = __pyx_v_memview->view.ndim;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_dim = __pyx_t_4;

    /* "View.MemoryView":1075
 * 
 *     for dim in range(memview.view.ndim):
 *         dst.shape[dim] = shape[dim]             # <<<<<<<<<<<<<<
 *         dst.strides[dim] = strides[dim]
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
 */
    (__pyx_v_dst->shape[__pyx_v_dim]) = (__pyx_v_shape[__pyx_v_dim]);

    /* "View.MemoryView":1076
 *     for dim in range(memview.view.ndim):
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]             # <<<<<<<<<<<<<<
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
 * 
 */
    (__pyx_v_dst->strides[__pyx_v_dim]) = (__pyx_v_strides[__pyx_v_dim]);

    /* "View.MemoryView":1077
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_object')
 */
    __pyx_t_6 = (__pyx_v_suboffsets != 0);
    if (__pyx_t_6) {
      __pyx_t_5 = (__pyx_v_suboffsets[__pyx_v_dim]);
    } else {
      __pyx_t_5 = -1L;
    }
    (__pyx_v_dst->suboffsets[__pyx_v_dim]) = __pyx_t_5;
  }

  /* "View.MemoryView":1063
 * 
 * @cname('__pyx_memoryview_slice_copy')
 * cdef void slice_copy(memoryview memview, __Pyx_memviewslice *dst) noexcept:             # <<<<<<<<<<<<<<
 *     cdef int dim
 *     cdef (Py_ssize_t*) shape, strides, suboffsets
 */

  /* function exit code */
}

/* "View.MemoryView":1080
 * 
 * @cname('__pyx_memoryview_copy_object')
 * cdef memoryview_copy(memoryview memview):             # <<<<<<<<<<<<<<
 *     "Create a new memoryview object"
 *     cdef __Pyx_memviewslice memviewslice
 */

static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx_v_memview) {
  __Pyx_memviewslice __pyx_v_memviewslice;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_copy", 1);

  /* "View.MemoryView":1083
 *     "Create a new memoryview object"
 *     cdef __Pyx_memviewslice memviewslice
 *     slice_copy(memview, &memviewslice)             # <<<<<<<<<<<<<<
 *     return memoryview_copy_from_slice(memview, &memviewslice)
 * 
 */
  __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_memviewslice));

  /* "View.MemoryView":1084
 *     cdef __Pyx_memviewslice memviewslice
 *     slice_copy(memview, &memviewslice)
 *     return memoryview_copy_from_slice(memview, &memviewslice)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_memoryview_copy_object_from_slice(__pyx_v_memview, (&__pyx_v_memviewslice)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1080
 * 
 * @cname('__pyx_memoryview_copy_object')
 * cdef memoryview_copy(memoryview memview):             # <<<<<<<<<<<<<<
 *     "Create a new memoryview object"
 *     cdef __Pyx_memviewslice memviewslice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1087
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')
 * cdef memoryview_copy_from_slice(memoryview memview, __Pyx_memviewslice *memviewslice):             # <<<<<<<<<<<<<<
 *     """
 *     Create a new memoryview object from a given memoryview object and slice.
 */

static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {
  PyObject *(*__pyx_v_to_object_func)(char *);
  int (*__pyx_v_to_dtype_func)(char *, PyObject *);
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *(*__pyx_t_2)(char *);
  int (*__pyx_t_3)(char *, PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 1);

  /* "View.MemoryView":1094
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 */
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":1095
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         to_object_func = (<_memoryviewslice> memview).to_object_func             # <<<<<<<<<<<<<<
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 *     else:
 */
    __pyx_t_2 = ((struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_object_func;
    __pyx_v_to_object_func = __pyx_t_2;

    /* "View.MemoryView":1096
 *     if isinstance(memview, _memoryviewslice):
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func             # <<<<<<<<<<<<<<
 *     else:
 *         to_object_func = NULL
 */
    __pyx_t_3 = ((struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_dtype_func;
    __pyx_v_to_dtype_func = __pyx_t_3;

    /* "View.MemoryView":1094
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":1098
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 *     else:
 *         to_object_func = NULL             # <<<<<<<<<<<<<<
 *         to_dtype_func = NULL
 * 
 */
  /*else*/ {
    __pyx_v_to_object_func = NULL;

    /* "View.MemoryView":1099
 *     else:
 *         to_object_func = NULL
 *         to_dtype_func = NULL             # <<<<<<<<<<<<<<
 * 
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,
 */
    __pyx_v_to_dtype_func = NULL;
  }
  __pyx_L3:;

  /* "View.MemoryView":1101
 *         to_dtype_func = NULL
 * 
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,             # <<<<<<<<<<<<<<
 *                                 to_object_func, to_dtype_func,
 *                                 memview.dtype_is_object)
 */
  __Pyx_XDECREF(__pyx_r);

  /* "View.MemoryView":1103
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,
 *                                 to_object_func, to_dtype_func,
 *                                 memview.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __pyx_memoryview_fromslice((__pyx_v_memviewslice[0]), __pyx_v_memview->view.ndim, __pyx_v_to_object_func, __pyx_v_to_dtype_func, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1087
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')
 * cdef memoryview_copy_from_slice(memoryview memview, __Pyx_memviewslice *memviewslice):             # <<<<<<<<<<<<<<
 *     """
 *     Create a new memoryview object from a given memoryview object and slice.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy_from_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1109
 * 
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return -arg if arg < 0 else arg
 * 
 */

static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {
  Py_ssize_t __pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;

  /* "View.MemoryView":1110
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:
 *     return -arg if arg < 0 else arg             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_get_best_slice_order')
 */
  __pyx_t_2 = (__pyx_v_arg < 0);
  if (__pyx_t_2) {
    __pyx_t_1 = (-__pyx_v_arg);
  } else {
    __pyx_t_1 = __pyx_v_arg;
  }
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "View.MemoryView":1109
 * 
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return -arg if arg < 0 else arg
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1113
 * 
 * @cname('__pyx_get_best_slice_order')
 * cdef char get_best_order(__Pyx_memviewslice *mslice, int ndim) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Figure out the best memory access order for a given slice.
 */

static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim) {
  int __pyx_v_i;
  Py_ssize_t __pyx_v_c_stride;
  Py_ssize_t __pyx_v_f_stride;
  char __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1118
 *     """
 *     cdef int i
 *     cdef Py_ssize_t c_stride = 0             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t f_stride = 0
 * 
 */
  __pyx_v_c_stride = 0;

  /* "View.MemoryView":1119
 *     cdef int i
 *     cdef Py_ssize_t c_stride = 0
 *     cdef Py_ssize_t f_stride = 0             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim - 1, -1, -1):
 */
  __pyx_v_f_stride = 0;

  /* "View.MemoryView":1121
 *     cdef Py_ssize_t f_stride = 0
 * 
 *     for i in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]
 */
  for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":1122
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             c_stride = mslice.strides[i]
 *             break
 */
    __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1123
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]             # <<<<<<<<<<<<<<
 *             break
 * 
 */
      __pyx_v_c_stride = (__pyx_v_mslice->strides[__pyx_v_i]);

      /* "View.MemoryView":1124
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]
 *             break             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim):
 */
      goto __pyx_L4_break;

      /* "View.MemoryView":1122
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             c_stride = mslice.strides[i]
 *             break
 */
    }
  }
  __pyx_L4_break:;

  /* "View.MemoryView":1126
 *             break
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]
 */
  __pyx_t_1 = __pyx_v_ndim;
  __pyx_t_3 = __pyx_t_1;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "View.MemoryView":1127
 * 
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             f_stride = mslice.strides[i]
 *             break
 */
    __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1128
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]             # <<<<<<<<<<<<<<
 *             break
 * 
 */
      __pyx_v_f_stride = (__pyx_v_mslice->strides[__pyx_v_i]);

      /* "View.MemoryView":1129
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]
 *             break             # <<<<<<<<<<<<<<
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):
 */
      goto __pyx_L7_break;

      /* "View.MemoryView":1127
 * 
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             f_stride = mslice.strides[i]
 *             break
 */
    }
  }
  __pyx_L7_break:;

  /* "View.MemoryView":1131
 *             break
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):             # <<<<<<<<<<<<<<
 *         return 'C'
 *     else:
 */
  __pyx_t_2 = (abs_py_ssize_t(__pyx_v_c_stride) <= abs_py_ssize_t(__pyx_v_f_stride));
  if (__pyx_t_2) {

    /* "View.MemoryView":1132
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):
 *         return 'C'             # <<<<<<<<<<<<<<
 *     else:
 *         return 'F'
 */
    __pyx_r = 'C';
    goto __pyx_L0;

    /* "View.MemoryView":1131
 *             break
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):             # <<<<<<<<<<<<<<
 *         return 'C'
 *     else:
 */
  }

  /* "View.MemoryView":1134
 *         return 'C'
 *     else:
 *         return 'F'             # <<<<<<<<<<<<<<
 * 
 * @cython.cdivision(True)
 */
  /*else*/ {
    __pyx_r = 'F';
    goto __pyx_L0;
  }

  /* "View.MemoryView":1113
 * 
 * @cname('__pyx_get_best_slice_order')
 * cdef char get_best_order(__Pyx_memviewslice *mslice, int ndim) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Figure out the best memory access order for a given slice.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1137
 * 
 * @cython.cdivision(True)
 * cdef void _copy_strided_to_strided(char *src_data, Py_ssize_t *src_strides,             # <<<<<<<<<<<<<<
 *                                    char *dst_data, Py_ssize_t *dst_strides,
 *                                    Py_ssize_t *src_shape, Py_ssize_t *dst_shape,
 */

static void _copy_strided_to_strided(char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides, char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape, int __pyx_v_ndim, size_t __pyx_v_itemsize) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  CYTHON_UNUSED Py_ssize_t __pyx_v_src_extent;
  Py_ssize_t __pyx_v_dst_extent;
  Py_ssize_t __pyx_v_src_stride;
  Py_ssize_t __pyx_v_dst_stride;
  int __pyx_t_1;
  int __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;

  /* "View.MemoryView":1144
 * 
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t src_extent = src_shape[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]
 */
  __pyx_v_src_extent = (__pyx_v_src_shape[0]);

  /* "View.MemoryView":1145
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t src_extent = src_shape[0]
 *     cdef Py_ssize_t dst_extent = dst_shape[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t src_stride = src_strides[0]
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 */
  __pyx_v_dst_extent = (__pyx_v_dst_shape[0]);

  /* "View.MemoryView":1146
 *     cdef Py_ssize_t src_extent = src_shape[0]
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
 */
  __pyx_v_src_stride = (__pyx_v_src_strides[0]);

  /* "View.MemoryView":1147
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]
 *     cdef Py_ssize_t dst_stride = dst_strides[0]             # <<<<<<<<<<<<<<
 * 
 *     if ndim == 1:
 */
  __pyx_v_dst_stride = (__pyx_v_dst_strides[0]);

  /* "View.MemoryView":1149
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         if (src_stride > 0 and dst_stride > 0 and
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 */
  __pyx_t_1 = (__pyx_v_ndim == 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":1150
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 */
    __pyx_t_2 = (__pyx_v_src_stride > 0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_dst_stride > 0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }

    /* "View.MemoryView":1151
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):             # <<<<<<<<<<<<<<
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 *         else:
 */
    __pyx_t_2 = (((size_t)__pyx_v_src_stride) == __pyx_v_itemsize);
    if (__pyx_t_2) {
      __pyx_t_2 = (__pyx_v_itemsize == ((size_t)__pyx_v_dst_stride));
    }
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;

    /* "View.MemoryView":1150
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 */
    if (__pyx_t_1) {

      /* "View.MemoryView":1152
 *         if (src_stride > 0 and dst_stride > 0 and
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(dst_extent):
 */
      (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, (__pyx_v_itemsize * __pyx_v_dst_extent)));

      /* "View.MemoryView":1150
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 */
      goto __pyx_L4;
    }

    /* "View.MemoryView":1154
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 *         else:
 *             for i in range(dst_extent):             # <<<<<<<<<<<<<<
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride
 */
    /*else*/ {
      __pyx_t_3 = __pyx_v_dst_extent;
      __pyx_t_4 = __pyx_t_3;
      for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
        __pyx_v_i = __pyx_t_5;

        /* "View.MemoryView":1155
 *         else:
 *             for i in range(dst_extent):
 *                 memcpy(dst_data, src_data, itemsize)             # <<<<<<<<<<<<<<
 *                 src_data += src_stride
 *                 dst_data += dst_stride
 */
        (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, __pyx_v_itemsize));

        /* "View.MemoryView":1156
 *             for i in range(dst_extent):
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride             # <<<<<<<<<<<<<<
 *                 dst_data += dst_stride
 *     else:
 */
        __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);

        /* "View.MemoryView":1157
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride
 *                 dst_data += dst_stride             # <<<<<<<<<<<<<<
 *     else:
 *         for i in range(dst_extent):
 */
        __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
      }
    }
    __pyx_L4:;

    /* "View.MemoryView":1149
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         if (src_stride > 0 and dst_stride > 0 and
 *             <size_t> src_stride == itemsize == <size_t> dst_stride):
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":1159
 *                 dst_data += dst_stride
 *     else:
 *         for i in range(dst_extent):             # <<<<<<<<<<<<<<
 *             _copy_strided_to_strided(src_data, src_strides + 1,
 *                                      dst_data, dst_strides + 1,
 */
  /*else*/ {
    __pyx_t_3 = __pyx_v_dst_extent;
    __pyx_t_4 = __pyx_t_3;
    for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
      __pyx_v_i = __pyx_t_5;

      /* "View.MemoryView":1160
 *     else:
 *         for i in range(dst_extent):
 *             _copy_strided_to_strided(src_data, src_strides + 1,             # <<<<<<<<<<<<<<
 *                                      dst_data, dst_strides + 1,
 *                                      src_shape + 1, dst_shape + 1,
 */
      _copy_strided_to_strided(__pyx_v_src_data, (__pyx_v_src_strides + 1), __pyx_v_dst_data, (__pyx_v_dst_strides + 1), (__pyx_v_src_shape + 1), (__pyx_v_dst_shape + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize);

      /* "View.MemoryView":1164
 *                                      src_shape + 1, dst_shape + 1,
 *                                      ndim - 1, itemsize)
 *             src_data += src_stride             # <<<<<<<<<<<<<<
 *             dst_data += dst_stride
 * 
 */
      __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);

      /* "View.MemoryView":1165
 *                                      ndim - 1, itemsize)
 *             src_data += src_stride
 *             dst_data += dst_stride             # <<<<<<<<<<<<<<
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,
 */
      __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1137
 * 
 * @cython.cdivision(True)
 * cdef void _copy_strided_to_strided(char *src_data, Py_ssize_t *src_strides,             # <<<<<<<<<<<<<<
 *                                    char *dst_data, Py_ssize_t *dst_strides,
 *                                    Py_ssize_t *src_shape, Py_ssize_t *dst_shape,
 */

  /* function exit code */
}

/* "View.MemoryView":1167
 *             dst_data += dst_stride
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
 */

static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize) {

  /* "View.MemoryView":1170
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
 *     _copy_strided_to_strided(src.data, src.strides, dst.data, dst.strides,             # <<<<<<<<<<<<<<
 *                              src.shape, dst.shape, ndim, itemsize)
 * 
 */
  _copy_strided_to_strided(__pyx_v_src->data, __pyx_v_src->strides, __pyx_v_dst->data, __pyx_v_dst->strides, __pyx_v_src->shape, __pyx_v_dst->shape, __pyx_v_ndim, __pyx_v_itemsize);

  /* "View.MemoryView":1167
 *             dst_data += dst_stride
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
 */

  /* function exit code */
}

/* "View.MemoryView":1174
 * 
 * @cname('__pyx_memoryview_slice_get_size')
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:             # <<<<<<<<<<<<<<
 *     "Return the size of the memory occupied by the slice in number of bytes"
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize
 */

static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_shape;
  Py_ssize_t __pyx_v_size;
  Py_ssize_t __pyx_r;
  Py_ssize_t __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;

  /* "View.MemoryView":1176
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:
 *     "Return the size of the memory occupied by the slice in number of bytes"
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     for shape in src.shape[:ndim]:
 */
  __pyx_t_1 = __pyx_v_src->memview->view.itemsize;
  __pyx_v_size = __pyx_t_1;

  /* "View.MemoryView":1178
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize
 * 
 *     for shape in src.shape[:ndim]:             # <<<<<<<<<<<<<<
 *         size *= shape
 * 
 */
  __pyx_t_3 = (__pyx_v_src->shape + __pyx_v_ndim);
  for (__pyx_t_4 = __pyx_v_src->shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
    __pyx_t_2 = __pyx_t_4;
    __pyx_v_shape = (__pyx_t_2[0]);

    /* "View.MemoryView":1179
 * 
 *     for shape in src.shape[:ndim]:
 *         size *= shape             # <<<<<<<<<<<<<<
 * 
 *     return size
 */
    __pyx_v_size = (__pyx_v_size * __pyx_v_shape);
  }

  /* "View.MemoryView":1181
 *         size *= shape
 * 
 *     return size             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_fill_contig_strides_array')
 */
  __pyx_r = __pyx_v_size;
  goto __pyx_L0;

  /* "View.MemoryView":1174
 * 
 * @cname('__pyx_memoryview_slice_get_size')
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:             # <<<<<<<<<<<<<<
 *     "Return the size of the memory occupied by the slice in number of bytes"
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1184
 * 
 * @cname('__pyx_fill_contig_strides_array')
 * cdef Py_ssize_t fill_contig_strides_array(             # <<<<<<<<<<<<<<
 *                 Py_ssize_t *shape, Py_ssize_t *strides, Py_ssize_t stride,
 *                 int ndim, char order) noexcept nogil:
 */

static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride, int __pyx_v_ndim, char __pyx_v_order) {
  int __pyx_v_idx;
  Py_ssize_t __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1193
 *     cdef int idx
 * 
 *     if order == 'F':             # <<<<<<<<<<<<<<
 *         for idx in range(ndim):
 *             strides[idx] = stride
 */
  __pyx_t_1 = (__pyx_v_order == 'F');
  if (__pyx_t_1) {

    /* "View.MemoryView":1194
 * 
 *     if order == 'F':
 *         for idx in range(ndim):             # <<<<<<<<<<<<<<
 *             strides[idx] = stride
 *             stride *= shape[idx]
 */
    __pyx_t_2 = __pyx_v_ndim;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_idx = __pyx_t_4;

      /* "View.MemoryView":1195
 *     if order == 'F':
 *         for idx in range(ndim):
 *             strides[idx] = stride             # <<<<<<<<<<<<<<
 *             stride *= shape[idx]
 *     else:
 */
      (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;

      /* "View.MemoryView":1196
 *         for idx in range(ndim):
 *             strides[idx] = stride
 *             stride *= shape[idx]             # <<<<<<<<<<<<<<
 *     else:
 *         for idx in range(ndim - 1, -1, -1):
 */
      __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
    }

    /* "View.MemoryView":1193
 *     cdef int idx
 * 
 *     if order == 'F':             # <<<<<<<<<<<<<<
 *         for idx in range(ndim):
 *             strides[idx] = stride
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":1198
 *             stride *= shape[idx]
 *     else:
 *         for idx in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *             strides[idx] = stride
 *             stride *= shape[idx]
 */
  /*else*/ {
    for (__pyx_t_2 = (__pyx_v_ndim - 1); __pyx_t_2 > -1; __pyx_t_2-=1) {
      __pyx_v_idx = __pyx_t_2;

      /* "View.MemoryView":1199
 *     else:
 *         for idx in range(ndim - 1, -1, -1):
 *             strides[idx] = stride             # <<<<<<<<<<<<<<
 *             stride *= shape[idx]
 * 
 */
      (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;

      /* "View.MemoryView":1200
 *         for idx in range(ndim - 1, -1, -1):
 *             strides[idx] = stride
 *             stride *= shape[idx]             # <<<<<<<<<<<<<<
 * 
 *     return stride
 */
      __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1202
 *             stride *= shape[idx]
 * 
 *     return stride             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')
 */
  __pyx_r = __pyx_v_stride;
  goto __pyx_L0;

  /* "View.MemoryView":1184
 * 
 * @cname('__pyx_fill_contig_strides_array')
 * cdef Py_ssize_t fill_contig_strides_array(             # <<<<<<<<<<<<<<
 *                 Py_ssize_t *shape, Py_ssize_t *strides, Py_ssize_t stride,
 *                 int ndim, char order) noexcept nogil:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1205
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')
 * cdef void *copy_data_to_temp(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                              __Pyx_memviewslice *tmpslice,
 *                              char order,
 */

static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice, char __pyx_v_order, int __pyx_v_ndim) {
  int __pyx_v_i;
  void *__pyx_v_result;
  size_t __pyx_v_itemsize;
  size_t __pyx_v_size;
  void *__pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  struct __pyx_memoryview_obj *__pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "View.MemoryView":1216
 *     cdef void *result
 * 
 *     cdef size_t itemsize = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 *     cdef size_t size = slice_get_size(src, ndim)
 * 
 */
  __pyx_t_1 = __pyx_v_src->memview->view.itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":1217
 * 
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef size_t size = slice_get_size(src, ndim)             # <<<<<<<<<<<<<<
 * 
 *     result = malloc(size)
 */
  __pyx_v_size = __pyx_memoryview_slice_get_size(__pyx_v_src, __pyx_v_ndim);

  /* "View.MemoryView":1219
 *     cdef size_t size = slice_get_size(src, ndim)
 * 
 *     result = malloc(size)             # <<<<<<<<<<<<<<
 *     if not result:
 *         _err_no_memory()
 */
  __pyx_v_result = malloc(__pyx_v_size);

  /* "View.MemoryView":1220
 * 
 *     result = malloc(size)
 *     if not result:             # <<<<<<<<<<<<<<
 *         _err_no_memory()
 * 
 */
  __pyx_t_2 = (!(__pyx_v_result != 0));
  if (__pyx_t_2) {

    /* "View.MemoryView":1221
 *     result = malloc(size)
 *     if not result:
 *         _err_no_memory()             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_3 = __pyx_memoryview_err_no_memory(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 1221, __pyx_L1_error)

    /* "View.MemoryView":1220
 * 
 *     result = malloc(size)
 *     if not result:             # <<<<<<<<<<<<<<
 *         _err_no_memory()
 * 
 */
  }

  /* "View.MemoryView":1224
 * 
 * 
 *     tmpslice.data = <char *> result             # <<<<<<<<<<<<<<
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):
 */
  __pyx_v_tmpslice->data = ((char *)__pyx_v_result);

  /* "View.MemoryView":1225
 * 
 *     tmpslice.data = <char *> result
 *     tmpslice.memview = src.memview             # <<<<<<<<<<<<<<
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]
 */
  __pyx_t_4 = __pyx_v_src->memview;
  __pyx_v_tmpslice->memview = __pyx_t_4;

  /* "View.MemoryView":1226
 *     tmpslice.data = <char *> result
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         tmpslice.shape[i] = src.shape[i]
 *         tmpslice.suboffsets[i] = -1
 */
  __pyx_t_3 = __pyx_v_ndim;
  __pyx_t_5 = __pyx_t_3;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "View.MemoryView":1227
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]             # <<<<<<<<<<<<<<
 *         tmpslice.suboffsets[i] = -1
 * 
 */
    (__pyx_v_tmpslice->shape[__pyx_v_i]) = (__pyx_v_src->shape[__pyx_v_i]);

    /* "View.MemoryView":1228
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]
 *         tmpslice.suboffsets[i] = -1             # <<<<<<<<<<<<<<
 * 
 *     fill_contig_strides_array(&tmpslice.shape[0], &tmpslice.strides[0], itemsize, ndim, order)
 */
    (__pyx_v_tmpslice->suboffsets[__pyx_v_i]) = -1L;
  }

  /* "View.MemoryView":1230
 *         tmpslice.suboffsets[i] = -1
 * 
 *     fill_contig_strides_array(&tmpslice.shape[0], &tmpslice.strides[0], itemsize, ndim, order)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  (void)(__pyx_fill_contig_strides_array((&(__pyx_v_tmpslice->shape[0])), (&(__pyx_v_tmpslice->strides[0])), __pyx_v_itemsize, __pyx_v_ndim, __pyx_v_order));

  /* "View.MemoryView":1233
 * 
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if tmpslice.shape[i] == 1:
 *             tmpslice.strides[i] = 0
 */
  __pyx_t_3 = __pyx_v_ndim;
  __pyx_t_5 = __pyx_t_3;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "View.MemoryView":1234
 * 
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:             # <<<<<<<<<<<<<<
 *             tmpslice.strides[i] = 0
 * 
 */
    __pyx_t_2 = ((__pyx_v_tmpslice->shape[__pyx_v_i]) == 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1235
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:
 *             tmpslice.strides[i] = 0             # <<<<<<<<<<<<<<
 * 
 *     if slice_is_contig(src[0], order, ndim):
 */
      (__pyx_v_tmpslice->strides[__pyx_v_i]) = 0;

      /* "View.MemoryView":1234
 * 
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:             # <<<<<<<<<<<<<<
 *             tmpslice.strides[i] = 0
 * 
 */
    }
  }

  /* "View.MemoryView":1237
 *             tmpslice.strides[i] = 0
 * 
 *     if slice_is_contig(src[0], order, ndim):             # <<<<<<<<<<<<<<
 *         memcpy(result, src.data, size)
 *     else:
 */
  __pyx_t_2 = __pyx_memviewslice_is_contig((__pyx_v_src[0]), __pyx_v_order, __pyx_v_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1238
 * 
 *     if slice_is_contig(src[0], order, ndim):
 *         memcpy(result, src.data, size)             # <<<<<<<<<<<<<<
 *     else:
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)
 */
    (void)(memcpy(__pyx_v_result, __pyx_v_src->data, __pyx_v_size));

    /* "View.MemoryView":1237
 *             tmpslice.strides[i] = 0
 * 
 *     if slice_is_contig(src[0], order, ndim):             # <<<<<<<<<<<<<<
 *         memcpy(result, src.data, size)
 *     else:
 */
    goto __pyx_L9;
  }

  /* "View.MemoryView":1240
 *         memcpy(result, src.data, size)
 *     else:
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)             # <<<<<<<<<<<<<<
 * 
 *     return result
 */
  /*else*/ {
    copy_strided_to_strided(__pyx_v_src, __pyx_v_tmpslice, __pyx_v_ndim, __pyx_v_itemsize);
  }
  __pyx_L9:;

  /* "View.MemoryView":1242
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "View.MemoryView":1205
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')
 * cdef void *copy_data_to_temp(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                              __Pyx_memviewslice *tmpslice,
 *                              char order,
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_AddTraceback("View.MemoryView.copy_data_to_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1247
 * 
 * @cname('__pyx_memoryview_err_extents')
 * cdef int _err_extents(int i, Py_ssize_t extent1,             # <<<<<<<<<<<<<<
 *                              Py_ssize_t extent2) except -1 with gil:
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"
 */

static int __pyx_memoryview_err_extents(int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_UCS4 __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_RefNannySetupContext("_err_extents", 0);

  /* "View.MemoryView":1249
 * cdef int _err_extents(int i, Py_ssize_t extent1,
 *                              Py_ssize_t extent2) except -1 with gil:
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err_dim')
 */
  __pyx_t_1 = PyTuple_New(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = 0;
  __pyx_t_3 = 127;
  __Pyx_INCREF(__pyx_kp_u_got_differing_extents_in_dimensi);
  __pyx_t_2 += 35;
  __Pyx_GIVEREF(__pyx_kp_u_got_differing_extents_in_dimensi);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_got_differing_extents_in_dimensi);
  __pyx_t_4 = __Pyx_PyUnicode_From_int(__pyx_v_i, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  __Pyx_INCREF(__pyx_kp_u_got);
  __pyx_t_2 += 6;
  __Pyx_GIVEREF(__pyx_kp_u_got);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_got);
  __pyx_t_4 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_extent1, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_4);
  __pyx_t_4 = 0;
  __Pyx_INCREF(__pyx_kp_u_and);
  __pyx_t_2 += 5;
  __Pyx_GIVEREF(__pyx_kp_u_and);
  PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_and);
  __pyx_t_4 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_extent2, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_4);
  __pyx_t_4 = 0;
  __Pyx_INCREF(__pyx_kp_u__9);
  __pyx_t_2 += 1;
  __Pyx_GIVEREF(__pyx_kp_u__9);
  PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_kp_u__9);
  __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 7, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_Raise(__pyx_builtin_ValueError, __pyx_t_4, 0, 0);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __PYX_ERR(2, 1249, __pyx_L1_error)

  /* "View.MemoryView":1247
 * 
 * @cname('__pyx_memoryview_err_extents')
 * cdef int _err_extents(int i, Py_ssize_t extent1,             # <<<<<<<<<<<<<<
 *                              Py_ssize_t extent2) except -1 with gil:
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView._err_extents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  return __pyx_r;
}

/* "View.MemoryView":1252
 * 
 * @cname('__pyx_memoryview_err_dim')
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise <object>error, msg % dim
 * 
 */

static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error, PyObject *__pyx_v_msg, int __pyx_v_dim) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_RefNannySetupContext("_err_dim", 0);
  __Pyx_INCREF(__pyx_v_msg);

  /* "View.MemoryView":1253
 * @cname('__pyx_memoryview_err_dim')
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:
 *     raise <object>error, msg % dim             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err')
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_dim); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_v_msg, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_Raise(((PyObject *)__pyx_v_error), __pyx_t_2, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(2, 1253, __pyx_L1_error)

  /* "View.MemoryView":1252
 * 
 * @cname('__pyx_memoryview_err_dim')
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise <object>error, msg % dim
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView._err_dim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  return __pyx_r;
}

/* "View.MemoryView":1256
 * 
 * @cname('__pyx_memoryview_err')
 * cdef int _err(PyObject *error, str msg) except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise <object>error, msg
 * 
 */

static int __pyx_memoryview_err(PyObject *__pyx_v_error, PyObject *__pyx_v_msg) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_RefNannySetupContext("_err", 0);
  __Pyx_INCREF(__pyx_v_msg);

  /* "View.MemoryView":1257
 * @cname('__pyx_memoryview_err')
 * cdef int _err(PyObject *error, str msg) except -1 with gil:
 *     raise <object>error, msg             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err_no_memory')
 */
  __Pyx_Raise(((PyObject *)__pyx_v_error), __pyx_v_msg, 0, 0);
  __PYX_ERR(2, 1257, __pyx_L1_error)

  /* "View.MemoryView":1256
 * 
 * @cname('__pyx_memoryview_err')
 * cdef int _err(PyObject *error, str msg) except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise <object>error, msg
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._err", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  return __pyx_r;
}

/* "View.MemoryView":1260
 * 
 * @cname('__pyx_memoryview_err_no_memory')
 * cdef int _err_no_memory() except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise MemoryError
 * 
 */

static int __pyx_memoryview_err_no_memory(void) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif

  /* "View.MemoryView":1261
 * @cname('__pyx_memoryview_err_no_memory')
 * cdef int _err_no_memory() except -1 with gil:
 *     raise MemoryError             # <<<<<<<<<<<<<<
 * 
 * 
 */
  PyErr_NoMemory(); __PYX_ERR(2, 1261, __pyx_L1_error)

  /* "View.MemoryView":1260
 * 
 * @cname('__pyx_memoryview_err_no_memory')
 * cdef int _err_no_memory() except -1 with gil:             # <<<<<<<<<<<<<<
 *     raise MemoryError
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._err_no_memory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  return __pyx_r;
}

/* "View.MemoryView":1265
 * 
 * @cname('__pyx_memoryview_copy_contents')
 * cdef int memoryview_copy_contents(__Pyx_memviewslice src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice dst,
 *                                   int src_ndim, int dst_ndim,
 */

static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst, int __pyx_v_src_ndim, int __pyx_v_dst_ndim, int __pyx_v_dtype_is_object) {
  void *__pyx_v_tmpdata;
  size_t __pyx_v_itemsize;
  int __pyx_v_i;
  char __pyx_v_order;
  int __pyx_v_broadcasting;
  int __pyx_v_direct_copy;
  __Pyx_memviewslice __pyx_v_tmp;
  int __pyx_v_ndim;
  int __pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  void *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "View.MemoryView":1273
 *     Check for overlapping memory and verify the shapes.
 *     """
 *     cdef void *tmpdata = NULL             # <<<<<<<<<<<<<<
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef int i
 */
  __pyx_v_tmpdata = NULL;

  /* "View.MemoryView":1274
 *     """
 *     cdef void *tmpdata = NULL
 *     cdef size_t itemsize = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)
 */
  __pyx_t_1 = __pyx_v_src.memview->view.itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":1276
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)             # <<<<<<<<<<<<<<
 *     cdef bint broadcasting = False
 *     cdef bint direct_copy = False
 */
  __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_src), __pyx_v_src_ndim);

  /* "View.MemoryView":1277
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)
 *     cdef bint broadcasting = False             # <<<<<<<<<<<<<<
 *     cdef bint direct_copy = False
 *     cdef __Pyx_memviewslice tmp
 */
  __pyx_v_broadcasting = 0;

  /* "View.MemoryView":1278
 *     cdef char order = get_best_order(&src, src_ndim)
 *     cdef bint broadcasting = False
 *     cdef bint direct_copy = False             # <<<<<<<<<<<<<<
 *     cdef __Pyx_memviewslice tmp
 * 
 */
  __pyx_v_direct_copy = 0;

  /* "View.MemoryView":1281
 *     cdef __Pyx_memviewslice tmp
 * 
 *     if src_ndim < dst_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
 */
  __pyx_t_2 = (__pyx_v_src_ndim < __pyx_v_dst_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1282
 * 
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)             # <<<<<<<<<<<<<<
 *     elif dst_ndim < src_ndim:
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 */
    __pyx_memoryview_broadcast_leading((&__pyx_v_src), __pyx_v_src_ndim, __pyx_v_dst_ndim);

    /* "View.MemoryView":1281
 *     cdef __Pyx_memviewslice tmp
 * 
 *     if src_ndim < dst_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":1283
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
 */
  __pyx_t_2 = (__pyx_v_dst_ndim < __pyx_v_src_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1284
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
 *         broadcast_leading(&dst, dst_ndim, src_ndim)             # <<<<<<<<<<<<<<
 * 
 *     cdef int ndim = max(src_ndim, dst_ndim)
 */
    __pyx_memoryview_broadcast_leading((&__pyx_v_dst), __pyx_v_dst_ndim, __pyx_v_src_ndim);

    /* "View.MemoryView":1283
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
 */
  }
  __pyx_L3:;

  /* "View.MemoryView":1286
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
 *     cdef int ndim = max(src_ndim, dst_ndim)             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim):
 */
  __pyx_t_3 = __pyx_v_dst_ndim;
  __pyx_t_4 = __pyx_v_src_ndim;
  __pyx_t_2 = (__pyx_t_3 > __pyx_t_4);
  if (__pyx_t_2) {
    __pyx_t_5 = __pyx_t_3;
  } else {
    __pyx_t_5 = __pyx_t_4;
  }
  __pyx_v_ndim = __pyx_t_5;

  /* "View.MemoryView":1288
 *     cdef int ndim = max(src_ndim, dst_ndim)
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:
 */
  __pyx_t_5 = __pyx_v_ndim;
  __pyx_t_3 = __pyx_t_5;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "View.MemoryView":1289
 * 
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:             # <<<<<<<<<<<<<<
 *             if src.shape[i] == 1:
 *                 broadcasting = True
 */
    __pyx_t_2 = ((__pyx_v_src.shape[__pyx_v_i]) != (__pyx_v_dst.shape[__pyx_v_i]));
    if (__pyx_t_2) {

      /* "View.MemoryView":1290
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:             # <<<<<<<<<<<<<<
 *                 broadcasting = True
 *                 src.strides[i] = 0
 */
      __pyx_t_2 = ((__pyx_v_src.shape[__pyx_v_i]) == 1);
      if (__pyx_t_2) {

        /* "View.MemoryView":1291
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:
 *                 broadcasting = True             # <<<<<<<<<<<<<<
 *                 src.strides[i] = 0
 *             else:
 */
        __pyx_v_broadcasting = 1;

        /* "View.MemoryView":1292
 *             if src.shape[i] == 1:
 *                 broadcasting = True
 *                 src.strides[i] = 0             # <<<<<<<<<<<<<<
 *             else:
 *                 _err_extents(i, dst.shape[i], src.shape[i])
 */
        (__pyx_v_src.strides[__pyx_v_i]) = 0;

        /* "View.MemoryView":1290
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:             # <<<<<<<<<<<<<<
 *                 broadcasting = True
 *                 src.strides[i] = 0
 */
        goto __pyx_L7;
      }

      /* "View.MemoryView":1294
 *                 src.strides[i] = 0
 *             else:
 *                 _err_extents(i, dst.shape[i], src.shape[i])             # <<<<<<<<<<<<<<
 * 
 *         if src.suboffsets[i] >= 0:
 */
      /*else*/ {
        __pyx_t_6 = __pyx_memoryview_err_extents(__pyx_v_i, (__pyx_v_dst.shape[__pyx_v_i]), (__pyx_v_src.shape[__pyx_v_i])); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 1294, __pyx_L1_error)
      }
      __pyx_L7:;

      /* "View.MemoryView":1289
 * 
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:             # <<<<<<<<<<<<<<
 *             if src.shape[i] == 1:
 *                 broadcasting = True
 */
    }

    /* "View.MemoryView":1296
 *                 _err_extents(i, dst.shape[i], src.shape[i])
 * 
 *         if src.suboffsets[i] >= 0:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 */
    __pyx_t_2 = ((__pyx_v_src.suboffsets[__pyx_v_i]) >= 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":1297
 * 
 *         if src.suboffsets[i] >= 0:
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)             # <<<<<<<<<<<<<<
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):
 */
      __pyx_t_6 = __pyx_memoryview_err_dim(PyExc_ValueError, __pyx_kp_s_Dimension_d_is_not_direct, __pyx_v_i); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 1297, __pyx_L1_error)

      /* "View.MemoryView":1296
 *                 _err_extents(i, dst.shape[i], src.shape[i])
 * 
 *         if src.suboffsets[i] >= 0:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 */
    }
  }

  /* "View.MemoryView":1299
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):             # <<<<<<<<<<<<<<
 * 
 *         if not slice_is_contig(src, order, ndim):
 */
  __pyx_t_2 = __pyx_slices_overlap((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);
  if (__pyx_t_2) {

    /* "View.MemoryView":1301
 *     if slices_overlap(&src, &dst, ndim, itemsize):
 * 
 *         if not slice_is_contig(src, order, ndim):             # <<<<<<<<<<<<<<
 *             order = get_best_order(&dst, ndim)
 * 
 */
    __pyx_t_2 = (!__pyx_memviewslice_is_contig(__pyx_v_src, __pyx_v_order, __pyx_v_ndim));
    if (__pyx_t_2) {

      /* "View.MemoryView":1302
 * 
 *         if not slice_is_contig(src, order, ndim):
 *             order = get_best_order(&dst, ndim)             # <<<<<<<<<<<<<<
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)
 */
      __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim);

      /* "View.MemoryView":1301
 *     if slices_overlap(&src, &dst, ndim, itemsize):
 * 
 *         if not slice_is_contig(src, order, ndim):             # <<<<<<<<<<<<<<
 *             order = get_best_order(&dst, ndim)
 * 
 */
    }

    /* "View.MemoryView":1304
 *             order = get_best_order(&dst, ndim)
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)             # <<<<<<<<<<<<<<
 *         src = tmp
 * 
 */
    __pyx_t_7 = __pyx_memoryview_copy_data_to_temp((&__pyx_v_src), (&__pyx_v_tmp), __pyx_v_order, __pyx_v_ndim); if (unlikely(__pyx_t_7 == ((void *)NULL))) __PYX_ERR(2, 1304, __pyx_L1_error)
    __pyx_v_tmpdata = __pyx_t_7;

    /* "View.MemoryView":1305
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)
 *         src = tmp             # <<<<<<<<<<<<<<
 * 
 *     if not broadcasting:
 */
    __pyx_v_src = __pyx_v_tmp;

    /* "View.MemoryView":1299
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):             # <<<<<<<<<<<<<<
 * 
 *         if not slice_is_contig(src, order, ndim):
 */
  }

  /* "View.MemoryView":1307
 *         src = tmp
 * 
 *     if not broadcasting:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (!__pyx_v_broadcasting);
  if (__pyx_t_2) {

    /* "View.MemoryView":1310
 * 
 * 
 *         if slice_is_contig(src, 'C', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
 */
    __pyx_t_2 = __pyx_memviewslice_is_contig(__pyx_v_src, 'C', __pyx_v_ndim);
    if (__pyx_t_2) {

      /* "View.MemoryView":1311
 * 
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)             # <<<<<<<<<<<<<<
 *         elif slice_is_contig(src, 'F', ndim):
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 */
      __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst, 'C', __pyx_v_ndim);

      /* "View.MemoryView":1310
 * 
 * 
 *         if slice_is_contig(src, 'C', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
 */
      goto __pyx_L12;
    }

    /* "View.MemoryView":1312
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 */
    __pyx_t_2 = __pyx_memviewslice_is_contig(__pyx_v_src, 'F', __pyx_v_ndim);
    if (__pyx_t_2) {

      /* "View.MemoryView":1313
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
 *             direct_copy = slice_is_contig(dst, 'F', ndim)             # <<<<<<<<<<<<<<
 * 
 *         if direct_copy:
 */
      __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst, 'F', __pyx_v_ndim);

      /* "View.MemoryView":1312
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 */
    }
    __pyx_L12:;

    /* "View.MemoryView":1315
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 *         if direct_copy:             # <<<<<<<<<<<<<<
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 */
    if (__pyx_v_direct_copy) {

      /* "View.MemoryView":1317
 *         if direct_copy:
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 */
      __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

      /* "View.MemoryView":1318
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))             # <<<<<<<<<<<<<<
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)
 */
      (void)(memcpy(__pyx_v_dst.data, __pyx_v_src.data, __pyx_memoryview_slice_get_size((&__pyx_v_src), __pyx_v_ndim)));

      /* "View.MemoryView":1319
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 *             free(tmpdata)
 *             return 0
 */
      __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

      /* "View.MemoryView":1320
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)             # <<<<<<<<<<<<<<
 *             return 0
 * 
 */
      free(__pyx_v_tmpdata);

      /* "View.MemoryView":1321
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)
 *             return 0             # <<<<<<<<<<<<<<
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):
 */
      __pyx_r = 0;
      goto __pyx_L0;

      /* "View.MemoryView":1315
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 *         if direct_copy:             # <<<<<<<<<<<<<<
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 */
    }

    /* "View.MemoryView":1307
 *         src = tmp
 * 
 *     if not broadcasting:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  }

  /* "View.MemoryView":1323
 *             return 0
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (__pyx_v_order == 'F');
  if (__pyx_t_2) {
    __pyx_t_2 = ('F' == __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim));
  }
  if (__pyx_t_2) {

    /* "View.MemoryView":1326
 * 
 * 
 *         transpose_memslice(&src)             # <<<<<<<<<<<<<<
 *         transpose_memslice(&dst)
 * 
 */
    __pyx_t_5 = __pyx_memslice_transpose((&__pyx_v_src)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 1326, __pyx_L1_error)

    /* "View.MemoryView":1327
 * 
 *         transpose_memslice(&src)
 *         transpose_memslice(&dst)             # <<<<<<<<<<<<<<
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 */
    __pyx_t_5 = __pyx_memslice_transpose((&__pyx_v_dst)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 1327, __pyx_L1_error)

    /* "View.MemoryView":1323
 *             return 0
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):             # <<<<<<<<<<<<<<
 * 
 * 
 */
  }

  /* "View.MemoryView":1329
 *         transpose_memslice(&dst)
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 */
  __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

  /* "View.MemoryView":1330
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)             # <<<<<<<<<<<<<<
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 * 
 */
  copy_strided_to_strided((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);

  /* "View.MemoryView":1331
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 * 
 *     free(tmpdata)
 */
  __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

  /* "View.MemoryView":1333
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 * 
 *     free(tmpdata)             # <<<<<<<<<<<<<<
 *     return 0
 * 
 */
  free(__pyx_v_tmpdata);

  /* "View.MemoryView":1334
 * 
 *     free(tmpdata)
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_broadcast_leading')
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1265
 * 
 * @cname('__pyx_memoryview_copy_contents')
 * cdef int memoryview_copy_contents(__Pyx_memviewslice src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice dst,
 *                                   int src_ndim, int dst_ndim,
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy_contents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1337
 * 
 * @cname('__pyx_memoryview_broadcast_leading')
 * cdef void broadcast_leading(__Pyx_memviewslice *mslice,             # <<<<<<<<<<<<<<
 *                             int ndim,
 *                             int ndim_other) noexcept nogil:
 */

static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim, int __pyx_v_ndim_other) {
  int __pyx_v_i;
  int __pyx_v_offset;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "View.MemoryView":1341
 *                             int ndim_other) noexcept nogil:
 *     cdef int i
 *     cdef int offset = ndim_other - ndim             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim - 1, -1, -1):
 */
  __pyx_v_offset = (__pyx_v_ndim_other - __pyx_v_ndim);

  /* "View.MemoryView":1343
 *     cdef int offset = ndim_other - ndim
 * 
 *     for i in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]
 */
  for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":1344
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         mslice.shape[i + offset] = mslice.shape[i]             # <<<<<<<<<<<<<<
 *         mslice.strides[i + offset] = mslice.strides[i]
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
 */
    (__pyx_v_mslice->shape[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->shape[__pyx_v_i]);

    /* "View.MemoryView":1345
 *     for i in range(ndim - 1, -1, -1):
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]             # <<<<<<<<<<<<<<
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
 * 
 */
    (__pyx_v_mslice->strides[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->strides[__pyx_v_i]);

    /* "View.MemoryView":1346
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]             # <<<<<<<<<<<<<<
 * 
 *     for i in range(offset):
 */
    (__pyx_v_mslice->suboffsets[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->suboffsets[__pyx_v_i]);
  }

  /* "View.MemoryView":1348
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
 * 
 *     for i in range(offset):             # <<<<<<<<<<<<<<
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]
 */
  __pyx_t_1 = __pyx_v_offset;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "View.MemoryView":1349
 * 
 *     for i in range(offset):
 *         mslice.shape[i] = 1             # <<<<<<<<<<<<<<
 *         mslice.strides[i] = mslice.strides[0]
 *         mslice.suboffsets[i] = -1
 */
    (__pyx_v_mslice->shape[__pyx_v_i]) = 1;

    /* "View.MemoryView":1350
 *     for i in range(offset):
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]             # <<<<<<<<<<<<<<
 *         mslice.suboffsets[i] = -1
 * 
 */
    (__pyx_v_mslice->strides[__pyx_v_i]) = (__pyx_v_mslice->strides[0]);

    /* "View.MemoryView":1351
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]
 *         mslice.suboffsets[i] = -1             # <<<<<<<<<<<<<<
 * 
 * 
 */
    (__pyx_v_mslice->suboffsets[__pyx_v_i]) = -1L;
  }

  /* "View.MemoryView":1337
 * 
 * @cname('__pyx_memoryview_broadcast_leading')
 * cdef void broadcast_leading(__Pyx_memviewslice *mslice,             # <<<<<<<<<<<<<<
 *                             int ndim,
 *                             int ndim_other) noexcept nogil:
 */

  /* function exit code */
}

/* "View.MemoryView":1359
 * 
 * @cname('__pyx_memoryview_refcount_copying')
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:             # <<<<<<<<<<<<<<
 * 
 *     if dtype_is_object:
 */

static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_dtype_is_object, int __pyx_v_ndim, int __pyx_v_inc) {

  /* "View.MemoryView":1361
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
 *     if dtype_is_object:             # <<<<<<<<<<<<<<
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
 */
  if (__pyx_v_dtype_is_object) {

    /* "View.MemoryView":1362
 * 
 *     if dtype_is_object:
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')
 */
    __pyx_memoryview_refcount_objects_in_slice_with_gil(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_inc);

    /* "View.MemoryView":1361
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
 *     if dtype_is_object:             # <<<<<<<<<<<<<<
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
 */
  }

  /* "View.MemoryView":1359
 * 
 * @cname('__pyx_memoryview_refcount_copying')
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:             # <<<<<<<<<<<<<<
 * 
 *     if dtype_is_object:
 */

  /* function exit code */
}

/* "View.MemoryView":1365
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')
 * cdef void refcount_objects_in_slice_with_gil(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                                              Py_ssize_t *strides, int ndim,
 *                                              bint inc) noexcept with gil:
 */

static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif

  /* "View.MemoryView":1368
 *                                              Py_ssize_t *strides, int ndim,
 *                                              bint inc) noexcept with gil:
 *     refcount_objects_in_slice(data, shape, strides, ndim, inc)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')
 */
  __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, __pyx_v_shape, __pyx_v_strides, __pyx_v_ndim, __pyx_v_inc);

  /* "View.MemoryView":1365
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')
 * cdef void refcount_objects_in_slice_with_gil(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                                              Py_ssize_t *strides, int ndim,
 *                                              bint inc) noexcept with gil:
 */

  /* function exit code */
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "View.MemoryView":1371
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')
 * cdef void refcount_objects_in_slice(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
 *     cdef Py_ssize_t i
 */

static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1374
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]             # <<<<<<<<<<<<<<
 * 
 *     for i in range(shape[0]):
 */
  __pyx_v_stride = (__pyx_v_strides[0]);

  /* "View.MemoryView":1376
 *     cdef Py_ssize_t stride = strides[0]
 * 
 *     for i in range(shape[0]):             # <<<<<<<<<<<<<<
 *         if ndim == 1:
 *             if inc:
 */
  __pyx_t_1 = (__pyx_v_shape[0]);
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "View.MemoryView":1377
 * 
 *     for i in range(shape[0]):
 *         if ndim == 1:             # <<<<<<<<<<<<<<
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])
 */
    __pyx_t_4 = (__pyx_v_ndim == 1);
    if (__pyx_t_4) {

      /* "View.MemoryView":1378
 *     for i in range(shape[0]):
 *         if ndim == 1:
 *             if inc:             # <<<<<<<<<<<<<<
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
 */
      if (__pyx_v_inc) {

        /* "View.MemoryView":1379
 *         if ndim == 1:
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])             # <<<<<<<<<<<<<<
 *             else:
 *                 Py_DECREF((<PyObject **> data)[0])
 */
        Py_INCREF((((PyObject **)__pyx_v_data)[0]));

        /* "View.MemoryView":1378
 *     for i in range(shape[0]):
 *         if ndim == 1:
 *             if inc:             # <<<<<<<<<<<<<<
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
 */
        goto __pyx_L6;
      }

      /* "View.MemoryView":1381
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
 *                 Py_DECREF((<PyObject **> data)[0])             # <<<<<<<<<<<<<<
 *         else:
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)
 */
      /*else*/ {
        Py_DECREF((((PyObject **)__pyx_v_data)[0]));
      }
      __pyx_L6:;

      /* "View.MemoryView":1377
 * 
 *     for i in range(shape[0]):
 *         if ndim == 1:             # <<<<<<<<<<<<<<
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])
 */
      goto __pyx_L5;
    }

    /* "View.MemoryView":1383
 *                 Py_DECREF((<PyObject **> data)[0])
 *         else:
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)             # <<<<<<<<<<<<<<
 * 
 *         data += stride
 */
    /*else*/ {
      __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_inc);
    }
    __pyx_L5:;

    /* "View.MemoryView":1385
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)
 * 
 *         data += stride             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
  }

  /* "View.MemoryView":1371
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')
 * cdef void refcount_objects_in_slice(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
 *     cdef Py_ssize_t i
 */

  /* function exit code */
}

/* "View.MemoryView":1391
 * 
 * @cname('__pyx_memoryview_slice_assign_scalar')
 * cdef void slice_assign_scalar(__Pyx_memviewslice *dst, int ndim,             # <<<<<<<<<<<<<<
 *                               size_t itemsize, void *item,
 *                               bint dtype_is_object) noexcept nogil:
 */

static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item, int __pyx_v_dtype_is_object) {

  /* "View.MemoryView":1394
 *                               size_t itemsize, void *item,
 *                               bint dtype_is_object) noexcept nogil:
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)
 */
  __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

  /* "View.MemoryView":1395
 *                               bint dtype_is_object) noexcept nogil:
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)             # <<<<<<<<<<<<<<
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)
 * 
 */
  __pyx_memoryview__slice_assign_scalar(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_itemsize, __pyx_v_item);

  /* "View.MemoryView":1396
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

  /* "View.MemoryView":1391
 * 
 * @cname('__pyx_memoryview_slice_assign_scalar')
 * cdef void slice_assign_scalar(__Pyx_memviewslice *dst, int ndim,             # <<<<<<<<<<<<<<
 *                               size_t itemsize, void *item,
 *                               bint dtype_is_object) noexcept nogil:
 */

  /* function exit code */
}

/* "View.MemoryView":1400
 * 
 * @cname('__pyx_memoryview__slice_assign_scalar')
 * cdef void _slice_assign_scalar(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                               Py_ssize_t *strides, int ndim,
 *                               size_t itemsize, void *item) noexcept nogil:
 */

static void __pyx_memoryview__slice_assign_scalar(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_v_extent;
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;

  /* "View.MemoryView":1404
 *                               size_t itemsize, void *item) noexcept nogil:
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t extent = shape[0]
 * 
 */
  __pyx_v_stride = (__pyx_v_strides[0]);

  /* "View.MemoryView":1405
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]
 *     cdef Py_ssize_t extent = shape[0]             # <<<<<<<<<<<<<<
 * 
 *     if ndim == 1:
 */
  __pyx_v_extent = (__pyx_v_shape[0]);

  /* "View.MemoryView":1407
 *     cdef Py_ssize_t extent = shape[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
 */
  __pyx_t_1 = (__pyx_v_ndim == 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":1408
 * 
 *     if ndim == 1:
 *         for i in range(extent):             # <<<<<<<<<<<<<<
 *             memcpy(data, item, itemsize)
 *             data += stride
 */
    __pyx_t_2 = __pyx_v_extent;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":1409
 *     if ndim == 1:
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)             # <<<<<<<<<<<<<<
 *             data += stride
 *     else:
 */
      (void)(memcpy(__pyx_v_data, __pyx_v_item, __pyx_v_itemsize));

      /* "View.MemoryView":1410
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
 *             data += stride             # <<<<<<<<<<<<<<
 *     else:
 *         for i in range(extent):
 */
      __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
    }

    /* "View.MemoryView":1407
 *     cdef Py_ssize_t extent = shape[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
 */
    goto __pyx_L3;
  }

  /* "View.MemoryView":1412
 *             data += stride
 *     else:
 *         for i in range(extent):             # <<<<<<<<<<<<<<
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)
 *             data += stride
 */
  /*else*/ {
    __pyx_t_2 = __pyx_v_extent;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":1413
 *     else:
 *         for i in range(extent):
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)             # <<<<<<<<<<<<<<
 *             data += stride
 * 
 */
      __pyx_memoryview__slice_assign_scalar(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize, __pyx_v_item);

      /* "View.MemoryView":1414
 *         for i in range(extent):
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)
 *             data += stride             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1400
 * 
 * @cname('__pyx_memoryview__slice_assign_scalar')
 * cdef void _slice_assign_scalar(char *data, Py_ssize_t *shape,             # <<<<<<<<<<<<<<
 *                               Py_ssize_t *strides, int ndim,
 *                               size_t itemsize, void *item) noexcept nogil:
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum = {"__pyx_unpickle_Enum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__pyx_unpickle_Enum") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 1, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 1);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0x82a3537, 0x6ae9995, 0xb068931):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 */
  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__10, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0x82a3537, 0x6ae9995, 0xb068931):
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 *     __pyx_result = Enum.__new__(__pyx_type)
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(2, 5, __pyx_L1_error);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v___pyx_PickleError = __pyx_t_1;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum not in (0x82a3537, 0x6ae9995, 0xb068931):
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum             # <<<<<<<<<<<<<<
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_v___pyx_PickleError, __pyx_t_1, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0x82a3537, 0x6ae9995, 0xb068931):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 *     __pyx_result = Enum.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_MemviewEnum_type), __pyx_n_s_new); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_v___pyx_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_2 = (__pyx_v___pyx_state != Py_None);
  if (__pyx_t_2) {

    /* "(tree fragment)":9
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(2, 9, __pyx_L1_error)
    __pyx_t_1 = __pyx_unpickle_Enum__set_state(((struct __pyx_MemviewEnum_obj *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
 *     __pyx_result.name = __pyx_state[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result.name = __pyx_state[0]
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 1);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
 *     __pyx_result.name = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[1])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(2, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
 *     __pyx_result.name = __pyx_state[0]
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[1])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(2, 13, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 > 1);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":14
 *     __pyx_result.name = __pyx_state[0]
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[1])             # <<<<<<<<<<<<<<
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_update); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 14, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = NULL;
    __pyx_t_8 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
        __pyx_t_8 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
 *     __pyx_result.name = __pyx_state[0]
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[1])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result.name = __pyx_state[0]
 *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/backends/backend.pxd":106
 *                                void* data)
 * 
 * cdef inline mvColor colorFromInts(int r, int g, int b, int a):             # <<<<<<<<<<<<<<
 *     cdef mvColor color
 *     color.r = r/255.
 */

static CYTHON_INLINE mvColor __pyx_f_9dearcygui_8backends_7backend_colorFromInts(int __pyx_v_r, int __pyx_v_g, int __pyx_v_b, int __pyx_v_a) {
  mvColor __pyx_v_color;
  mvColor __pyx_r;

  /* "dearcygui/backends/backend.pxd":108
 * cdef inline mvColor colorFromInts(int r, int g, int b, int a):
 *     cdef mvColor color
 *     color.r = r/255.             # <<<<<<<<<<<<<<
 *     color.g = g/255.
 *     color.b = b/255.
 */
  __pyx_v_color.r = (((double)__pyx_v_r) / 255.);

  /* "dearcygui/backends/backend.pxd":109
 *     cdef mvColor color
 *     color.r = r/255.
 *     color.g = g/255.             # <<<<<<<<<<<<<<
 *     color.b = b/255.
 *     color.a = a/255.
 */
  __pyx_v_color.g = (((double)__pyx_v_g) / 255.);

  /* "dearcygui/backends/backend.pxd":110
 *     color.r = r/255.
 *     color.g = g/255.
 *     color.b = b/255.             # <<<<<<<<<<<<<<
 *     color.a = a/255.
 *     return color
 */
  __pyx_v_color.b = (((double)__pyx_v_b) / 255.);

  /* "dearcygui/backends/backend.pxd":111
 *     color.g = g/255.
 *     color.b = b/255.
 *     color.a = a/255.             # <<<<<<<<<<<<<<
 *     return color
 */
  __pyx_v_color.a = (((double)__pyx_v_a) / 255.);

  /* "dearcygui/backends/backend.pxd":112
 *     color.b = b/255.
 *     color.a = a/255.
 *     return color             # <<<<<<<<<<<<<<
 */
  __pyx_r = __pyx_v_color;
  goto __pyx_L0;

  /* "dearcygui/backends/backend.pxd":106
 *                                void* data)
 * 
 * cdef inline mvColor colorFromInts(int r, int g, int b, int a):             # <<<<<<<<<<<<<<
 *     cdef mvColor color
 *     color.r = r/255.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":286
 * 
 *         @property
 *         cdef inline npy_intp itemsize(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_ELSIZE(self)
 * 
 */

static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":287
 *         @property
 *         cdef inline npy_intp itemsize(self) noexcept nogil:
 *             return PyDataType_ELSIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyDataType_ELSIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":286
 * 
 *         @property
 *         cdef inline npy_intp itemsize(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_ELSIZE(self)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":290
 * 
 *         @property
 *         cdef inline npy_intp alignment(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_ALIGNMENT(self)
 * 
 */

static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":291
 *         @property
 *         cdef inline npy_intp alignment(self) noexcept nogil:
 *             return PyDataType_ALIGNMENT(self)             # <<<<<<<<<<<<<<
 * 
 *         # Use fields/names with care as they may be NULL.  You must check
 */
  __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":290
 * 
 *         @property
 *         cdef inline npy_intp alignment(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_ALIGNMENT(self)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":296
 *         # for this using PyDataType_HASFIELDS.
 *         @property
 *         cdef inline object fields(self):             # <<<<<<<<<<<<<<
 *             return <object>PyDataType_FIELDS(self)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Descr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1;
  __Pyx_RefNannySetupContext("fields", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":297
 *         @property
 *         cdef inline object fields(self):
 *             return <object>PyDataType_FIELDS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyDataType_FIELDS(__pyx_v_self);
  __Pyx_INCREF(((PyObject *)__pyx_t_1));
  __pyx_r = ((PyObject *)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":296
 *         # for this using PyDataType_HASFIELDS.
 *         @property
 *         cdef inline object fields(self):             # <<<<<<<<<<<<<<
 *             return <object>PyDataType_FIELDS(self)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":300
 * 
 *         @property
 *         cdef inline tuple names(self):             # <<<<<<<<<<<<<<
 *             return <tuple>PyDataType_NAMES(self)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1;
  __Pyx_RefNannySetupContext("names", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":301
 *         @property
 *         cdef inline tuple names(self):
 *             return <tuple>PyDataType_NAMES(self)             # <<<<<<<<<<<<<<
 * 
 *         # Use PyDataType_HASSUBARRAY to test whether this field is
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyDataType_NAMES(__pyx_v_self);
  __Pyx_INCREF(((PyObject*)__pyx_t_1));
  __pyx_r = ((PyObject*)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":300
 * 
 *         @property
 *         cdef inline tuple names(self):             # <<<<<<<<<<<<<<
 *             return <tuple>PyDataType_NAMES(self)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":307
 *         # this field via the inline helper method PyDataType_SHAPE.
 *         @property
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_SUBARRAY(self)
 * 
 */

static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self) {
  PyArray_ArrayDescr *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":308
 *         @property
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:
 *             return PyDataType_SUBARRAY(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyDataType_SUBARRAY(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":307
 *         # this field via the inline helper method PyDataType_SHAPE.
 *         @property
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             return PyDataType_SUBARRAY(self)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":311
 * 
 *         @property
 *         cdef inline npy_uint64 flags(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The data types flags."""
 *             return PyDataType_FLAGS(self)
 */

static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self) {
  npy_uint64 __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":313
 *         cdef inline npy_uint64 flags(self) noexcept nogil:
 *             """The data types flags."""
 *             return PyDataType_FLAGS(self)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyDataType_FLAGS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":311
 * 
 *         @property
 *         cdef inline npy_uint64 flags(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The data types flags."""
 *             return PyDataType_FLAGS(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":323
 * 
 *         @property
 *         cdef inline int numiter(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The number of arrays that need to be broadcast to the same shape."""
 *             return PyArray_MultiIter_NUMITER(self)
 */

static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":325
 *         cdef inline int numiter(self) noexcept nogil:
 *             """The number of arrays that need to be broadcast to the same shape."""
 *             return PyArray_MultiIter_NUMITER(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":323
 * 
 *         @property
 *         cdef inline int numiter(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The number of arrays that need to be broadcast to the same shape."""
 *             return PyArray_MultiIter_NUMITER(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328
 * 
 *         @property
 *         cdef inline npy_intp size(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The total broadcasted size."""
 *             return PyArray_MultiIter_SIZE(self)
 */

static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":330
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """The total broadcasted size."""
 *             return PyArray_MultiIter_SIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":328
 * 
 *         @property
 *         cdef inline npy_intp size(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The total broadcasted size."""
 *             return PyArray_MultiIter_SIZE(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":333
 * 
 *         @property
 *         cdef inline npy_intp index(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The current (1-d) index into the broadcasted result."""
 *             return PyArray_MultiIter_INDEX(self)
 */

static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":335
 *         cdef inline npy_intp index(self) noexcept nogil:
 *             """The current (1-d) index into the broadcasted result."""
 *             return PyArray_MultiIter_INDEX(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":333
 * 
 *         @property
 *         cdef inline npy_intp index(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The current (1-d) index into the broadcasted result."""
 *             return PyArray_MultiIter_INDEX(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":338
 * 
 *         @property
 *         cdef inline int nd(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The number of dimensions in the broadcasted result."""
 *             return PyArray_MultiIter_NDIM(self)
 */

static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":340
 *         cdef inline int nd(self) noexcept nogil:
 *             """The number of dimensions in the broadcasted result."""
 *             return PyArray_MultiIter_NDIM(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":338
 * 
 *         @property
 *         cdef inline int nd(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The number of dimensions in the broadcasted result."""
 *             return PyArray_MultiIter_NDIM(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":343
 * 
 *         @property
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The shape of the broadcasted result."""
 *             return PyArray_MultiIter_DIMS(self)
 */

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":345
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:
 *             """The shape of the broadcasted result."""
 *             return PyArray_MultiIter_DIMS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":343
 * 
 *         @property
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The shape of the broadcasted result."""
 *             return PyArray_MultiIter_DIMS(self)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348
 * 
 *         @property
 *         cdef inline void** iters(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
 *             On return, the iterators are adjusted for broadcasting."""
 */

static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self) {
  void **__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":351
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
 *             On return, the iterators are adjusted for broadcasting."""
 *             return PyArray_MultiIter_ITERS(self)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":348
 * 
 *         @property
 *         cdef inline void** iters(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
 *             On return, the iterators are adjusted for broadcasting."""
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":366
 * 
 *         @property
 *         cdef inline PyObject* base(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a borrowed reference to the object owning the data/memory.
 *             """
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self) {
  PyObject *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":369
 *             """Returns a borrowed reference to the object owning the data/memory.
 *             """
 *             return PyArray_BASE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_BASE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":366
 * 
 *         @property
 *         cdef inline PyObject* base(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a borrowed reference to the object owning the data/memory.
 *             """
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":372
 * 
 *         @property
 *         cdef inline dtype descr(self):             # <<<<<<<<<<<<<<
 *             """Returns an owned reference to the dtype of the array.
 *             """
 */

static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArrayObject *__pyx_v_self) {
  PyArray_Descr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyArray_Descr *__pyx_t_1;
  __Pyx_RefNannySetupContext("descr", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":375
 *             """Returns an owned reference to the dtype of the array.
 *             """
 *             return <dtype>PyArray_DESCR(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __pyx_t_1 = PyArray_DESCR(__pyx_v_self);
  __Pyx_INCREF((PyObject *)((PyArray_Descr *)__pyx_t_1));
  __pyx_r = ((PyArray_Descr *)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":372
 * 
 *         @property
 *         cdef inline dtype descr(self):             # <<<<<<<<<<<<<<
 *             """Returns an owned reference to the dtype of the array.
 *             """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":378
 * 
 *         @property
 *         cdef inline int ndim(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns the number of dimensions in the array.
 *             """
 */

static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":381
 *             """Returns the number of dimensions in the array.
 *             """
 *             return PyArray_NDIM(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_NDIM(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":378
 * 
 *         @property
 *         cdef inline int ndim(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns the number of dimensions in the array.
 *             """
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":384
 * 
 *         @property
 *         cdef inline npy_intp *shape(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a pointer to the dimensions/shape of the array.
 *             The number of elements matches the number of dimensions of the array (ndim).
 */

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":389
 *             Can return NULL for 0-dimensional arrays.
 *             """
 *             return PyArray_DIMS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_DIMS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":384
 * 
 *         @property
 *         cdef inline npy_intp *shape(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a pointer to the dimensions/shape of the array.
 *             The number of elements matches the number of dimensions of the array (ndim).
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":392
 * 
 *         @property
 *         cdef inline npy_intp *strides(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a pointer to the strides of the array.
 *             The number of elements matches the number of dimensions of the array (ndim).
 */

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":396
 *             The number of elements matches the number of dimensions of the array (ndim).
 *             """
 *             return PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_STRIDES(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":392
 * 
 *         @property
 *         cdef inline npy_intp *strides(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns a pointer to the strides of the array.
 *             The number of elements matches the number of dimensions of the array (ndim).
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":399
 * 
 *         @property
 *         cdef inline npy_intp size(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns the total size (in number of elements) of the array.
 *             """
 */

static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":402
 *             """Returns the total size (in number of elements) of the array.
 *             """
 *             return PyArray_SIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
 */
  __pyx_r = PyArray_SIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":399
 * 
 *         @property
 *         cdef inline npy_intp size(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """Returns the total size (in number of elements) of the array.
 *             """
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":405
 * 
 *         @property
 *         cdef inline char* data(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The pointer to the data buffer as a char*.
 *             This is provided for legacy reasons to avoid direct struct field access.
 */

static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self) {
  char *__pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":411
 *             of `PyArray_DATA()` instead, which returns a 'void*'.
 *             """
 *             return PyArray_BYTES(self)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyArray_BYTES(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":405
 * 
 *         @property
 *         cdef inline char* data(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *             """The pointer to the data buffer as a char*.
 *             This is provided for legacy reasons to avoid direct struct field access.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":806
 * ctypedef long double complex clongdouble_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":807
 * 
 * cdef inline object PyArray_MultiIterNew1(a):
 *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":806
 * ctypedef long double complex clongdouble_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":809
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":810
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":809
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":812
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":813
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":812
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":815
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":816
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":815
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":818
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":819
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":818
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":821
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2;
  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":822
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
 */
  __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
  if (__pyx_t_1) {

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":823
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
 *     else:
 *         return ()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5numpy_5dtype_8subarray_subarray(__pyx_v_d)->shape;
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_r = ((PyObject*)__pyx_t_2);
    goto __pyx_L0;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":822
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
 */
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":825
 *         return <tuple>d.subarray.shape
 *     else:
 *         return ()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_empty_tuple);
    __pyx_r = __pyx_empty_tuple;
    goto __pyx_L0;
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":821
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1009
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
 */

static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1010
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:
 *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
 *     PyArray_SetBaseObject(arr, base)
 * 
 */
  Py_INCREF(__pyx_v_base);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1011
 * cdef inline void set_array_base(ndarray arr, object base) except *:
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object get_array_base(ndarray arr):
 */
  __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 1011, __pyx_L1_error)

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1009
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
  PyObject *__pyx_v_base;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("get_array_base", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1014
 * 
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
 *     if base is NULL:
 *         return None
 */
  __pyx_v_base = PyArray_BASE(__pyx_v_arr);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1015
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
 */
  __pyx_t_1 = (__pyx_v_base == NULL);
  if (__pyx_t_1) {

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1016
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 *         return None             # <<<<<<<<<<<<<<
 *     return <object>base
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1015
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
 */
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1017
 *     if base is NULL:
 *         return None
 *     return <object>base             # <<<<<<<<<<<<<<
 * 
 * # Versions of the import_* functions which are more suitable for
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_base));
  __pyx_r = ((PyObject *)__pyx_v_base);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1013
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1021
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_array", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1022
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1023
 * cdef inline int import_array() except -1:
 *     try:
 *         __pyx_import_array()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.multiarray failed to import")
 */
      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 1023, __pyx_L3_error)

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1022
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1024
 *     try:
 *         __pyx_import_array()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(3, 1024, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025
 *         __pyx_import_array()
 *     except Exception:
 *         raise ImportError("numpy._core.multiarray failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_umath() except -1:
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 1025, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(3, 1025, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1022
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1021
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1027
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_umath", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1028
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1029
 * cdef inline int import_umath() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")
 */
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 1029, __pyx_L3_error)

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1028
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1030
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(3, 1030, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1031
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_ufunc() except -1:
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 1031, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(3, 1031, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1028
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1027
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1033
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_ufunc", 1);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1034
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1035
 * cdef inline int import_ufunc() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")
 */
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 1035, __pyx_L3_error)

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1034
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1036
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(3, 1036, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1037
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 1037, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(3, 1037, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1034
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1033
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
 */

static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1052
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1040
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
 */

static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1067
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1055
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1070
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
 */

static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
  npy_datetime __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1077
 *     also needed.  That can be found using `get_datetime64_unit`.
 *     """
 *     return (<PyDatetimeScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1070
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1080
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
 */

static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
  npy_timedelta __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1084
 *     returns the int64 value underlying scalar numpy timedelta64 object
 *     """
 *     return (<PyTimedeltaScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1080
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1087
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
 */

static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
  NPY_DATETIMEUNIT __pyx_r;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1091
 *     returns the unit part of the dtype for a numpy datetime64 object.
 *     """
 *     return <NPY_DATETIMEUNIT>(<PyDatetimeScalarObject*>obj).obmeta.base             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
  goto __pyx_L0;

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1087
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pxd":42
 * cdef void lock_gil_friendly_block(unique_lock[recursive_mutex] &m) noexcept
 * 
 * cdef inline void lock_gil_friendly(unique_lock[recursive_mutex] &m,             # <<<<<<<<<<<<<<
 *                                    recursive_mutex &mutex) noexcept:
 *     """
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_lock_gil_friendly(std::unique_lock<std::recursive_mutex>  &__pyx_v_m, std::recursive_mutex &__pyx_v_mutex) {
  int __pyx_t_1;

  /* "dearcygui/core.pxd":47
 *     Must be called to lock our mutexes whenever we hold the gil
 *     """
 *     m = unique_lock[recursive_mutex](mutex, defer_lock_t())             # <<<<<<<<<<<<<<
 *     # Fast path which will be hit almost always
 *     if m.try_lock():
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_mutex, std::defer_lock_t());

  /* "dearcygui/core.pxd":49
 *     m = unique_lock[recursive_mutex](mutex, defer_lock_t())
 *     # Fast path which will be hit almost always
 *     if m.try_lock():             # <<<<<<<<<<<<<<
 *         return
 *     # Slow path
 */
  __pyx_t_1 = __pyx_v_m.try_lock();
  if (__pyx_t_1) {

    /* "dearcygui/core.pxd":50
 *     # Fast path which will be hit almost always
 *     if m.try_lock():
 *         return             # <<<<<<<<<<<<<<
 *     # Slow path
 *     lock_gil_friendly_block(m)
 */
    goto __pyx_L0;

    /* "dearcygui/core.pxd":49
 *     m = unique_lock[recursive_mutex](mutex, defer_lock_t())
 *     # Fast path which will be hit almost always
 *     if m.try_lock():             # <<<<<<<<<<<<<<
 *         return
 *     # Slow path
 */
  }

  /* "dearcygui/core.pxd":52
 *         return
 *     # Slow path
 *     lock_gil_friendly_block(m)             # <<<<<<<<<<<<<<
 * 
 * cdef class Context:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly_block(__pyx_v_m);

  /* "dearcygui/core.pxd":42
 * cdef void lock_gil_friendly_block(unique_lock[recursive_mutex] &m) noexcept
 * 
 * cdef inline void lock_gil_friendly(unique_lock[recursive_mutex] &m,             # <<<<<<<<<<<<<<
 *                                    recursive_mutex &mutex) noexcept:
 *     """
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pxd":115
 * of your draw() overrides
 * """
 * cdef inline void ensure_correct_imgui_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.SetCurrentContext(context.imgui_context)
 * 
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context) {

  /* "dearcygui/core.pxd":116
 * """
 * cdef inline void ensure_correct_imgui_context(Context context) noexcept nogil:
 *     imgui.SetCurrentContext(context.imgui_context)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void ensure_correct_implot_context(Context context) noexcept nogil:
 */
  ImGui::SetCurrentContext(__pyx_v_context->imgui_context);

  /* "dearcygui/core.pxd":115
 * of your draw() overrides
 * """
 * cdef inline void ensure_correct_imgui_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.SetCurrentContext(context.imgui_context)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pxd":118
 *     imgui.SetCurrentContext(context.imgui_context)
 * 
 * cdef inline void ensure_correct_implot_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.SetCurrentContext(context.implot_context)
 * 
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_implot_context(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context) {

  /* "dearcygui/core.pxd":119
 * 
 * cdef inline void ensure_correct_implot_context(Context context) noexcept nogil:
 *     implot.SetCurrentContext(context.implot_context)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void ensure_correct_imnodes_context(Context context) noexcept nogil:
 */
  ImPlot::SetCurrentContext(__pyx_v_context->implot_context);

  /* "dearcygui/core.pxd":118
 *     imgui.SetCurrentContext(context.imgui_context)
 * 
 * cdef inline void ensure_correct_implot_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.SetCurrentContext(context.implot_context)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pxd":121
 *     implot.SetCurrentContext(context.implot_context)
 * 
 * cdef inline void ensure_correct_imnodes_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.SetCurrentContext(context.imnodes_context)
 * 
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_imnodes_context(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context) {

  /* "dearcygui/core.pxd":122
 * 
 * cdef inline void ensure_correct_imnodes_context(Context context) noexcept nogil:
 *     imnodes.SetCurrentContext(context.imnodes_context)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void ensure_correct_im_context(Context context) noexcept nogil:
 */
  ImNodes::SetCurrentContext(__pyx_v_context->imnodes_context);

  /* "dearcygui/core.pxd":121
 *     implot.SetCurrentContext(context.implot_context)
 * 
 * cdef inline void ensure_correct_imnodes_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.SetCurrentContext(context.imnodes_context)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pxd":124
 *     imnodes.SetCurrentContext(context.imnodes_context)
 * 
 * cdef inline void ensure_correct_im_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     ensure_correct_imgui_context(context)
 *     ensure_correct_implot_context(context)
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_ensure_correct_im_context(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context) {

  /* "dearcygui/core.pxd":125
 * 
 * cdef inline void ensure_correct_im_context(Context context) noexcept nogil:
 *     ensure_correct_imgui_context(context)             # <<<<<<<<<<<<<<
 *     ensure_correct_implot_context(context)
 *     ensure_correct_imnodes_context(context)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_context);

  /* "dearcygui/core.pxd":126
 * cdef inline void ensure_correct_im_context(Context context) noexcept nogil:
 *     ensure_correct_imgui_context(context)
 *     ensure_correct_implot_context(context)             # <<<<<<<<<<<<<<
 *     ensure_correct_imnodes_context(context)
 * 
 */
  __pyx_f_9dearcygui_4core_ensure_correct_implot_context(__pyx_v_context);

  /* "dearcygui/core.pxd":127
 *     ensure_correct_imgui_context(context)
 *     ensure_correct_implot_context(context)
 *     ensure_correct_imnodes_context(context)             # <<<<<<<<<<<<<<
 * 
 * """
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imnodes_context(__pyx_v_context);

  /* "dearcygui/core.pxd":124
 *     imnodes.SetCurrentContext(context.imnodes_context)
 * 
 * cdef inline void ensure_correct_im_context(Context context) noexcept nogil:             # <<<<<<<<<<<<<<
 *     ensure_correct_imgui_context(context)
 *     ensure_correct_implot_context(context)
 */

  /* function exit code */
}

/* "dearcygui/core.pxd":1248
 *     double
 * 
 * cdef inline void read_point(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */

static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_read_point(int *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_0read_point", 1);

  /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1249, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1250
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1250, __pyx_L1_error)

    /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1251
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1251, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1253
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1253, __pyx_L1_error)

    /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1254
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[0]) = ((int)0.);

  /* "dearcygui/core.pxd":1255
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[1]) = ((int)0.);

  /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1257
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1259
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  }

  /* "dearcygui/core.pxd":1248
 *     double
 * 
 * cdef inline void read_point(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_read_point(float *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  float __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_1read_point", 1);

  /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1249, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1250
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1250, __pyx_L1_error)

    /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1251
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1251, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1253
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1253, __pyx_L1_error)

    /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1254
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[0]) = ((float)0.);

  /* "dearcygui/core.pxd":1255
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[1]) = ((float)0.);

  /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1257
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1259
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  }

  /* "dearcygui/core.pxd":1248
 *     double
 * 
 * cdef inline void read_point(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_read_point(double *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  double __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_2read_point", 1);

  /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1249, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1250
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1250, __pyx_L1_error)

    /* "dearcygui/core.pxd":1249
 * 
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1251
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1251, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1253
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1253, __pyx_L1_error)

    /* "dearcygui/core.pxd":1252
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1254
 *     if src_size > 2:
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[0]) = ((double)0.);

  /* "dearcygui/core.pxd":1255
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[1]) = ((double)0.);

  /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1257
 *     dst[1] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1256
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1259
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1258
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 * 
 */
  }

  /* "dearcygui/core.pxd":1248
 *     double
 * 
 * cdef inline void read_point(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pxd":1261
 *         dst[1] = <point_type>src[1]
 * 
 * cdef inline void read_vec4(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */

static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_read_vec4(int *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_0read_vec4", 1);

  /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1262, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1263
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1263, __pyx_L1_error)

    /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1264
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1264, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 4);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1266
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1266, __pyx_L1_error)

    /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1267
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 */
  (__pyx_v_dst[0]) = ((int)0.);

  /* "dearcygui/core.pxd":1268
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 */
  (__pyx_v_dst[1]) = ((int)0.);

  /* "dearcygui/core.pxd":1269
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[2]) = ((int)0.);

  /* "dearcygui/core.pxd":1270
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[3]) = ((int)0.);

  /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1272
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1274
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  }

  /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1276
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]             # <<<<<<<<<<<<<<
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[2]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  }

  /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 3);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1278
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]             # <<<<<<<<<<<<<<
 * 
 * cdef inline imgui.ImU32 parse_color(src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[3]) = ((int)__pyx_t_5);

    /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  }

  /* "dearcygui/core.pxd":1261
 *         dst[1] = <point_type>src[1]
 * 
 * cdef inline void read_vec4(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_vec4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(float *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  float __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_1read_vec4", 1);

  /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1262, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1263
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1263, __pyx_L1_error)

    /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1264
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1264, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 4);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1266
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1266, __pyx_L1_error)

    /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1267
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 */
  (__pyx_v_dst[0]) = ((float)0.);

  /* "dearcygui/core.pxd":1268
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 */
  (__pyx_v_dst[1]) = ((float)0.);

  /* "dearcygui/core.pxd":1269
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[2]) = ((float)0.);

  /* "dearcygui/core.pxd":1270
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[3]) = ((float)0.);

  /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1272
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1274
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  }

  /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1276
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]             # <<<<<<<<<<<<<<
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[2]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  }

  /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 3);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1278
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]             # <<<<<<<<<<<<<<
 * 
 * cdef inline imgui.ImU32 parse_color(src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[3]) = ((float)__pyx_t_5);

    /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  }

  /* "dearcygui/core.pxd":1261
 *         dst[1] = <point_type>src[1]
 * 
 * cdef inline void read_vec4(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_vec4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_read_vec4(double *__pyx_v_dst, PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  double __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_fuse_2read_vec4", 1);

  /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1262, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1263
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1263, __pyx_L1_error)

    /* "dearcygui/core.pxd":1262
 * 
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 */
  }

  /* "dearcygui/core.pxd":1264
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1264, __pyx_L1_error)
  __pyx_v_src_size = __pyx_t_4;

  /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  __pyx_t_2 = (__pyx_v_src_size > 4);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pxd":1266
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 1266, __pyx_L1_error)

    /* "dearcygui/core.pxd":1265
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     cdef int src_size = len(src)
 *     if src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 */
  }

  /* "dearcygui/core.pxd":1267
 *     if src_size > 4:
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 */
  (__pyx_v_dst[0]) = ((double)0.);

  /* "dearcygui/core.pxd":1268
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 */
  (__pyx_v_dst[1]) = ((double)0.);

  /* "dearcygui/core.pxd":1269
 *     dst[0] = <point_type>0.
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.             # <<<<<<<<<<<<<<
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 */
  (__pyx_v_dst[2]) = ((double)0.);

  /* "dearcygui/core.pxd":1270
 *     dst[1] = <point_type>0.
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.             # <<<<<<<<<<<<<<
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 */
  (__pyx_v_dst[3]) = ((double)0.);

  /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  __pyx_t_2 = (__pyx_v_src_size > 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1272
 *     dst[3] = <point_type>0.
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]             # <<<<<<<<<<<<<<
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1272, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[0]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1271
 *     dst[2] = <point_type>0.
 *     dst[3] = <point_type>0.
 *     if src_size > 0:             # <<<<<<<<<<<<<<
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 */
  }

  /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  __pyx_t_2 = (__pyx_v_src_size > 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1274
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]             # <<<<<<<<<<<<<<
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[1]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1273
 *     if src_size > 0:
 *         dst[0] = <point_type>src[0]
 *     if src_size > 1:             # <<<<<<<<<<<<<<
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 */
  }

  /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  __pyx_t_2 = (__pyx_v_src_size > 2);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1276
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]             # <<<<<<<<<<<<<<
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1276, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[2]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1275
 *     if src_size > 1:
 *         dst[1] = <point_type>src[1]
 *     if src_size > 2:             # <<<<<<<<<<<<<<
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 */
  }

  /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  __pyx_t_2 = (__pyx_v_src_size > 3);
  if (__pyx_t_2) {

    /* "dearcygui/core.pxd":1278
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:
 *         dst[3] = <point_type>src[3]             # <<<<<<<<<<<<<<
 * 
 * cdef inline imgui.ImU32 parse_color(src):
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_src, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1278, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_dst[3]) = ((double)__pyx_t_5);

    /* "dearcygui/core.pxd":1277
 *     if src_size > 2:
 *         dst[2] = <point_type>src[2]
 *     if src_size > 3:             # <<<<<<<<<<<<<<
 *         dst[3] = <point_type>src[3]
 * 
 */
  }

  /* "dearcygui/core.pxd":1261
 *         dst[1] = <point_type>src[1]
 * 
 * cdef inline void read_vec4(point_type* dst, src):             # <<<<<<<<<<<<<<
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.read_vec4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pxd":1280
 *         dst[3] = <point_type>src[3]
 * 
 * cdef inline imgui.ImU32 parse_color(src):             # <<<<<<<<<<<<<<
 *     if isinstance(src, int):
 *         # RGBA, little endian
 */

static CYTHON_INLINE ImU32 __pyx_f_9dearcygui_4core_parse_color(PyObject *__pyx_v_src) {
  int __pyx_v_src_size;
  ImVec4 __pyx_v_color_float4;
  ImU32 __pyx_v_color_u32;
  int __pyx_v_contains_nonints;
  int __pyx_v_i;
  float __pyx_v_values[4];
  int __pyx_v_values_int[4];
  PyObject *__pyx_v_element = NULL;
  ImU32 __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PY_LONG_LONG __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  float __pyx_t_9;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("parse_color", 1);

  /* "dearcygui/core.pxd":1281
 * 
 * cdef inline imgui.ImU32 parse_color(src):
 *     if isinstance(src, int):             # <<<<<<<<<<<<<<
 *         # RGBA, little endian
 *         return <imgui.ImU32>(<long long>src)
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_src); 
  if (__pyx_t_1) {

    /* "dearcygui/core.pxd":1283
 *     if isinstance(src, int):
 *         # RGBA, little endian
 *         return <imgui.ImU32>(<long long>src)             # <<<<<<<<<<<<<<
 *     cdef int src_size = 5 # to trigger error by default
 *     if hasattr(src, '__len__'):
 */
    __pyx_t_2 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_v_src); if (unlikely((__pyx_t_2 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L1_error)
    __pyx_r = ((ImU32)((PY_LONG_LONG)__pyx_t_2));
    goto __pyx_L0;

    /* "dearcygui/core.pxd":1281
 * 
 * cdef inline imgui.ImU32 parse_color(src):
 *     if isinstance(src, int):             # <<<<<<<<<<<<<<
 *         # RGBA, little endian
 *         return <imgui.ImU32>(<long long>src)
 */
  }

  /* "dearcygui/core.pxd":1284
 *         # RGBA, little endian
 *         return <imgui.ImU32>(<long long>src)
 *     cdef int src_size = 5 # to trigger error by default             # <<<<<<<<<<<<<<
 *     if hasattr(src, '__len__'):
 *         src_size = len(src)
 */
  __pyx_v_src_size = 5;

  /* "dearcygui/core.pxd":1285
 *         return <imgui.ImU32>(<long long>src)
 *     cdef int src_size = 5 # to trigger error by default
 *     if hasattr(src, '__len__'):             # <<<<<<<<<<<<<<
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_src, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1285, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pxd":1286
 *     cdef int src_size = 5 # to trigger error by default
 *     if hasattr(src, '__len__'):
 *         src_size = len(src)             # <<<<<<<<<<<<<<
 *     if src_size == 0 or src_size > 4:
 *         raise TypeError("Color data must either an int32 (rgba, little endian),\n" \
 */
    __pyx_t_3 = PyObject_Length(__pyx_v_src); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1286, __pyx_L1_error)
    __pyx_v_src_size = __pyx_t_3;

    /* "dearcygui/core.pxd":1285
 *         return <imgui.ImU32>(<long long>src)
 *     cdef int src_size = 5 # to trigger error by default
 *     if hasattr(src, '__len__'):             # <<<<<<<<<<<<<<
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:
 */
  }

  /* "dearcygui/core.pxd":1287
 *     if hasattr(src, '__len__'):
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Color data must either an int32 (rgba, little endian),\n" \
 *                         "or an array of int (r, g, b, a) or float (r, g, b, a) normalized")
 */
  __pyx_t_4 = (__pyx_v_src_size == 0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_v_src_size > 4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L6_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pxd":1288
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:
 *         raise TypeError("Color data must either an int32 (rgba, little endian),\n" \             # <<<<<<<<<<<<<<
 *                         "or an array of int (r, g, b, a) or float (r, g, b, a) normalized")
 *     cdef imgui.ImVec4 color_float4
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 1288, __pyx_L1_error)

    /* "dearcygui/core.pxd":1287
 *     if hasattr(src, '__len__'):
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:             # <<<<<<<<<<<<<<
 *         raise TypeError("Color data must either an int32 (rgba, little endian),\n" \
 *                         "or an array of int (r, g, b, a) or float (r, g, b, a) normalized")
 */
  }

  /* "dearcygui/core.pxd":1292
 *     cdef imgui.ImVec4 color_float4
 *     cdef imgui.ImU32 color_u32
 *     cdef bint contains_nonints = False             # <<<<<<<<<<<<<<
 *     cdef int i
 *     cdef float[4] values
 */
  __pyx_v_contains_nonints = 0;

  /* "dearcygui/core.pxd":1297
 *     cdef int[4] values_int
 * 
 *     for i in range(src_size):             # <<<<<<<<<<<<<<
 *         element = src[i]
 *         if not(isinstance(element, int)):
 */
  __pyx_t_6 = __pyx_v_src_size;
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "dearcygui/core.pxd":1298
 * 
 *     for i in range(src_size):
 *         element = src[i]             # <<<<<<<<<<<<<<
 *         if not(isinstance(element, int)):
 *             contains_nonints = True
 */
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_src, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "dearcygui/core.pxd":1299
 *     for i in range(src_size):
 *         element = src[i]
 *         if not(isinstance(element, int)):             # <<<<<<<<<<<<<<
 *             contains_nonints = True
 *             values[i] = element
 */
    __pyx_t_1 = PyInt_Check(__pyx_v_element); 
    __pyx_t_4 = (!__pyx_t_1);
    if (__pyx_t_4) {

      /* "dearcygui/core.pxd":1300
 *         element = src[i]
 *         if not(isinstance(element, int)):
 *             contains_nonints = True             # <<<<<<<<<<<<<<
 *             values[i] = element
 *             values_int[i] = <int>values[i]
 */
      __pyx_v_contains_nonints = 1;

      /* "dearcygui/core.pxd":1301
 *         if not(isinstance(element, int)):
 *             contains_nonints = True
 *             values[i] = element             # <<<<<<<<<<<<<<
 *             values_int[i] = <int>values[i]
 *         else:
 */
      __pyx_t_9 = __pyx_PyFloat_AsFloat(__pyx_v_element); if (unlikely((__pyx_t_9 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 1301, __pyx_L1_error)
      (__pyx_v_values[__pyx_v_i]) = __pyx_t_9;

      /* "dearcygui/core.pxd":1302
 *             contains_nonints = True
 *             values[i] = element
 *             values_int[i] = <int>values[i]             # <<<<<<<<<<<<<<
 *         else:
 *             values_int[i] = element
 */
      (__pyx_v_values_int[__pyx_v_i]) = ((int)(__pyx_v_values[__pyx_v_i]));

      /* "dearcygui/core.pxd":1299
 *     for i in range(src_size):
 *         element = src[i]
 *         if not(isinstance(element, int)):             # <<<<<<<<<<<<<<
 *             contains_nonints = True
 *             values[i] = element
 */
      goto __pyx_L10;
    }

    /* "dearcygui/core.pxd":1304
 *             values_int[i] = <int>values[i]
 *         else:
 *             values_int[i] = element             # <<<<<<<<<<<<<<
 *             values[i] = <float>values_int[i]
 *     for i in range(src_size, 4):
 */
    /*else*/ {
      __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_element); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1304, __pyx_L1_error)
      (__pyx_v_values_int[__pyx_v_i]) = __pyx_t_10;

      /* "dearcygui/core.pxd":1305
 *         else:
 *             values_int[i] = element
 *             values[i] = <float>values_int[i]             # <<<<<<<<<<<<<<
 *     for i in range(src_size, 4):
 *         values[i] = 1.
 */
      (__pyx_v_values[__pyx_v_i]) = ((float)(__pyx_v_values_int[__pyx_v_i]));
    }
    __pyx_L10:;
  }

  /* "dearcygui/core.pxd":1306
 *             values_int[i] = element
 *             values[i] = <float>values_int[i]
 *     for i in range(src_size, 4):             # <<<<<<<<<<<<<<
 *         values[i] = 1.
 *         values_int[i] = 255
 */
  for (__pyx_t_6 = __pyx_v_src_size; __pyx_t_6 < 4; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pxd":1307
 *             values[i] = <float>values_int[i]
 *     for i in range(src_size, 4):
 *         values[i] = 1.             # <<<<<<<<<<<<<<
 *         values_int[i] = 255
 * 
 */
    (__pyx_v_values[__pyx_v_i]) = 1.;

    /* "dearcygui/core.pxd":1308
 *     for i in range(src_size, 4):
 *         values[i] = 1.
 *         values_int[i] = 255             # <<<<<<<<<<<<<<
 * 
 *     if not(contains_nonints):
 */
    (__pyx_v_values_int[__pyx_v_i]) = 0xFF;
  }

  /* "dearcygui/core.pxd":1310
 *         values_int[i] = 255
 * 
 *     if not(contains_nonints):             # <<<<<<<<<<<<<<
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:
 */
  __pyx_t_4 = (!__pyx_v_contains_nonints);
  if (__pyx_t_4) {

    /* "dearcygui/core.pxd":1311
 * 
 *     if not(contains_nonints):
 *         for i in range(4):             # <<<<<<<<<<<<<<
 *             if values_int[i] < 0 or values_int[i] > 255:
 *                 raise ValueError("Color value component outside bounds (0...255)")
 */
    for (__pyx_t_6 = 0; __pyx_t_6 < 4; __pyx_t_6+=1) {
      __pyx_v_i = __pyx_t_6;

      /* "dearcygui/core.pxd":1312
 *     if not(contains_nonints):
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Color value component outside bounds (0...255)")
 *         color_u32 = <imgui.ImU32>values_int[0]
 */
      __pyx_t_1 = ((__pyx_v_values_int[__pyx_v_i]) < 0);
      if (!__pyx_t_1) {
      } else {
        __pyx_t_4 = __pyx_t_1;
        goto __pyx_L17_bool_binop_done;
      }
      __pyx_t_1 = ((__pyx_v_values_int[__pyx_v_i]) > 0xFF);
      __pyx_t_4 = __pyx_t_1;
      __pyx_L17_bool_binop_done:;
      if (unlikely(__pyx_t_4)) {

        /* "dearcygui/core.pxd":1313
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:
 *                 raise ValueError("Color value component outside bounds (0...255)")             # <<<<<<<<<<<<<<
 *         color_u32 = <imgui.ImU32>values_int[0]
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8
 */
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1313, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(0, 1313, __pyx_L1_error)

        /* "dearcygui/core.pxd":1312
 *     if not(contains_nonints):
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Color value component outside bounds (0...255)")
 *         color_u32 = <imgui.ImU32>values_int[0]
 */
      }
    }

    /* "dearcygui/core.pxd":1314
 *             if values_int[i] < 0 or values_int[i] > 255:
 *                 raise ValueError("Color value component outside bounds (0...255)")
 *         color_u32 = <imgui.ImU32>values_int[0]             # <<<<<<<<<<<<<<
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8
 *         color_u32 |= (<imgui.ImU32>values_int[2]) << 16
 */
    __pyx_v_color_u32 = ((ImU32)(__pyx_v_values_int[0]));

    /* "dearcygui/core.pxd":1315
 *                 raise ValueError("Color value component outside bounds (0...255)")
 *         color_u32 = <imgui.ImU32>values_int[0]
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8             # <<<<<<<<<<<<<<
 *         color_u32 |= (<imgui.ImU32>values_int[2]) << 16
 *         color_u32 |= (<imgui.ImU32>values_int[3]) << 24
 */
    __pyx_v_color_u32 = (__pyx_v_color_u32 | (((ImU32)(__pyx_v_values_int[1])) << 8));

    /* "dearcygui/core.pxd":1316
 *         color_u32 = <imgui.ImU32>values_int[0]
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8
 *         color_u32 |= (<imgui.ImU32>values_int[2]) << 16             # <<<<<<<<<<<<<<
 *         color_u32 |= (<imgui.ImU32>values_int[3]) << 24
 *         return color_u32
 */
    __pyx_v_color_u32 = (__pyx_v_color_u32 | (((ImU32)(__pyx_v_values_int[2])) << 16));

    /* "dearcygui/core.pxd":1317
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8
 *         color_u32 |= (<imgui.ImU32>values_int[2]) << 16
 *         color_u32 |= (<imgui.ImU32>values_int[3]) << 24             # <<<<<<<<<<<<<<
 *         return color_u32
 * 
 */
    __pyx_v_color_u32 = (__pyx_v_color_u32 | (((ImU32)(__pyx_v_values_int[3])) << 24));

    /* "dearcygui/core.pxd":1318
 *         color_u32 |= (<imgui.ImU32>values_int[2]) << 16
 *         color_u32 |= (<imgui.ImU32>values_int[3]) << 24
 *         return color_u32             # <<<<<<<<<<<<<<
 * 
 *     for i in range(4):
 */
    __pyx_r = __pyx_v_color_u32;
    goto __pyx_L0;

    /* "dearcygui/core.pxd":1310
 *         values_int[i] = 255
 * 
 *     if not(contains_nonints):             # <<<<<<<<<<<<<<
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:
 */
  }

  /* "dearcygui/core.pxd":1320
 *         return color_u32
 * 
 *     for i in range(4):             # <<<<<<<<<<<<<<
 *         if values[i] < 0. or values[i] > 1.:
 *             raise ValueError("Color value component outside bounds (0...1)")
 */
  for (__pyx_t_6 = 0; __pyx_t_6 < 4; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pxd":1321
 * 
 *     for i in range(4):
 *         if values[i] < 0. or values[i] > 1.:             # <<<<<<<<<<<<<<
 *             raise ValueError("Color value component outside bounds (0...1)")
 * 
 */
    __pyx_t_1 = ((__pyx_v_values[__pyx_v_i]) < 0.);
    if (!__pyx_t_1) {
    } else {
      __pyx_t_4 = __pyx_t_1;
      goto __pyx_L22_bool_binop_done;
    }
    __pyx_t_1 = ((__pyx_v_values[__pyx_v_i]) > 1.);
    __pyx_t_4 = __pyx_t_1;
    __pyx_L22_bool_binop_done:;
    if (unlikely(__pyx_t_4)) {

      /* "dearcygui/core.pxd":1322
 *     for i in range(4):
 *         if values[i] < 0. or values[i] > 1.:
 *             raise ValueError("Color value component outside bounds (0...1)")             # <<<<<<<<<<<<<<
 * 
 *     color_float4.x = values[0]
 */
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 1322, __pyx_L1_error)

      /* "dearcygui/core.pxd":1321
 * 
 *     for i in range(4):
 *         if values[i] < 0. or values[i] > 1.:             # <<<<<<<<<<<<<<
 *             raise ValueError("Color value component outside bounds (0...1)")
 * 
 */
    }
  }

  /* "dearcygui/core.pxd":1324
 *             raise ValueError("Color value component outside bounds (0...1)")
 * 
 *     color_float4.x = values[0]             # <<<<<<<<<<<<<<
 *     color_float4.y = values[1]
 *     color_float4.z = values[2]
 */
  __pyx_v_color_float4.x = (__pyx_v_values[0]);

  /* "dearcygui/core.pxd":1325
 * 
 *     color_float4.x = values[0]
 *     color_float4.y = values[1]             # <<<<<<<<<<<<<<
 *     color_float4.z = values[2]
 *     color_float4.w = values[3]
 */
  __pyx_v_color_float4.y = (__pyx_v_values[1]);

  /* "dearcygui/core.pxd":1326
 *     color_float4.x = values[0]
 *     color_float4.y = values[1]
 *     color_float4.z = values[2]             # <<<<<<<<<<<<<<
 *     color_float4.w = values[3]
 *     return imgui_ColorConvertFloat4ToU32(color_float4)
 */
  __pyx_v_color_float4.z = (__pyx_v_values[2]);

  /* "dearcygui/core.pxd":1327
 *     color_float4.y = values[1]
 *     color_float4.z = values[2]
 *     color_float4.w = values[3]             # <<<<<<<<<<<<<<
 *     return imgui_ColorConvertFloat4ToU32(color_float4)
 * 
 */
  __pyx_v_color_float4.w = (__pyx_v_values[3]);

  /* "dearcygui/core.pxd":1328
 *     color_float4.z = values[2]
 *     color_float4.w = values[3]
 *     return imgui_ColorConvertFloat4ToU32(color_float4)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void unparse_color(float *dst, imgui.ImU32 color_uint) noexcept nogil:
 */
  __pyx_r = __pyx_f_9dearcygui_4core_imgui_ColorConvertFloat4ToU32(__pyx_v_color_float4);
  goto __pyx_L0;

  /* "dearcygui/core.pxd":1280
 *         dst[3] = <point_type>src[3]
 * 
 * cdef inline imgui.ImU32 parse_color(src):             # <<<<<<<<<<<<<<
 *     if isinstance(src, int):
 *         # RGBA, little endian
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.parse_color", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_element);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pxd":1330
 *     return imgui_ColorConvertFloat4ToU32(color_float4)
 * 
 * cdef inline void unparse_color(float *dst, imgui.ImU32 color_uint) noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef imgui.ImVec4 color_float4 = imgui_ColorConvertU32ToFloat4(color_uint)
 *     dst[0] = color_float4.x
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_unparse_color(float *__pyx_v_dst, ImU32 __pyx_v_color_uint) {
  ImVec4 __pyx_v_color_float4;
  float __pyx_t_1;

  /* "dearcygui/core.pxd":1331
 * 
 * cdef inline void unparse_color(float *dst, imgui.ImU32 color_uint) noexcept nogil:
 *     cdef imgui.ImVec4 color_float4 = imgui_ColorConvertU32ToFloat4(color_uint)             # <<<<<<<<<<<<<<
 *     dst[0] = color_float4.x
 *     dst[1] = color_float4.y
 */
  __pyx_v_color_float4 = __pyx_f_9dearcygui_4core_imgui_ColorConvertU32ToFloat4(__pyx_v_color_uint);

  /* "dearcygui/core.pxd":1332
 * cdef inline void unparse_color(float *dst, imgui.ImU32 color_uint) noexcept nogil:
 *     cdef imgui.ImVec4 color_float4 = imgui_ColorConvertU32ToFloat4(color_uint)
 *     dst[0] = color_float4.x             # <<<<<<<<<<<<<<
 *     dst[1] = color_float4.y
 *     dst[2] = color_float4.z
 */
  __pyx_t_1 = __pyx_v_color_float4.x;
  (__pyx_v_dst[0]) = __pyx_t_1;

  /* "dearcygui/core.pxd":1333
 *     cdef imgui.ImVec4 color_float4 = imgui_ColorConvertU32ToFloat4(color_uint)
 *     dst[0] = color_float4.x
 *     dst[1] = color_float4.y             # <<<<<<<<<<<<<<
 *     dst[2] = color_float4.z
 *     dst[3] = color_float4.w
 */
  __pyx_t_1 = __pyx_v_color_float4.y;
  (__pyx_v_dst[1]) = __pyx_t_1;

  /* "dearcygui/core.pxd":1334
 *     dst[0] = color_float4.x
 *     dst[1] = color_float4.y
 *     dst[2] = color_float4.z             # <<<<<<<<<<<<<<
 *     dst[3] = color_float4.w
 */
  __pyx_t_1 = __pyx_v_color_float4.z;
  (__pyx_v_dst[2]) = __pyx_t_1;

  /* "dearcygui/core.pxd":1335
 *     dst[1] = color_float4.y
 *     dst[2] = color_float4.z
 *     dst[3] = color_float4.w             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __pyx_v_color_float4.w;
  (__pyx_v_dst[3]) = __pyx_t_1;

  /* "dearcygui/core.pxd":1330
 *     return imgui_ColorConvertFloat4ToU32(color_float4)
 * 
 * cdef inline void unparse_color(float *dst, imgui.ImU32 color_uint) noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef imgui.ImVec4 color_float4 = imgui_ColorConvertU32ToFloat4(color_uint)
 *     dst[0] = color_float4.x
 */

  /* function exit code */
}

/* "dearcygui/backends/time.pxd":79
 * 
 * 
 * cdef inline double time() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_TimeRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

static CYTHON_INLINE double __pyx_f_9dearcygui_8backends_4time_time(void) {
  __Pyx_PyTime_t __pyx_v_tic;
  double __pyx_r;

  /* "dearcygui/backends/time.pxd":80
 * 
 * cdef inline double time() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_TimeRaw()             # <<<<<<<<<<<<<<
 *     return PyTime_AsSecondsDouble(tic)
 * 
 */
  __pyx_v_tic = __Pyx_PyTime_TimeRaw();

  /* "dearcygui/backends/time.pxd":81
 * cdef inline double time() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_TimeRaw()
 *     return PyTime_AsSecondsDouble(tic)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __Pyx_PyTime_AsSecondsDouble(__pyx_v_tic);
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":79
 * 
 * 
 * cdef inline double time() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_TimeRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":84
 * 
 * 
 * cdef inline int64_t time_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_TimeRaw()
 * 
 */

static CYTHON_INLINE int64_t __pyx_f_9dearcygui_8backends_4time_time_ns(void) {
  int64_t __pyx_r;

  /* "dearcygui/backends/time.pxd":85
 * 
 * cdef inline int64_t time_ns() noexcept nogil:
 *     return <int64_t> PyTime_TimeRaw()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((int64_t)__Pyx_PyTime_TimeRaw());
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":84
 * 
 * 
 * cdef inline int64_t time_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_TimeRaw()
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":88
 * 
 * 
 * cdef inline double perf_counter() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_PerfCounterRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

static CYTHON_INLINE double __pyx_f_9dearcygui_8backends_4time_perf_counter(void) {
  __Pyx_PyTime_t __pyx_v_tic;
  double __pyx_r;

  /* "dearcygui/backends/time.pxd":89
 * 
 * cdef inline double perf_counter() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_PerfCounterRaw()             # <<<<<<<<<<<<<<
 *     return PyTime_AsSecondsDouble(tic)
 * 
 */
  __pyx_v_tic = __Pyx_PyTime_PerfCounterRaw();

  /* "dearcygui/backends/time.pxd":90
 * cdef inline double perf_counter() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_PerfCounterRaw()
 *     return PyTime_AsSecondsDouble(tic)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __Pyx_PyTime_AsSecondsDouble(__pyx_v_tic);
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":88
 * 
 * 
 * cdef inline double perf_counter() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_PerfCounterRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":93
 * 
 * 
 * cdef inline int64_t perf_counter_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_PerfCounterRaw()
 * 
 */

static CYTHON_INLINE int64_t __pyx_f_9dearcygui_8backends_4time_perf_counter_ns(void) {
  int64_t __pyx_r;

  /* "dearcygui/backends/time.pxd":94
 * 
 * cdef inline int64_t perf_counter_ns() noexcept nogil:
 *     return <int64_t> PyTime_PerfCounterRaw()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((int64_t)__Pyx_PyTime_PerfCounterRaw());
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":93
 * 
 * 
 * cdef inline int64_t perf_counter_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_PerfCounterRaw()
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":97
 * 
 * 
 * cdef inline double monotonic() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_MonotonicRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

static CYTHON_INLINE double __pyx_f_9dearcygui_8backends_4time_monotonic(void) {
  __Pyx_PyTime_t __pyx_v_tic;
  double __pyx_r;

  /* "dearcygui/backends/time.pxd":98
 * 
 * cdef inline double monotonic() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_MonotonicRaw()             # <<<<<<<<<<<<<<
 *     return PyTime_AsSecondsDouble(tic)
 * 
 */
  __pyx_v_tic = __Pyx_PyTime_MonotonicRaw();

  /* "dearcygui/backends/time.pxd":99
 * cdef inline double monotonic() noexcept nogil:
 *     cdef PyTime_t tic = PyTime_MonotonicRaw()
 *     return PyTime_AsSecondsDouble(tic)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __Pyx_PyTime_AsSecondsDouble(__pyx_v_tic);
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":97
 * 
 * 
 * cdef inline double monotonic() noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef PyTime_t tic = PyTime_MonotonicRaw()
 *     return PyTime_AsSecondsDouble(tic)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":102
 * 
 * 
 * cdef inline int64_t monotonic_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_MonotonicRaw()
 * 
 */

static CYTHON_INLINE int64_t __pyx_f_9dearcygui_8backends_4time_monotonic_ns(void) {
  int64_t __pyx_r;

  /* "dearcygui/backends/time.pxd":103
 * 
 * cdef inline int64_t monotonic_ns() noexcept nogil:
 *     return <int64_t> PyTime_MonotonicRaw()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((int64_t)__Pyx_PyTime_MonotonicRaw());
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":102
 * 
 * 
 * cdef inline int64_t monotonic_ns() noexcept nogil:             # <<<<<<<<<<<<<<
 *     return <int64_t> PyTime_MonotonicRaw()
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":106
 * 
 * 
 * cdef inline int _raise_from_errno() except -1 with gil:             # <<<<<<<<<<<<<<
 *     PyErr_SetFromErrno(RuntimeError)
 *     return <int> -1  # Let the C compiler know that this function always raises.
 */

static CYTHON_INLINE int __pyx_f_9dearcygui_8backends_4time__raise_from_errno(void) {
  int __pyx_r;
  PyObject *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif

  /* "dearcygui/backends/time.pxd":107
 * 
 * cdef inline int _raise_from_errno() except -1 with gil:
 *     PyErr_SetFromErrno(RuntimeError)             # <<<<<<<<<<<<<<
 *     return <int> -1  # Let the C compiler know that this function always raises.
 * 
 */
  __pyx_t_1 = PyErr_SetFromErrno(__pyx_builtin_RuntimeError); if (unlikely(__pyx_t_1 == ((PyObject *)NULL))) __PYX_ERR(4, 107, __pyx_L1_error)

  /* "dearcygui/backends/time.pxd":108
 * cdef inline int _raise_from_errno() except -1 with gil:
 *     PyErr_SetFromErrno(RuntimeError)
 *     return <int> -1  # Let the C compiler know that this function always raises.             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((int)-1L);
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":106
 * 
 * 
 * cdef inline int _raise_from_errno() except -1 with gil:             # <<<<<<<<<<<<<<
 *     PyErr_SetFromErrno(RuntimeError)
 *     return <int> -1  # Let the C compiler know that this function always raises.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.backends.time._raise_from_errno", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  return __pyx_r;
}

/* "dearcygui/backends/time.pxd":111
 * 
 * 
 * cdef inline tm localtime() except * nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Analogue to the stdlib time.localtime.  The returned struct
 */

static CYTHON_INLINE struct tm __pyx_f_9dearcygui_8backends_4time_localtime(void) {
  time_t __pyx_v_tic;
  struct tm *__pyx_v_result;
  struct tm __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/backends/time.pxd":117
 *     """
 *     cdef:
 *         time_t tic = <time_t>time()             # <<<<<<<<<<<<<<
 *         tm* result
 * 
 */
  __pyx_v_tic = ((time_t)__pyx_f_9dearcygui_8backends_4time_time());

  /* "dearcygui/backends/time.pxd":120
 *         tm* result
 * 
 *     result = libc_localtime(&tic)             # <<<<<<<<<<<<<<
 *     if result is NULL:
 *         _raise_from_errno()
 */
  __pyx_v_result = localtime((&__pyx_v_tic));

  /* "dearcygui/backends/time.pxd":121
 * 
 *     result = libc_localtime(&tic)
 *     if result is NULL:             # <<<<<<<<<<<<<<
 *         _raise_from_errno()
 *     # Fix 0-based date values (and the 1900-based year).
 */
  __pyx_t_1 = (__pyx_v_result == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/backends/time.pxd":122
 *     result = libc_localtime(&tic)
 *     if result is NULL:
 *         _raise_from_errno()             # <<<<<<<<<<<<<<
 *     # Fix 0-based date values (and the 1900-based year).
 *     # See tmtotuple() in https://github.com/python/cpython/blob/master/Modules/timemodule.c
 */
    __pyx_t_2 = __pyx_f_9dearcygui_8backends_4time__raise_from_errno(); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(4, 122, __pyx_L1_error)

    /* "dearcygui/backends/time.pxd":121
 * 
 *     result = libc_localtime(&tic)
 *     if result is NULL:             # <<<<<<<<<<<<<<
 *         _raise_from_errno()
 *     # Fix 0-based date values (and the 1900-based year).
 */
  }

  /* "dearcygui/backends/time.pxd":125
 *     # Fix 0-based date values (and the 1900-based year).
 *     # See tmtotuple() in https://github.com/python/cpython/blob/master/Modules/timemodule.c
 *     result.tm_year += 1900             # <<<<<<<<<<<<<<
 *     result.tm_mon += 1
 *     result.tm_wday = <int> ((result.tm_wday + 6) % 7)
 */
  __pyx_v_result->tm_year = (__pyx_v_result->tm_year + 0x76C);

  /* "dearcygui/backends/time.pxd":126
 *     # See tmtotuple() in https://github.com/python/cpython/blob/master/Modules/timemodule.c
 *     result.tm_year += 1900
 *     result.tm_mon += 1             # <<<<<<<<<<<<<<
 *     result.tm_wday = <int> ((result.tm_wday + 6) % 7)
 *     result.tm_yday += 1
 */
  __pyx_v_result->tm_mon = (__pyx_v_result->tm_mon + 1);

  /* "dearcygui/backends/time.pxd":127
 *     result.tm_year += 1900
 *     result.tm_mon += 1
 *     result.tm_wday = <int> ((result.tm_wday + 6) % 7)             # <<<<<<<<<<<<<<
 *     result.tm_yday += 1
 *     return result[0]
 */
  __pyx_v_result->tm_wday = ((int)__Pyx_mod_long((__pyx_v_result->tm_wday + 6), 7));

  /* "dearcygui/backends/time.pxd":128
 *     result.tm_mon += 1
 *     result.tm_wday = <int> ((result.tm_wday + 6) % 7)
 *     result.tm_yday += 1             # <<<<<<<<<<<<<<
 *     return result[0]
 */
  __pyx_v_result->tm_yday = (__pyx_v_result->tm_yday + 1);

  /* "dearcygui/backends/time.pxd":129
 *     result.tm_wday = <int> ((result.tm_wday + 6) % 7)
 *     result.tm_yday += 1
 *     return result[0]             # <<<<<<<<<<<<<<
 */
  __pyx_r = (__pyx_v_result[0]);
  goto __pyx_L0;

  /* "dearcygui/backends/time.pxd":111
 * 
 * 
 * cdef inline tm localtime() except * nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Analogue to the stdlib time.localtime.  The returned struct
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_AddTraceback("dearcygui.backends.time.localtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":54
 * import weakref
 * 
 * cdef inline void clear_obj_vector(vector[PyObject *] &items):             # <<<<<<<<<<<<<<
 *     cdef int i
 *     cdef object obj
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_clear_obj_vector(std::vector<PyObject *>  &__pyx_v_items) {
  int __pyx_v_i;
  PyObject *__pyx_v_obj = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("clear_obj_vector", 1);

  /* "dearcygui/core.pyx":57
 *     cdef int i
 *     cdef object obj
 *     for i in range(<int>items.size()):             # <<<<<<<<<<<<<<
 *         obj = <object> items[i]
 *         Py_DECREF(obj)
 */
  __pyx_t_1 = ((int)__pyx_v_items.size());
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":58
 *     cdef object obj
 *     for i in range(<int>items.size()):
 *         obj = <object> items[i]             # <<<<<<<<<<<<<<
 *         Py_DECREF(obj)
 *     items.clear()
 */
    __pyx_t_4 = (__pyx_v_items[__pyx_v_i]);
    __pyx_t_5 = ((PyObject *)__pyx_t_4);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "dearcygui/core.pyx":59
 *     for i in range(<int>items.size()):
 *         obj = <object> items[i]
 *         Py_DECREF(obj)             # <<<<<<<<<<<<<<
 *     items.clear()
 * 
 */
    Py_DECREF(__pyx_v_obj);
  }

  /* "dearcygui/core.pyx":60
 *         obj = <object> items[i]
 *         Py_DECREF(obj)
 *     items.clear()             # <<<<<<<<<<<<<<
 * 
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):
 */
  __pyx_v_items.clear();

  /* "dearcygui/core.pyx":54
 * import weakref
 * 
 * cdef inline void clear_obj_vector(vector[PyObject *] &items):             # <<<<<<<<<<<<<<
 *     cdef int i
 *     cdef object obj
 */

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_obj);
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":62
 *     items.clear()
 * 
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):             # <<<<<<<<<<<<<<
 *     for item in item_list:
 *         Py_INCREF(item)
 */

static CYTHON_INLINE void __pyx_f_9dearcygui_4core_append_obj_vector(std::vector<PyObject *>  &__pyx_v_items, PyObject *__pyx_v_item_list) {
  PyObject *__pyx_v_item = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("append_obj_vector", 1);

  /* "dearcygui/core.pyx":63
 * 
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):
 *     for item in item_list:             # <<<<<<<<<<<<<<
 *         Py_INCREF(item)
 *         items.push_back(<PyObject*>item)
 */
  if (likely(PyList_CheckExact(__pyx_v_item_list)) || PyTuple_CheckExact(__pyx_v_item_list)) {
    __pyx_t_1 = __pyx_v_item_list; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_item_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 63, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 63, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 63, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 63, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 63, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 63, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":64
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):
 *     for item in item_list:
 *         Py_INCREF(item)             # <<<<<<<<<<<<<<
 *         items.push_back(<PyObject*>item)
 * 
 */
    Py_INCREF(__pyx_v_item);

    /* "dearcygui/core.pyx":65
 *     for item in item_list:
 *         Py_INCREF(item)
 *         items.push_back(<PyObject*>item)             # <<<<<<<<<<<<<<
 * 
 * cdef void lock_gil_friendly_block(unique_lock[recursive_mutex] &m) noexcept:
 */
    try {
      __pyx_v_items.push_back(((PyObject *)__pyx_v_item));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 65, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":63
 * 
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):
 *     for item in item_list:             # <<<<<<<<<<<<<<
 *         Py_INCREF(item)
 *         items.push_back(<PyObject*>item)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":62
 *     items.clear()
 * 
 * cdef inline void append_obj_vector(vector[PyObject *] &items, item_list):             # <<<<<<<<<<<<<<
 *     for item in item_list:
 *         Py_INCREF(item)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.append_obj_vector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":67
 *         items.push_back(<PyObject*>item)
 * 
 * cdef void lock_gil_friendly_block(unique_lock[recursive_mutex] &m) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Same as lock_gil_friendly, but blocks until the job is done.
 */

static void __pyx_f_9dearcygui_4core_lock_gil_friendly_block(std::unique_lock<std::recursive_mutex>  &__pyx_v_m) {
  int __pyx_v_locked;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":76
 *     # holding the lock to run and release it.
 *     # Block until we get the lock
 *     cdef bint locked = False             # <<<<<<<<<<<<<<
 *     while not(locked):
 *         with nogil:
 */
  __pyx_v_locked = 0;

  /* "dearcygui/core.pyx":77
 *     # Block until we get the lock
 *     cdef bint locked = False
 *     while not(locked):             # <<<<<<<<<<<<<<
 *         with nogil:
 *             # Block until the mutex is released
 */
  while (1) {
    __pyx_t_1 = (!__pyx_v_locked);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":78
 *     cdef bint locked = False
 *     while not(locked):
 *         with nogil:             # <<<<<<<<<<<<<<
 *             # Block until the mutex is released
 *             m.lock()
 */
    {
        #ifdef WITH_THREAD
        PyThreadState *_save;
        _save = NULL;
        Py_UNBLOCK_THREADS
        __Pyx_FastGIL_Remember();
        #endif
        /*try:*/ {

          /* "dearcygui/core.pyx":80
 *         with nogil:
 *             # Block until the mutex is released
 *             m.lock()             # <<<<<<<<<<<<<<
 *             # Unlock to prevent deadlock if another
 *             # thread holding the gil requires m
 */
          __pyx_v_m.lock();

          /* "dearcygui/core.pyx":84
 *             # thread holding the gil requires m
 *             # somehow
 *             m.unlock()             # <<<<<<<<<<<<<<
 *         locked = m.try_lock()
 * 
 */
          __pyx_v_m.unlock();
        }

        /* "dearcygui/core.pyx":78
 *     cdef bint locked = False
 *     while not(locked):
 *         with nogil:             # <<<<<<<<<<<<<<
 *             # Block until the mutex is released
 *             m.lock()
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_FastGIL_Forget();
            Py_BLOCK_THREADS
            #endif
            goto __pyx_L9;
          }
          __pyx_L9:;
        }
    }

    /* "dearcygui/core.pyx":85
 *             # somehow
 *             m.unlock()
 *         locked = m.try_lock()             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_locked = __pyx_v_m.try_lock();
  }

  /* "dearcygui/core.pyx":67
 *         items.push_back(<PyObject*>item)
 * 
 * cdef void lock_gil_friendly_block(unique_lock[recursive_mutex] &m) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Same as lock_gil_friendly, but blocks until the job is done.
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":88
 * 
 * 
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:             # <<<<<<<<<<<<<<
 *     with gil:
 *         try:
 */

static void __pyx_f_9dearcygui_4core_internal_resize_callback(void *__pyx_v_object, int __pyx_v_a, int __pyx_v_b) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  unsigned int __pyx_t_11;
  int __pyx_t_12;
  char const *__pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("internal_resize_callback", 1);

  /* "dearcygui/core.pyx":89
 * 
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:
 *     with gil:             # <<<<<<<<<<<<<<
 *         try:
 *             (<Viewport>object).__on_resize(a, b)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":90
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_1);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          /*try:*/ {

            /* "dearcygui/core.pyx":91
 *     with gil:
 *         try:
 *             (<Viewport>object).__on_resize(a, b)             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             print("An error occured in the viewport resize callback", traceback.format_exc())
 */
            __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_resize(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_object), __pyx_v_a, __pyx_v_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 91, __pyx_L6_error)

            /* "dearcygui/core.pyx":90
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          goto __pyx_L11_try_end;
          __pyx_L6_error:;

          /* "dearcygui/core.pyx":92
 *         try:
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print("An error occured in the viewport resize callback", traceback.format_exc())
 * 
 */
          __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_4) {
            __Pyx_AddTraceback("dearcygui.core.internal_resize_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 92, __pyx_L8_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":93
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:
 *             print("An error occured in the viewport resize callback", traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * cdef void internal_close_callback(void *object) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_traceback); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 93, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 93, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_10);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_9 = NULL;
              __pyx_t_11 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_10))) {
                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
                if (likely(__pyx_t_9)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
                  __Pyx_INCREF(__pyx_t_9);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_10, function);
                  __pyx_t_11 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 93, __pyx_L17_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              }
              __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 93, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_10);
              __Pyx_INCREF(__pyx_kp_u_An_error_occured_in_the_viewport);
              __Pyx_GIVEREF(__pyx_kp_u_An_error_occured_in_the_viewport);
              if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_An_error_occured_in_the_viewport)) __PYX_ERR(1, 93, __pyx_L17_error);
              __Pyx_GIVEREF(__pyx_t_8);
              if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_8)) __PYX_ERR(1, 93, __pyx_L17_error);
              __pyx_t_8 = 0;
              __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 93, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
            }

            /* "dearcygui/core.pyx":92
 *         try:
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print("An error occured in the viewport resize callback", traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L18;
              }
              __pyx_L17_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_14);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __pyx_t_4 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_17);
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19);
                }
                __Pyx_XGIVEREF(__pyx_t_14);
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_ErrRestore(__pyx_t_14, __pyx_t_15, __pyx_t_16);
                __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
                __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13;
                goto __pyx_L8_except_error;
              }
              __pyx_L18:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L7_exception_handled;
          }
          goto __pyx_L8_except_error;

          /* "dearcygui/core.pyx":90
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_resize(a, b)
 *         except Exception as e:
 */
          __pyx_L8_except_error:;
          __Pyx_XGIVEREF(__pyx_t_1);
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
          goto __pyx_L4_error;
          __pyx_L7_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_1);
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
          __pyx_L11_try_end:;
        }
      }

      /* "dearcygui/core.pyx":89
 * 
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:
 *     with gil:             # <<<<<<<<<<<<<<
 *         try:
 *             (<Viewport>object).__on_resize(a, b)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "dearcygui/core.pyx":88
 * 
 * 
 * cdef void internal_resize_callback(void *object, int a, int b) noexcept nogil:             # <<<<<<<<<<<<<<
 *     with gil:
 *         try:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("dearcygui.core.internal_resize_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":95
 *             print("An error occured in the viewport resize callback", traceback.format_exc())
 * 
 * cdef void internal_close_callback(void *object) noexcept nogil:             # <<<<<<<<<<<<<<
 *     with gil:
 *         try:
 */

static void __pyx_f_9dearcygui_4core_internal_close_callback(void *__pyx_v_object) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  unsigned int __pyx_t_11;
  int __pyx_t_12;
  char const *__pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("internal_close_callback", 1);

  /* "dearcygui/core.pyx":96
 * 
 * cdef void internal_close_callback(void *object) noexcept nogil:
 *     with gil:             # <<<<<<<<<<<<<<
 *         try:
 *             (<Viewport>object).__on_close()
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":97
 * cdef void internal_close_callback(void *object) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_close()
 *         except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_1);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          /*try:*/ {

            /* "dearcygui/core.pyx":98
 *     with gil:
 *         try:
 *             (<Viewport>object).__on_close()             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             print("An error occured in the viewport close callback", traceback.format_exc())
 */
            __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_close(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_object)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 98, __pyx_L6_error)

            /* "dearcygui/core.pyx":97
 * cdef void internal_close_callback(void *object) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_close()
 *         except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          goto __pyx_L11_try_end;
          __pyx_L6_error:;

          /* "dearcygui/core.pyx":99
 *         try:
 *             (<Viewport>object).__on_close()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print("An error occured in the viewport close callback", traceback.format_exc())
 * 
 */
          __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_4) {
            __Pyx_AddTraceback("dearcygui.core.internal_close_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 99, __pyx_L8_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":100
 *             (<Viewport>object).__on_close()
 *         except Exception as e:
 *             print("An error occured in the viewport close callback", traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * cdef void internal_render_callback(void *object) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_traceback); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 100, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 100, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_10);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_9 = NULL;
              __pyx_t_11 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_10))) {
                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
                if (likely(__pyx_t_9)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
                  __Pyx_INCREF(__pyx_t_9);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_10, function);
                  __pyx_t_11 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 100, __pyx_L17_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              }
              __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 100, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_10);
              __Pyx_INCREF(__pyx_kp_u_An_error_occured_in_the_viewport_2);
              __Pyx_GIVEREF(__pyx_kp_u_An_error_occured_in_the_viewport_2);
              if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_An_error_occured_in_the_viewport_2)) __PYX_ERR(1, 100, __pyx_L17_error);
              __Pyx_GIVEREF(__pyx_t_8);
              if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_8)) __PYX_ERR(1, 100, __pyx_L17_error);
              __pyx_t_8 = 0;
              __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 100, __pyx_L17_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
            }

            /* "dearcygui/core.pyx":99
 *         try:
 *             (<Viewport>object).__on_close()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print("An error occured in the viewport close callback", traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L18;
              }
              __pyx_L17_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_14);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __pyx_t_4 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_17);
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19);
                }
                __Pyx_XGIVEREF(__pyx_t_14);
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_ErrRestore(__pyx_t_14, __pyx_t_15, __pyx_t_16);
                __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
                __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13;
                goto __pyx_L8_except_error;
              }
              __pyx_L18:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L7_exception_handled;
          }
          goto __pyx_L8_except_error;

          /* "dearcygui/core.pyx":97
 * cdef void internal_close_callback(void *object) noexcept nogil:
 *     with gil:
 *         try:             # <<<<<<<<<<<<<<
 *             (<Viewport>object).__on_close()
 *         except Exception as e:
 */
          __pyx_L8_except_error:;
          __Pyx_XGIVEREF(__pyx_t_1);
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
          goto __pyx_L4_error;
          __pyx_L7_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_1);
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
          __pyx_L11_try_end:;
        }
      }

      /* "dearcygui/core.pyx":96
 * 
 * cdef void internal_close_callback(void *object) noexcept nogil:
 *     with gil:             # <<<<<<<<<<<<<<
 *         try:
 *             (<Viewport>object).__on_close()
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "dearcygui/core.pyx":95
 *             print("An error occured in the viewport resize callback", traceback.format_exc())
 * 
 * cdef void internal_close_callback(void *object) noexcept nogil:             # <<<<<<<<<<<<<<
 *     with gil:
 *         try:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("dearcygui.core.internal_close_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":102
 *             print("An error occured in the viewport close callback", traceback.format_exc())
 * 
 * cdef void internal_render_callback(void *object) noexcept nogil:             # <<<<<<<<<<<<<<
 *     (<Viewport>object).__render()
 * 
 */

static void __pyx_f_9dearcygui_4core_internal_render_callback(void *__pyx_v_object) {

  /* "dearcygui/core.pyx":103
 * 
 * cdef void internal_render_callback(void *object) noexcept nogil:
 *     (<Viewport>object).__render()             # <<<<<<<<<<<<<<
 * 
 * # Placeholder global where the last created Context is stored.
 */
  __pyx_f_9dearcygui_4core_8Viewport__Viewport__render(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_object));

  /* "dearcygui/core.pyx":102
 *             print("An error occured in the viewport close callback", traceback.format_exc())
 * 
 * cdef void internal_render_callback(void *object) noexcept nogil:             # <<<<<<<<<<<<<<
 *     (<Viewport>object).__render()
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":124
 *     The last created context can be accessed as deacygui.C
 *     """
 *     def __init__(self, queue=None):             # <<<<<<<<<<<<<<
 *         """
 *         Parameters:
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Context_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context___init__, "\n        Parameters:\n            queue (optional, defaults to ThreadPoolExecutor(max_workers=1)):\n                Subclass of concurrent.futures.Executor used to submit\n                callbacks during the frame.\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9dearcygui_4core_7Context___init__;
#endif
static int __pyx_pw_9dearcygui_4core_7Context_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_queue = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_queue,0};
    values[0] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)Py_None));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_queue);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 124, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 124, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_queue = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 124, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context___init__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_queue);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Context___init__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_queue) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":132
 *         """
 *         global C
 *         self.on_close_callback = None             # <<<<<<<<<<<<<<
 *         if queue is None:
 *             self.queue = ThreadPoolExecutor(max_workers=1)
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->on_close_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->on_close_callback);
  __pyx_v_self->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None);

  /* "dearcygui/core.pyx":133
 *         global C
 *         self.on_close_callback = None
 *         if queue is None:             # <<<<<<<<<<<<<<
 *             self.queue = ThreadPoolExecutor(max_workers=1)
 *         else:
 */
  __pyx_t_1 = (__pyx_v_queue == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":134
 *         self.on_close_callback = None
 *         if queue is None:
 *             self.queue = ThreadPoolExecutor(max_workers=1)             # <<<<<<<<<<<<<<
 *         else:
 *             if not(isinstance(queue, Executor)):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ThreadPoolExecutor); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_max_workers, __pyx_int_1) < 0) __PYX_ERR(1, 134, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_self->queue);
    __Pyx_DECREF(__pyx_v_self->queue);
    __pyx_v_self->queue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":133
 *         global C
 *         self.on_close_callback = None
 *         if queue is None:             # <<<<<<<<<<<<<<
 *             self.queue = ThreadPoolExecutor(max_workers=1)
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":136
 *             self.queue = ThreadPoolExecutor(max_workers=1)
 *         else:
 *             if not(isinstance(queue, Executor)):             # <<<<<<<<<<<<<<
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")
 *             self.queue = queue
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Executor); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyObject_IsInstance(__pyx_v_queue, __pyx_t_4); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 136, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = (!__pyx_t_1);
    if (unlikely(__pyx_t_5)) {

      /* "dearcygui/core.pyx":137
 *         else:
 *             if not(isinstance(queue, Executor)):
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")             # <<<<<<<<<<<<<<
 *             self.queue = queue
 *         C = self
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 137, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 137, __pyx_L1_error)

      /* "dearcygui/core.pyx":136
 *             self.queue = ThreadPoolExecutor(max_workers=1)
 *         else:
 *             if not(isinstance(queue, Executor)):             # <<<<<<<<<<<<<<
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")
 *             self.queue = queue
 */
    }

    /* "dearcygui/core.pyx":138
 *             if not(isinstance(queue, Executor)):
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")
 *             self.queue = queue             # <<<<<<<<<<<<<<
 *         C = self
 * 
 */
    __Pyx_INCREF(__pyx_v_queue);
    __Pyx_GIVEREF(__pyx_v_queue);
    __Pyx_GOTREF(__pyx_v_self->queue);
    __Pyx_DECREF(__pyx_v_self->queue);
    __pyx_v_self->queue = __pyx_v_queue;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":139
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")
 *             self.queue = queue
 *         C = self             # <<<<<<<<<<<<<<
 * 
 *     def __cinit__(self):
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_C, ((PyObject *)__pyx_v_self)) < 0) __PYX_ERR(1, 139, __pyx_L1_error)

  /* "dearcygui/core.pyx":124
 *     The last created context can be accessed as deacygui.C
 *     """
 *     def __init__(self, queue=None):             # <<<<<<<<<<<<<<
 *         """
 *         Parameters:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":141
 *         C = self
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.next_uuid.store(21)
 *         self.waitOneFrame = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Context_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Context_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_2__cinit__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Context_2__cinit__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":142
 * 
 *     def __cinit__(self):
 *         self.next_uuid.store(21)             # <<<<<<<<<<<<<<
 *         self.waitOneFrame = False
 *         self.started = True
 */
  __pyx_v_self->next_uuid.store(21);

  /* "dearcygui/core.pyx":143
 *     def __cinit__(self):
 *         self.next_uuid.store(21)
 *         self.waitOneFrame = False             # <<<<<<<<<<<<<<
 *         self.started = True
 *         self.uuid_to_tag = dict()
 */
  __pyx_v_self->waitOneFrame = 0;

  /* "dearcygui/core.pyx":144
 *         self.next_uuid.store(21)
 *         self.waitOneFrame = False
 *         self.started = True             # <<<<<<<<<<<<<<
 *         self.uuid_to_tag = dict()
 *         self.tag_to_uuid = dict()
 */
  __pyx_v_self->started = 1;

  /* "dearcygui/core.pyx":145
 *         self.waitOneFrame = False
 *         self.started = True
 *         self.uuid_to_tag = dict()             # <<<<<<<<<<<<<<
 *         self.tag_to_uuid = dict()
 *         self.items = weakref.WeakValueDictionary()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->uuid_to_tag);
  __Pyx_DECREF(__pyx_v_self->uuid_to_tag);
  __pyx_v_self->uuid_to_tag = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":146
 *         self.started = True
 *         self.uuid_to_tag = dict()
 *         self.tag_to_uuid = dict()             # <<<<<<<<<<<<<<
 *         self.items = weakref.WeakValueDictionary()
 *         self.threadlocal_data = threading.local()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->tag_to_uuid);
  __Pyx_DECREF(__pyx_v_self->tag_to_uuid);
  __pyx_v_self->tag_to_uuid = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":147
 *         self.uuid_to_tag = dict()
 *         self.tag_to_uuid = dict()
 *         self.items = weakref.WeakValueDictionary()             # <<<<<<<<<<<<<<
 *         self.threadlocal_data = threading.local()
 *         self._viewport = Viewport(self)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_weakref); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_WeakValueDictionary); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->items);
  __Pyx_DECREF(__pyx_v_self->items);
  __pyx_v_self->items = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":148
 *         self.tag_to_uuid = dict()
 *         self.items = weakref.WeakValueDictionary()
 *         self.threadlocal_data = threading.local()             # <<<<<<<<<<<<<<
 *         self._viewport = Viewport(self)
 *         self.resetTheme = False
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_local); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->threadlocal_data);
  __Pyx_DECREF(__pyx_v_self->threadlocal_data);
  __pyx_v_self->threadlocal_data = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":149
 *         self.items = weakref.WeakValueDictionary()
 *         self.threadlocal_data = threading.local()
 *         self._viewport = Viewport(self)             # <<<<<<<<<<<<<<
 *         self.resetTheme = False
 *         imgui.IMGUI_CHECKVERSION()
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Viewport), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_viewport);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_viewport);
  __pyx_v_self->_viewport = ((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":150
 *         self.threadlocal_data = threading.local()
 *         self._viewport = Viewport(self)
 *         self.resetTheme = False             # <<<<<<<<<<<<<<
 *         imgui.IMGUI_CHECKVERSION()
 *         self.imgui_context = imgui.CreateContext()
 */
  __pyx_v_self->resetTheme = 0;

  /* "dearcygui/core.pyx":151
 *         self._viewport = Viewport(self)
 *         self.resetTheme = False
 *         imgui.IMGUI_CHECKVERSION()             # <<<<<<<<<<<<<<
 *         self.imgui_context = imgui.CreateContext()
 *         self.implot_context = implot.CreateContext()
 */
  (void)(IMGUI_CHECKVERSION());

  /* "dearcygui/core.pyx":152
 *         self.resetTheme = False
 *         imgui.IMGUI_CHECKVERSION()
 *         self.imgui_context = imgui.CreateContext()             # <<<<<<<<<<<<<<
 *         self.implot_context = implot.CreateContext()
 *         self.imnodes_context = imnodes.CreateContext()
 */
  __pyx_v_self->imgui_context = ImGui::CreateContext();

  /* "dearcygui/core.pyx":153
 *         imgui.IMGUI_CHECKVERSION()
 *         self.imgui_context = imgui.CreateContext()
 *         self.implot_context = implot.CreateContext()             # <<<<<<<<<<<<<<
 *         self.imnodes_context = imnodes.CreateContext()
 * 
 */
  __pyx_v_self->implot_context = ImPlot::CreateContext();

  /* "dearcygui/core.pyx":154
 *         self.imgui_context = imgui.CreateContext()
 *         self.implot_context = implot.CreateContext()
 *         self.imnodes_context = imnodes.CreateContext()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_v_self->imnodes_context = ImNodes::CreateContext();

  /* "dearcygui/core.pyx":141
 *         C = self
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.next_uuid.store(21)
 *         self.waitOneFrame = False
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":156
 *         self.imnodes_context = imnodes.CreateContext()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         self.started = True
 *         if self.imnodes_context != NULL:
 */

/* Python wrapper */
static void __pyx_pw_9dearcygui_4core_7Context_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9dearcygui_4core_7Context_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9dearcygui_4core_7Context_4__dealloc__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9dearcygui_4core_7Context_4__dealloc__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":157
 * 
 *     def __dealloc__(self):
 *         self.started = True             # <<<<<<<<<<<<<<
 *         if self.imnodes_context != NULL:
 *             imnodes.DestroyContext(self.imnodes_context)
 */
  __pyx_v_self->started = 1;

  /* "dearcygui/core.pyx":158
 *     def __dealloc__(self):
 *         self.started = True
 *         if self.imnodes_context != NULL:             # <<<<<<<<<<<<<<
 *             imnodes.DestroyContext(self.imnodes_context)
 *         if self.implot_context != NULL:
 */
  __pyx_t_1 = (__pyx_v_self->imnodes_context != NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":159
 *         self.started = True
 *         if self.imnodes_context != NULL:
 *             imnodes.DestroyContext(self.imnodes_context)             # <<<<<<<<<<<<<<
 *         if self.implot_context != NULL:
 *             implot.DestroyContext(self.implot_context)
 */
    ImNodes::DestroyContext(__pyx_v_self->imnodes_context);

    /* "dearcygui/core.pyx":158
 *     def __dealloc__(self):
 *         self.started = True
 *         if self.imnodes_context != NULL:             # <<<<<<<<<<<<<<
 *             imnodes.DestroyContext(self.imnodes_context)
 *         if self.implot_context != NULL:
 */
  }

  /* "dearcygui/core.pyx":160
 *         if self.imnodes_context != NULL:
 *             imnodes.DestroyContext(self.imnodes_context)
 *         if self.implot_context != NULL:             # <<<<<<<<<<<<<<
 *             implot.DestroyContext(self.implot_context)
 *         if self.imgui_context != NULL:
 */
  __pyx_t_1 = (__pyx_v_self->implot_context != NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":161
 *             imnodes.DestroyContext(self.imnodes_context)
 *         if self.implot_context != NULL:
 *             implot.DestroyContext(self.implot_context)             # <<<<<<<<<<<<<<
 *         if self.imgui_context != NULL:
 *             imgui.DestroyContext(self.imgui_context)
 */
    ImPlot::DestroyContext(__pyx_v_self->implot_context);

    /* "dearcygui/core.pyx":160
 *         if self.imnodes_context != NULL:
 *             imnodes.DestroyContext(self.imnodes_context)
 *         if self.implot_context != NULL:             # <<<<<<<<<<<<<<
 *             implot.DestroyContext(self.implot_context)
 *         if self.imgui_context != NULL:
 */
  }

  /* "dearcygui/core.pyx":162
 *         if self.implot_context != NULL:
 *             implot.DestroyContext(self.implot_context)
 *         if self.imgui_context != NULL:             # <<<<<<<<<<<<<<
 *             imgui.DestroyContext(self.imgui_context)
 * 
 */
  __pyx_t_1 = (__pyx_v_self->imgui_context != NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":163
 *             implot.DestroyContext(self.implot_context)
 *         if self.imgui_context != NULL:
 *             imgui.DestroyContext(self.imgui_context)             # <<<<<<<<<<<<<<
 * 
 *     def __del__(self):
 */
    ImGui::DestroyContext(__pyx_v_self->imgui_context);

    /* "dearcygui/core.pyx":162
 *         if self.implot_context != NULL:
 *             implot.DestroyContext(self.implot_context)
 *         if self.imgui_context != NULL:             # <<<<<<<<<<<<<<
 *             imgui.DestroyContext(self.imgui_context)
 * 
 */
  }

  /* "dearcygui/core.pyx":156
 *         self.imnodes_context = imnodes.CreateContext()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         self.started = True
 *         if self.imnodes_context != NULL:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":165
 *             imgui.DestroyContext(self.imgui_context)
 * 
 *     def __del__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static void __pyx_pw_9dearcygui_4core_7Context_7__del__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9dearcygui_4core_7Context_7__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9dearcygui_4core_7Context_6__del__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9dearcygui_4core_7Context_6__del__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__del__", 1);

  /* "dearcygui/core.pyx":167
 *     def __del__(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self.on_close_callback is not None:
 *             self.started = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":168
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.on_close_callback is not None:             # <<<<<<<<<<<<<<
 *             self.started = True
 *             self.queue_callback_noarg(self.on_close_callback, self, self)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->on_close_callback) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":169
 *         lock_gil_friendly(m, self.mutex)
 *         if self.on_close_callback is not None:
 *             self.started = True             # <<<<<<<<<<<<<<
 *             self.queue_callback_noarg(self.on_close_callback, self, self)
 *             self.started = False
 */
    __pyx_v_self->started = 1;

    /* "dearcygui/core.pyx":170
 *         if self.on_close_callback is not None:
 *             self.started = True
 *             self.queue_callback_noarg(self.on_close_callback, self, self)             # <<<<<<<<<<<<<<
 *             self.started = False
 * 
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_self->on_close_callback);
    __Pyx_INCREF(__pyx_t_2);
    if (!(likely(((((PyObject *)__pyx_v_self)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self), __pyx_ptype_9dearcygui_4core_baseItem))))) __PYX_ERR(1, 170, __pyx_L1_error)
    if (!(likely(((((PyObject *)__pyx_v_self)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self), __pyx_ptype_9dearcygui_4core_baseItem))))) __PYX_ERR(1, 170, __pyx_L1_error)
    ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_vtab)->queue_callback_noarg(__pyx_v_self, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_2), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":171
 *             self.started = True
 *             self.queue_callback_noarg(self.on_close_callback, self, self)
 *             self.started = False             # <<<<<<<<<<<<<<
 * 
 *         #mvToolManager::Reset()
 */
    __pyx_v_self->started = 0;

    /* "dearcygui/core.pyx":168
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.on_close_callback is not None:             # <<<<<<<<<<<<<<
 *             self.started = True
 *             self.queue_callback_noarg(self.on_close_callback, self, self)
 */
  }

  /* "dearcygui/core.pyx":175
 *         #mvToolManager::Reset()
 *         #ClearItemRegistry(*GContext->itemRegistry)
 *         if self.queue is not None:             # <<<<<<<<<<<<<<
 *             self.queue.shutdown(wait=True)
 * 
 */
  __pyx_t_1 = (__pyx_v_self->queue != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":176
 *         #ClearItemRegistry(*GContext->itemRegistry)
 *         if self.queue is not None:
 *             self.queue.shutdown(wait=True)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_wait, Py_True) < 0) __PYX_ERR(1, 176, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":175
 *         #mvToolManager::Reset()
 *         #ClearItemRegistry(*GContext->itemRegistry)
 *         if self.queue is not None:             # <<<<<<<<<<<<<<
 *             self.queue.shutdown(wait=True)
 * 
 */
  }

  /* "dearcygui/core.pyx":165
 *             imgui.DestroyContext(self.imgui_context)
 * 
 *     def __del__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("dearcygui.core.Context.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":178
 *             self.queue.shutdown(wait=True)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def viewport(self) -> Viewport:
 *         """Readonly attribute: root item from where rendering starts"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_8viewport_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Context_8viewport_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_8viewport___get__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_8viewport___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":181
 *     def viewport(self) -> Viewport:
 *         """Readonly attribute: root item from where rendering starts"""
 *         return self._viewport             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_viewport);
  __pyx_r = ((PyObject *)__pyx_v_self->_viewport);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":178
 *             self.queue.shutdown(wait=True)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def viewport(self) -> Viewport:
 *         """Readonly attribute: root item from where rendering starts"""
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":183
 *         return self._viewport
 * 
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_noarg(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_noarg", 1);

  /* "dearcygui/core.pyx":184
 * 
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":185
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":184
 * 
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":186
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, None)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":187
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":188
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, None)             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 188, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = NULL;
            __pyx_t_8 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_7)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_7);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_8 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_7, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), Py_None};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 4+__pyx_t_8);
              __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 188, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":187
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":189
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_9) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_noarg", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 189, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":190
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_traceback); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 190, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_11);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 190, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __pyx_t_11 = NULL;
              __pyx_t_8 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_11)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_11);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_8 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
                __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 190, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_10);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 190, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":189
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_9 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":187
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, None)
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":186
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, None)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":183
 *         return self._viewport
 * 
 *     cdef void queue_callback_noarg(self, Callback callback, baseItem parent_item, baseItem target_item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_noarg", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":192
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1obj(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_arg1) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1obj", 1);

  /* "dearcygui/core.pyx":193
 * 
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":194
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":193
 * 
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":195
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":196
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":197
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 197, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = NULL;
            __pyx_t_8 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_7)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_7);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_8 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_7, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), ((PyObject *)__pyx_v_arg1)};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 4+__pyx_t_8);
              __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 197, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":196
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":198
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_9) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1obj", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 198, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":199
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_traceback); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 199, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_11);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 199, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __pyx_t_11 = NULL;
              __pyx_t_8 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_11)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_11);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_8 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
                __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 199, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_10);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 199, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":198
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_9 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":196
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":195
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":192
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1obj(self, Callback callback, baseItem parent_item, baseItem target_item, baseItem arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1obj", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":201
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  unsigned int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1int", 1);

  /* "dearcygui/core.pyx":202
 * 
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":203
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":202
 * 
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":204
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":205
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":206
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 206, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 206, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = NULL;
            __pyx_t_9 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_9 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_7};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 4+__pyx_t_9);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 206, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":205
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

          /* "dearcygui/core.pyx":207
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_10) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1int", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 207, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":208
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_traceback); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 208, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_11);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 208, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __pyx_t_11 = NULL;
              __pyx_t_9 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_11)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_11);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_9 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 208, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 208, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":207
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_10 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":205
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":204
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":201
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1int", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":210
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, float __pyx_v_arg1) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  unsigned int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1float", 1);

  /* "dearcygui/core.pyx":211
 * 
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":212
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":211
 * 
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":213
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":214
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":215
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 215, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = PyFloat_FromDouble(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 215, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = NULL;
            __pyx_t_9 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_9 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_7};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 4+__pyx_t_9);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 215, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":214
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

          /* "dearcygui/core.pyx":216
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_10) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1float", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 216, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":217
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_traceback); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 217, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_11);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 217, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __pyx_t_11 = NULL;
              __pyx_t_9 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_11)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_11);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_9 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 217, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 217, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":216
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_10 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":214
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":213
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":210
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1float", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":219
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1value(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_arg1) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  unsigned int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1value", 1);

  /* "dearcygui/core.pyx":220
 * 
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":221
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":220
 * 
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":222
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":223
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":224
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 224, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_arg1), __pyx_n_s_value); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 224, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = NULL;
            __pyx_t_9 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_9 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_7};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 4+__pyx_t_9);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 224, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":223
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

          /* "dearcygui/core.pyx":225
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_10) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1value", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 225, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":226
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * 
 */
              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_traceback); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 226, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_11);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 226, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __pyx_t_11 = NULL;
              __pyx_t_9 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_11)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_11);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_9 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 226, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 226, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":225
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_10 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":223
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":222
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, arg1.value)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":219
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1value(self, Callback callback, baseItem parent_item, baseItem target_item, SharedValue arg1) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1value", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":229
 * 
 * 
 *     cdef void queue_callback_arg1int1float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int1float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, float __pyx_v_arg2) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1int1float", 1);

  /* "dearcygui/core.pyx":230
 * 
 *     cdef void queue_callback_arg1int1float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":231
 *     cdef void queue_callback_arg1int1float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":230
 * 
 *     cdef void queue_callback_arg1int1float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":232
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":233
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":234
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 234, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 234, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 234, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 234, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7)) __PYX_ERR(1, 234, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8)) __PYX_ERR(1, 234, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_8 = NULL;
            __pyx_t_10 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_10 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_9};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 234, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":233
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":235
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_11) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1int1float", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(1, 235, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":236
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_traceback); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 236, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_7);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 236, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              __pyx_t_7 = NULL;
              __pyx_t_10 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_7)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_7);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_10 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 236, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 236, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":235
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_11 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":233
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":232
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":229
 * 
 * 
 *     cdef void queue_callback_arg1int1float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1int1float", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":238
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg2float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, float __pyx_v_arg1, float __pyx_v_arg2) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg2float", 1);

  /* "dearcygui/core.pyx":239
 * 
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":240
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":239
 * 
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":241
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":242
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":243
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 243, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = PyFloat_FromDouble(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 243, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 243, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 243, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7)) __PYX_ERR(1, 243, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8)) __PYX_ERR(1, 243, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_8 = NULL;
            __pyx_t_10 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_10 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_9};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 243, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":242
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":244
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_11) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg2float", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(1, 244, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":245
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_traceback); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 245, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_7);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 245, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              __pyx_t_7 = NULL;
              __pyx_t_10 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_7)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_7);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_10 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 245, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 245, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":244
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_11 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":242
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":241
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":238
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg2float(self, Callback callback, baseItem parent_item, baseItem target_item, float arg1, float arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg2float", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":247
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg2double(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, double __pyx_v_arg1, double __pyx_v_arg2) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg2double", 1);

  /* "dearcygui/core.pyx":248
 * 
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":249
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":248
 * 
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":250
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":251
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":252
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 252, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = PyFloat_FromDouble(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 252, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 252, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 252, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7)) __PYX_ERR(1, 252, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8)) __PYX_ERR(1, 252, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_8 = NULL;
            __pyx_t_10 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_8)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_10 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_8, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_9};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 4+__pyx_t_10);
              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 252, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":251
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":253
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_11) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg2double", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(1, 253, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":254
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_traceback); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 254, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_7);
              __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 254, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              __pyx_t_7 = NULL;
              __pyx_t_10 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_12))) {
                __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
                if (likely(__pyx_t_7)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                  __Pyx_INCREF(__pyx_t_7);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_12, function);
                  __pyx_t_10 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
                __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 254, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_8);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
              }
              __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 254, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            }

            /* "dearcygui/core.pyx":253
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_11 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":251
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":250
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":247
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg2double(self, Callback callback, baseItem parent_item, baseItem target_item, double arg1, double arg2) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg2double", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":256
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int2float(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, float __pyx_v_arg2, float __pyx_v_arg3) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  unsigned int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg1int2float", 1);

  /* "dearcygui/core.pyx":257
 * 
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":258
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":257
 * 
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":259
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":260
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":261
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 261, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 261, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 261, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_arg3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 261, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 261, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7)) __PYX_ERR(1, 261, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_8)) __PYX_ERR(1, 261, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_9);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_9)) __PYX_ERR(1, 261, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_9 = 0;
            __pyx_t_9 = NULL;
            __pyx_t_11 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_9)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_9);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_11 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_9, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_10};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 4+__pyx_t_11);
              __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 261, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":260
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":262
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_12) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg1int2float", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_10) < 0) __PYX_ERR(1, 262, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_10);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":263
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_traceback); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 263, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 263, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_7);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __pyx_t_8 = NULL;
              __pyx_t_11 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_7))) {
                __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
                if (likely(__pyx_t_8)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
                  __Pyx_INCREF(__pyx_t_8);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_7, function);
                  __pyx_t_11 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
                __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 263, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_9);
                __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              }
              __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 263, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_7);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
            }

            /* "dearcygui/core.pyx":262
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_15);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __pyx_t_12 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                }
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
                __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
                __pyx_lineno = __pyx_t_12; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":260
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":259
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":256
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg1int2float(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, float arg2, float arg3) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg1int2float", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":265
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg4int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, int __pyx_v_arg1, int __pyx_v_arg2, int __pyx_v_arg3, int __pyx_v_arg4) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  unsigned int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg4int", 1);

  /* "dearcygui/core.pyx":266
 * 
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":267
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":266
 * 
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":268
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":269
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":270
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_arg3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_arg4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_10);
            __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 270, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_11);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7)) __PYX_ERR(1, 270, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8)) __PYX_ERR(1, 270, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_9);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9)) __PYX_ERR(1, 270, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_10);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10)) __PYX_ERR(1, 270, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_9 = 0;
            __pyx_t_10 = 0;
            __pyx_t_10 = NULL;
            __pyx_t_12 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_10)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_10);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_12 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_10, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_11};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_12, 4+__pyx_t_12);
              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 270, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":269
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":271
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_13) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg4int", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_11) < 0) __PYX_ERR(1, 271, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":272
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:
 */
              __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_traceback); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 272, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 272, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_9 = NULL;
              __pyx_t_12 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_8))) {
                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
                if (likely(__pyx_t_9)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
                  __Pyx_INCREF(__pyx_t_9);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_8, function);
                  __pyx_t_12 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
                __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_12, 0+__pyx_t_12);
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 272, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_10);
                __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              }
              __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 272, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
            }

            /* "dearcygui/core.pyx":271
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __Pyx_XGOTREF(__pyx_t_21);
                __pyx_t_13 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_XGIVEREF(__pyx_t_21);
                  __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
                }
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_XGIVEREF(__pyx_t_18);
                __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":269
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":268
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":265
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg4int(self, Callback callback, baseItem parent_item, baseItem target_item, int arg1, int arg2, int arg3, int arg4) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg4int", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":274
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_arg3long1int(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, PY_LONG_LONG __pyx_v_arg1, PY_LONG_LONG __pyx_v_arg2, PY_LONG_LONG __pyx_v_arg3, int __pyx_v_arg4) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  unsigned int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_arg3long1int", 1);

  /* "dearcygui/core.pyx":275
 * 
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":276
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":275
 * 
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":277
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":278
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":279
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_7 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_arg1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_arg2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_arg3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_arg4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_10);
            __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 279, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_11);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7)) __PYX_ERR(1, 279, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8)) __PYX_ERR(1, 279, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_9);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9)) __PYX_ERR(1, 279, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_10);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10)) __PYX_ERR(1, 279, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_9 = 0;
            __pyx_t_10 = 0;
            __pyx_t_10 = NULL;
            __pyx_t_12 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_10)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_10);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_12 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_10, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_11};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_12, 4+__pyx_t_12);
              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 279, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":278
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":280
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_13) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_arg3long1int", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_11) < 0) __PYX_ERR(1, 280, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":281
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 *     cdef void queue_callback_argdoubletriplet(self, Callback callback, baseItem parent_item, baseItem target_item,
 */
              __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_traceback); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 281, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 281, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_9 = NULL;
              __pyx_t_12 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_8))) {
                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
                if (likely(__pyx_t_9)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
                  __Pyx_INCREF(__pyx_t_9);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_8, function);
                  __pyx_t_12 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
                __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_12, 0+__pyx_t_12);
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 281, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_10);
                __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              }
              __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 281, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
            }

            /* "dearcygui/core.pyx":280
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __Pyx_XGOTREF(__pyx_t_21);
                __pyx_t_13 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_XGIVEREF(__pyx_t_21);
                  __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
                }
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_XGIVEREF(__pyx_t_18);
                __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":278
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 *             except Exception as e:
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":277
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item, (arg1, arg2, arg3, arg4))
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":274
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_arg3long1int(self, Callback callback, baseItem parent_item, baseItem target_item, long long arg1, long long arg2, long long arg3, int arg4) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if callback is None:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_arg3long1int", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":283
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_argdoubletriplet(self, Callback callback, baseItem parent_item, baseItem target_item,             # <<<<<<<<<<<<<<
 *                                               double arg1_1, double arg1_2, double arg1_3,
 *                                               double arg2_1, double arg2_2, double arg2_3) noexcept nogil:
 */

static void __pyx_f_9dearcygui_4core_7Context_queue_callback_argdoubletriplet(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_parent_item, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_item, double __pyx_v_arg1_1, double __pyx_v_arg1_2, double __pyx_v_arg1_3, double __pyx_v_arg2_1, double __pyx_v_arg2_2, double __pyx_v_arg2_3) {
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  unsigned int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("queue_callback_argdoubletriplet", 1);

  /* "dearcygui/core.pyx":286
 *                                               double arg1_1, double arg1_2, double arg1_3,
 *                                               double arg2_1, double arg2_2, double arg2_3) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_callback) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":287
 *                                               double arg2_1, double arg2_2, double arg2_3) noexcept nogil:
 *         if callback is None:
 *             return             # <<<<<<<<<<<<<<
 *         with gil:
 *             try:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":286
 *                                               double arg1_1, double arg1_2, double arg1_3,
 *                                               double arg2_1, double arg2_2, double arg2_3) noexcept nogil:
 *         if callback is None:             # <<<<<<<<<<<<<<
 *             return
 *         with gil:
 */
  }

  /* "dearcygui/core.pyx":288
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item,
 */
  {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":289
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 */
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_4);
          /*try:*/ {

            /* "dearcygui/core.pyx":290
 *         with gil:
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item,             # <<<<<<<<<<<<<<
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 *             except Exception as e:
 */
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->queue, __pyx_n_s_submit); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 290, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);

            /* "dearcygui/core.pyx":291
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))             # <<<<<<<<<<<<<<
 *             except Exception as e:
 *                 print(traceback.format_exc())
 */
            __pyx_t_7 = PyFloat_FromDouble(__pyx_v_arg1_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg1_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_arg1_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7)) __PYX_ERR(1, 291, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_8)) __PYX_ERR(1, 291, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_9);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_9)) __PYX_ERR(1, 291, __pyx_L7_error);
            __pyx_t_7 = 0;
            __pyx_t_8 = 0;
            __pyx_t_9 = 0;
            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_arg2_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_8 = PyFloat_FromDouble(__pyx_v_arg2_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_7 = PyFloat_FromDouble(__pyx_v_arg2_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_11);
            __Pyx_GIVEREF(__pyx_t_9);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9)) __PYX_ERR(1, 291, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_8);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8)) __PYX_ERR(1, 291, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_7);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_7)) __PYX_ERR(1, 291, __pyx_L7_error);
            __pyx_t_9 = 0;
            __pyx_t_8 = 0;
            __pyx_t_7 = 0;
            __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 291, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_GIVEREF(__pyx_t_10);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_10)) __PYX_ERR(1, 291, __pyx_L7_error);
            __Pyx_GIVEREF(__pyx_t_11);
            if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_11)) __PYX_ERR(1, 291, __pyx_L7_error);
            __pyx_t_10 = 0;
            __pyx_t_11 = 0;
            __pyx_t_11 = NULL;
            __pyx_t_12 = 0;
            #if CYTHON_UNPACK_METHODS
            if (likely(PyMethod_Check(__pyx_t_6))) {
              __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);
              if (likely(__pyx_t_11)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                __Pyx_INCREF(__pyx_t_11);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_6, function);
                __pyx_t_12 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[5] = {__pyx_t_11, ((PyObject *)__pyx_v_callback), ((PyObject *)__pyx_v_parent_item), ((PyObject *)__pyx_v_target_item), __pyx_t_7};
              __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_12, 4+__pyx_t_12);
              __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 290, __pyx_L7_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "dearcygui/core.pyx":289
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 */
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L12_try_end;
          __pyx_L7_error:;
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":292
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
          __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
          if (__pyx_t_13) {
            __Pyx_AddTraceback("dearcygui.core.Context.queue_callback_argdoubletriplet", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 292, __pyx_L9_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_6);
            __Pyx_XGOTREF(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_e = __pyx_t_6;
            /*try:*/ {

              /* "dearcygui/core.pyx":293
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 *             except Exception as e:
 *                 print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * 
 */
              __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_traceback); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 293, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_10);
              __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 293, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
              __pyx_t_10 = NULL;
              __pyx_t_12 = 0;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_8))) {
                __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
                if (likely(__pyx_t_10)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
                  __Pyx_INCREF(__pyx_t_10);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_8, function);
                  __pyx_t_12 = 1;
                }
              }
              #endif
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
                __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_12, 0+__pyx_t_12);
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 293, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_11);
                __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              }
              __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 293, __pyx_L18_error)
              __Pyx_GOTREF(__pyx_t_8);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
            }

            /* "dearcygui/core.pyx":292
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 *             except Exception as e:             # <<<<<<<<<<<<<<
 *                 print(traceback.format_exc())
 * 
 */
            /*finally:*/ {
              /*normal exit:*/{
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                goto __pyx_L19;
              }
              __pyx_L18_error:;
              /*exception exit:*/{
                __Pyx_PyThreadState_declare
                __Pyx_PyThreadState_assign
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
                if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_16);
                __Pyx_XGOTREF(__pyx_t_17);
                __Pyx_XGOTREF(__pyx_t_18);
                __Pyx_XGOTREF(__pyx_t_19);
                __Pyx_XGOTREF(__pyx_t_20);
                __Pyx_XGOTREF(__pyx_t_21);
                __pyx_t_13 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
                {
                  __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
                }
                if (PY_MAJOR_VERSION >= 3) {
                  __Pyx_XGIVEREF(__pyx_t_19);
                  __Pyx_XGIVEREF(__pyx_t_20);
                  __Pyx_XGIVEREF(__pyx_t_21);
                  __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
                }
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_XGIVEREF(__pyx_t_18);
                __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
                __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
                goto __pyx_L9_except_error;
              }
              __pyx_L19:;
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            goto __pyx_L8_exception_handled;
          }
          goto __pyx_L9_except_error;

          /* "dearcygui/core.pyx":289
 *             return
 *         with gil:
 *             try:             # <<<<<<<<<<<<<<
 *                 self.queue.submit(callback, parent_item, target_item,
 *                                   ((arg1_1, arg1_2, arg1_3), (arg2_1, arg2_2, arg2_3)))
 */
          __pyx_L9_except_error:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          goto __pyx_L5_error;
          __pyx_L8_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_2);
          __Pyx_XGIVEREF(__pyx_t_3);
          __Pyx_XGIVEREF(__pyx_t_4);
          __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
          __pyx_L12_try_end:;
        }
      }

      /* "dearcygui/core.pyx":288
 *         if callback is None:
 *             return
 *         with gil:             # <<<<<<<<<<<<<<
 *             try:
 *                 self.queue.submit(callback, parent_item, target_item,
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "dearcygui/core.pyx":283
 *                 print(traceback.format_exc())
 * 
 *     cdef void queue_callback_argdoubletriplet(self, Callback callback, baseItem parent_item, baseItem target_item,             # <<<<<<<<<<<<<<
 *                                               double arg1_1, double arg1_2, double arg1_3,
 *                                               double arg2_1, double arg2_2, double arg2_3) noexcept nogil:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_WriteUnraisable("dearcygui.core.Context.queue_callback_argdoubletriplet", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "dearcygui/core.pyx":296
 * 
 * 
 *     cdef void register_item(self, baseItem o, long long uuid):             # <<<<<<<<<<<<<<
 *         """ Stores weak references to objects.
 * 
 */

static void __pyx_f_9dearcygui_4core_7Context_register_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_o, PY_LONG_LONG __pyx_v_uuid) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("register_item", 1);

  /* "dearcygui/core.pyx":305
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.items[uuid] = o
 *         self.threadlocal_data.last_item_uuid = uuid
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":306
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.items[uuid] = o             # <<<<<<<<<<<<<<
 *         self.threadlocal_data.last_item_uuid = uuid
 *         if o.can_have_drawing_child or \
 */
  if (unlikely((__Pyx_SetItemInt(__pyx_v_self->items, __pyx_v_uuid, ((PyObject *)__pyx_v_o), PY_LONG_LONG, 1, __Pyx_PyInt_From_PY_LONG_LONG, 0, 0, 0) < 0))) __PYX_ERR(1, 306, __pyx_L1_error)

  /* "dearcygui/core.pyx":307
 *         lock_gil_friendly(m, self.mutex)
 *         self.items[uuid] = o
 *         self.threadlocal_data.last_item_uuid = uuid             # <<<<<<<<<<<<<<
 *         if o.can_have_drawing_child or \
 *            o.can_have_handler_child or \
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->threadlocal_data, __pyx_n_s_last_item_uuid, __pyx_t_1) < 0) __PYX_ERR(1, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":308
 *         self.items[uuid] = o
 *         self.threadlocal_data.last_item_uuid = uuid
 *         if o.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_handler_child or \
 *            o.can_have_menubar_child or \
 */
  if (!__pyx_v_o->can_have_drawing_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_drawing_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":309
 *         self.threadlocal_data.last_item_uuid = uuid
 *         if o.can_have_drawing_child or \
 *            o.can_have_handler_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_menubar_child or \
 *            o.can_have_plot_element_child or \
 */
  if (!__pyx_v_o->can_have_handler_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_handler_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":310
 *         if o.can_have_drawing_child or \
 *            o.can_have_handler_child or \
 *            o.can_have_menubar_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_plot_element_child or \
 *            o.can_have_payload_child or \
 */
  if (!__pyx_v_o->can_have_menubar_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_menubar_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":311
 *            o.can_have_handler_child or \
 *            o.can_have_menubar_child or \
 *            o.can_have_plot_element_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_payload_child or \
 *            o.can_have_tab_child or \
 */
  if (!__pyx_v_o->can_have_plot_element_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_plot_element_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":312
 *            o.can_have_menubar_child or \
 *            o.can_have_plot_element_child or \
 *            o.can_have_payload_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_tab_child or \
 *            o.can_have_theme_child or \
 */
  if (!__pyx_v_o->can_have_payload_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_payload_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":313
 *            o.can_have_plot_element_child or \
 *            o.can_have_payload_child or \
 *            o.can_have_tab_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_theme_child or \
 *            o.can_have_widget_child or \
 */
  if (!__pyx_v_o->can_have_tab_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_tab_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":314
 *            o.can_have_payload_child or \
 *            o.can_have_tab_child or \
 *            o.can_have_theme_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_widget_child or \
 *            o.can_have_window_child:
 */
  if (!__pyx_v_o->can_have_theme_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_theme_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":315
 *            o.can_have_tab_child or \
 *            o.can_have_theme_child or \
 *            o.can_have_widget_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_window_child:
 *             self.threadlocal_data.last_container_uuid = uuid
 */
  if (!__pyx_v_o->can_have_widget_child) {
  } else {
    __pyx_t_2 = __pyx_v_o->can_have_widget_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":316
 *            o.can_have_theme_child or \
 *            o.can_have_widget_child or \
 *            o.can_have_window_child:             # <<<<<<<<<<<<<<
 *             self.threadlocal_data.last_container_uuid = uuid
 * 
 */
  __pyx_t_2 = __pyx_v_o->can_have_window_child;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":308
 *         self.items[uuid] = o
 *         self.threadlocal_data.last_item_uuid = uuid
 *         if o.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_handler_child or \
 *            o.can_have_menubar_child or \
 */
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":317
 *            o.can_have_widget_child or \
 *            o.can_have_window_child:
 *             self.threadlocal_data.last_container_uuid = uuid             # <<<<<<<<<<<<<<
 * 
 *     cdef void unregister_item(self, long long uuid):
 */
    __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->threadlocal_data, __pyx_n_s_last_container_uuid, __pyx_t_1) < 0) __PYX_ERR(1, 317, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":308
 *         self.items[uuid] = o
 *         self.threadlocal_data.last_item_uuid = uuid
 *         if o.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            o.can_have_handler_child or \
 *            o.can_have_menubar_child or \
 */
  }

  /* "dearcygui/core.pyx":296
 * 
 * 
 *     cdef void register_item(self, baseItem o, long long uuid):             # <<<<<<<<<<<<<<
 *         """ Stores weak references to objects.
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.register_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":319
 *             self.threadlocal_data.last_container_uuid = uuid
 * 
 *     cdef void unregister_item(self, long long uuid):             # <<<<<<<<<<<<<<
 *         """ Free weak reference """
 *         cdef unique_lock[recursive_mutex] m
 */

static void __pyx_f_9dearcygui_4core_7Context_unregister_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PY_LONG_LONG __pyx_v_uuid) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_tag = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("unregister_item", 1);

  /* "dearcygui/core.pyx":322
 *         """ Free weak reference """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         try:
 *             del self.items[uuid]
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":323
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         try:             # <<<<<<<<<<<<<<
 *             del self.items[uuid]
 *         except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "dearcygui/core.pyx":324
 *         lock_gil_friendly(m, self.mutex)
 *         try:
 *             del self.items[uuid]             # <<<<<<<<<<<<<<
 *         except Exception:
 *             pass
 */
      if (unlikely((__Pyx_DelItemInt(__pyx_v_self->items, __pyx_v_uuid, PY_LONG_LONG, 1, __Pyx_PyInt_From_PY_LONG_LONG, 0, 0, 0) < 0))) __PYX_ERR(1, 324, __pyx_L3_error)

      /* "dearcygui/core.pyx":323
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         try:             # <<<<<<<<<<<<<<
 *             del self.items[uuid]
 *         except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "dearcygui/core.pyx":325
 *         try:
 *             del self.items[uuid]
 *         except Exception:             # <<<<<<<<<<<<<<
 *             pass
 *         if self.uuid_to_tag is None:
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "dearcygui/core.pyx":323
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         try:             # <<<<<<<<<<<<<<
 *             del self.items[uuid]
 *         except Exception:
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "dearcygui/core.pyx":327
 *         except Exception:
 *             pass
 *         if self.uuid_to_tag is None:             # <<<<<<<<<<<<<<
 *             # Can occur during gc collect at
 *             # the end of the program
 */
  __pyx_t_5 = (__pyx_v_self->uuid_to_tag == ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":330
 *             # Can occur during gc collect at
 *             # the end of the program
 *             return             # <<<<<<<<<<<<<<
 *         if uuid in self.uuid_to_tag:
 *             tag = self.uuid_to_tag[uuid]
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":327
 *         except Exception:
 *             pass
 *         if self.uuid_to_tag is None:             # <<<<<<<<<<<<<<
 *             # Can occur during gc collect at
 *             # the end of the program
 */
  }

  /* "dearcygui/core.pyx":331
 *             # the end of the program
 *             return
 *         if uuid in self.uuid_to_tag:             # <<<<<<<<<<<<<<
 *             tag = self.uuid_to_tag[uuid]
 *             del self.uuid_to_tag[uuid]
 */
  __pyx_t_6 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 331, __pyx_L1_error)
  }
  __pyx_t_5 = (__Pyx_PyDict_ContainsTF(__pyx_t_6, __pyx_v_self->uuid_to_tag, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":332
 *             return
 *         if uuid in self.uuid_to_tag:
 *             tag = self.uuid_to_tag[uuid]             # <<<<<<<<<<<<<<
 *             del self.uuid_to_tag[uuid]
 *             del self.tag_to_uuid[tag]
 */
    if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 332, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_self->uuid_to_tag, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_tag = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":333
 *         if uuid in self.uuid_to_tag:
 *             tag = self.uuid_to_tag[uuid]
 *             del self.uuid_to_tag[uuid]             # <<<<<<<<<<<<<<
 *             del self.tag_to_uuid[tag]
 * 
 */
    if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 333, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (unlikely((PyDict_DelItem(__pyx_v_self->uuid_to_tag, __pyx_t_7) < 0))) __PYX_ERR(1, 333, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":334
 *             tag = self.uuid_to_tag[uuid]
 *             del self.uuid_to_tag[uuid]
 *             del self.tag_to_uuid[tag]             # <<<<<<<<<<<<<<
 * 
 *     cdef baseItem get_registered_item_from_uuid(self, long long uuid):
 */
    if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 334, __pyx_L1_error)
    }
    if (unlikely((PyDict_DelItem(__pyx_v_self->tag_to_uuid, __pyx_v_tag) < 0))) __PYX_ERR(1, 334, __pyx_L1_error)

    /* "dearcygui/core.pyx":331
 *             # the end of the program
 *             return
 *         if uuid in self.uuid_to_tag:             # <<<<<<<<<<<<<<
 *             tag = self.uuid_to_tag[uuid]
 *             del self.uuid_to_tag[uuid]
 */
  }

  /* "dearcygui/core.pyx":319
 *             self.threadlocal_data.last_container_uuid = uuid
 * 
 *     cdef void unregister_item(self, long long uuid):             # <<<<<<<<<<<<<<
 *         """ Free weak reference """
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.Context.unregister_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_tag);
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":336
 *             del self.tag_to_uuid[tag]
 * 
 *     cdef baseItem get_registered_item_from_uuid(self, long long uuid):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

static struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_uuid(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PY_LONG_LONG __pyx_v_uuid) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_registered_item_from_uuid", 1);

  /* "dearcygui/core.pyx":338
 *     cdef baseItem get_registered_item_from_uuid(self, long long uuid):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.items.get(uuid, None)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":339
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.items.get(uuid, None)             # <<<<<<<<<<<<<<
 * 
 *     cdef baseItem get_registered_item_from_tag(self, str tag):
 */
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->items, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_3, Py_None};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseItem))))) __PYX_ERR(1, 339, __pyx_L1_error)
  __pyx_r = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":336
 *             del self.tag_to_uuid[tag]
 * 
 *     cdef baseItem get_registered_item_from_uuid(self, long long uuid):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.get_registered_item_from_uuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":341
 *         return self.items.get(uuid, None)
 * 
 *     cdef baseItem get_registered_item_from_tag(self, str tag):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

static struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_tag(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_tag) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PY_LONG_LONG __pyx_v_uuid;
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PY_LONG_LONG __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_registered_item_from_tag", 1);

  /* "dearcygui/core.pyx":343
 *     cdef baseItem get_registered_item_from_tag(self, str tag):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef long long uuid = self.tag_to_uuid.get(tag, -1)
 *         if uuid == -1:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":344
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef long long uuid = self.tag_to_uuid.get(tag, -1)             # <<<<<<<<<<<<<<
 *         if uuid == -1:
 *             # not found
 */
  if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
    __PYX_ERR(1, 344, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->tag_to_uuid, __pyx_v_tag, __pyx_int_neg_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_uuid = __pyx_t_2;

  /* "dearcygui/core.pyx":345
 *         lock_gil_friendly(m, self.mutex)
 *         cdef long long uuid = self.tag_to_uuid.get(tag, -1)
 *         if uuid == -1:             # <<<<<<<<<<<<<<
 *             # not found
 *             return None
 */
  __pyx_t_3 = (__pyx_v_uuid == -1LL);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":347
 *         if uuid == -1:
 *             # not found
 *             return None             # <<<<<<<<<<<<<<
 *         return self.get_registered_item_from_uuid(uuid)
 * 
 */
    __Pyx_XDECREF((PyObject *)__pyx_r);
    __pyx_r = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":345
 *         lock_gil_friendly(m, self.mutex)
 *         cdef long long uuid = self.tag_to_uuid.get(tag, -1)
 *         if uuid == -1:             # <<<<<<<<<<<<<<
 *             # not found
 *             return None
 */
  }

  /* "dearcygui/core.pyx":348
 *             # not found
 *             return None
 *         return self.get_registered_item_from_uuid(uuid)             # <<<<<<<<<<<<<<
 * 
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):
 */
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_vtab)->get_registered_item_from_uuid(__pyx_v_self, __pyx_v_uuid)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":341
 *         return self.items.get(uuid, None)
 * 
 *     cdef baseItem get_registered_item_from_tag(self, str tag):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.get_registered_item_from_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":350
 *         return self.get_registered_item_from_uuid(uuid)
 * 
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):             # <<<<<<<<<<<<<<
 *         old_tag = self.uuid_to_tag.get(uuid, None)
 *         if old_tag == tag:
 */

static void __pyx_f_9dearcygui_4core_7Context_update_registered_item_tag(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_o, PY_LONG_LONG __pyx_v_uuid, PyObject *__pyx_v_tag) {
  PyObject *__pyx_v_old_tag = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_UCS4 __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("update_registered_item_tag", 1);

  /* "dearcygui/core.pyx":351
 * 
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):
 *         old_tag = self.uuid_to_tag.get(uuid, None)             # <<<<<<<<<<<<<<
 *         if old_tag == tag:
 *             return
 */
  if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
    __PYX_ERR(1, 351, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->uuid_to_tag, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_old_tag = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":352
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):
 *         old_tag = self.uuid_to_tag.get(uuid, None)
 *         if old_tag == tag:             # <<<<<<<<<<<<<<
 *             return
 *         if tag in self.tag_to_uuid:
 */
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_old_tag, __pyx_v_tag, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 352, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":353
 *         old_tag = self.uuid_to_tag.get(uuid, None)
 *         if old_tag == tag:
 *             return             # <<<<<<<<<<<<<<
 *         if tag in self.tag_to_uuid:
 *             raise KeyError(f"Tag {tag} already in use")
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":352
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):
 *         old_tag = self.uuid_to_tag.get(uuid, None)
 *         if old_tag == tag:             # <<<<<<<<<<<<<<
 *             return
 *         if tag in self.tag_to_uuid:
 */
  }

  /* "dearcygui/core.pyx":354
 *         if old_tag == tag:
 *             return
 *         if tag in self.tag_to_uuid:             # <<<<<<<<<<<<<<
 *             raise KeyError(f"Tag {tag} already in use")
 *         if old_tag is not None:
 */
  if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 354, __pyx_L1_error)
  }
  __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_tag, __pyx_v_self->tag_to_uuid, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 354, __pyx_L1_error)
  if (unlikely(__pyx_t_3)) {

    /* "dearcygui/core.pyx":355
 *             return
 *         if tag in self.tag_to_uuid:
 *             raise KeyError(f"Tag {tag} already in use")             # <<<<<<<<<<<<<<
 *         if old_tag is not None:
 *             del self.tag_to_uuid[old_tag]
 */
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 0;
    __pyx_t_5 = 127;
    __Pyx_INCREF(__pyx_kp_u_Tag);
    __pyx_t_4 += 4;
    __Pyx_GIVEREF(__pyx_kp_u_Tag);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Tag);
    __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_tag); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5;
    __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
    __pyx_t_1 = 0;
    __Pyx_INCREF(__pyx_kp_u_already_in_use);
    __pyx_t_4 += 15;
    __Pyx_GIVEREF(__pyx_kp_u_already_in_use);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_already_in_use);
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 355, __pyx_L1_error)

    /* "dearcygui/core.pyx":354
 *         if old_tag == tag:
 *             return
 *         if tag in self.tag_to_uuid:             # <<<<<<<<<<<<<<
 *             raise KeyError(f"Tag {tag} already in use")
 *         if old_tag is not None:
 */
  }

  /* "dearcygui/core.pyx":356
 *         if tag in self.tag_to_uuid:
 *             raise KeyError(f"Tag {tag} already in use")
 *         if old_tag is not None:             # <<<<<<<<<<<<<<
 *             del self.tag_to_uuid[old_tag]
 *             del self.uuid_to_tag[uuid]
 */
  __pyx_t_3 = (__pyx_v_old_tag != Py_None);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":357
 *             raise KeyError(f"Tag {tag} already in use")
 *         if old_tag is not None:
 *             del self.tag_to_uuid[old_tag]             # <<<<<<<<<<<<<<
 *             del self.uuid_to_tag[uuid]
 *         if tag is not None:
 */
    if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 357, __pyx_L1_error)
    }
    if (unlikely((PyDict_DelItem(__pyx_v_self->tag_to_uuid, __pyx_v_old_tag) < 0))) __PYX_ERR(1, 357, __pyx_L1_error)

    /* "dearcygui/core.pyx":358
 *         if old_tag is not None:
 *             del self.tag_to_uuid[old_tag]
 *             del self.uuid_to_tag[uuid]             # <<<<<<<<<<<<<<
 *         if tag is not None:
 *             self.uuid_to_tag[uuid] = tag
 */
    if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 358, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyDict_DelItem(__pyx_v_self->uuid_to_tag, __pyx_t_2) < 0))) __PYX_ERR(1, 358, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":356
 *         if tag in self.tag_to_uuid:
 *             raise KeyError(f"Tag {tag} already in use")
 *         if old_tag is not None:             # <<<<<<<<<<<<<<
 *             del self.tag_to_uuid[old_tag]
 *             del self.uuid_to_tag[uuid]
 */
  }

  /* "dearcygui/core.pyx":359
 *             del self.tag_to_uuid[old_tag]
 *             del self.uuid_to_tag[uuid]
 *         if tag is not None:             # <<<<<<<<<<<<<<
 *             self.uuid_to_tag[uuid] = tag
 *             self.tag_to_uuid[tag] = uuid
 */
  __pyx_t_3 = (__pyx_v_tag != ((PyObject*)Py_None));
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":360
 *             del self.uuid_to_tag[uuid]
 *         if tag is not None:
 *             self.uuid_to_tag[uuid] = tag             # <<<<<<<<<<<<<<
 *             self.tag_to_uuid[tag] = uuid
 * 
 */
    if (unlikely(__pyx_v_self->uuid_to_tag == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 360, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyDict_SetItem(__pyx_v_self->uuid_to_tag, __pyx_t_2, __pyx_v_tag) < 0))) __PYX_ERR(1, 360, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":361
 *         if tag is not None:
 *             self.uuid_to_tag[uuid] = tag
 *             self.tag_to_uuid[tag] = uuid             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, key):
 */
    __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_uuid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 361, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__pyx_v_self->tag_to_uuid, __pyx_v_tag, __pyx_t_2) < 0))) __PYX_ERR(1, 361, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":359
 *             del self.tag_to_uuid[old_tag]
 *             del self.uuid_to_tag[uuid]
 *         if tag is not None:             # <<<<<<<<<<<<<<
 *             self.uuid_to_tag[uuid] = tag
 *             self.tag_to_uuid[tag] = uuid
 */
  }

  /* "dearcygui/core.pyx":350
 *         return self.get_registered_item_from_uuid(uuid)
 * 
 *     cdef void update_registered_item_tag(self, baseItem o, long long uuid, str tag):             # <<<<<<<<<<<<<<
 *         old_tag = self.uuid_to_tag.get(uuid, None)
 *         if old_tag == tag:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Context.update_registered_item_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_old_tag);
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":363
 *             self.tag_to_uuid[tag] = uuid
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieves the object associated to
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_9__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_8__getitem__, "\n        Retrieves the object associated to\n        a tag or an uuid\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9dearcygui_4core_7Context_8__getitem__;
#endif
static PyObject *__pyx_pw_9dearcygui_4core_7Context_9__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_8__getitem__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((PyObject *)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_8__getitem__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_key) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PY_LONG_LONG __pyx_v_uuid;
  PyObject *__pyx_v_item = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_UCS4 __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PY_LONG_LONG __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 1);

  /* "dearcygui/core.pyx":368
 *         a tag or an uuid
 *         """
 *         if isinstance(key, baseItem) or isinstance(key, SharedValue):             # <<<<<<<<<<<<<<
 *             # TODO: register shared values
 *             # Useful for legacy call wrappers
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_key, __pyx_ptype_9dearcygui_4core_baseItem); 
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_key, __pyx_ptype_9dearcygui_4core_SharedValue); 
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":371
 *             # TODO: register shared values
 *             # Useful for legacy call wrappers
 *             return key             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_key);
    __pyx_r = __pyx_v_key;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":368
 *         a tag or an uuid
 *         """
 *         if isinstance(key, baseItem) or isinstance(key, SharedValue):             # <<<<<<<<<<<<<<
 *             # TODO: register shared values
 *             # Useful for legacy call wrappers
 */
  }

  /* "dearcygui/core.pyx":373
 *             return key
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef long long uuid
 *         if isinstance(key, str):
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":375
 *         lock_gil_friendly(m, self.mutex)
 *         cdef long long uuid
 *         if isinstance(key, str):             # <<<<<<<<<<<<<<
 *             if key not in self.tag_to_uuid:
 *                 raise KeyError(f"Item not found with index {key}.")
 */
  __pyx_t_1 = PyUnicode_Check(__pyx_v_key); 
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":376
 *         cdef long long uuid
 *         if isinstance(key, str):
 *             if key not in self.tag_to_uuid:             # <<<<<<<<<<<<<<
 *                 raise KeyError(f"Item not found with index {key}.")
 *             uuid = self.tag_to_uuid[key]
 */
    if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 376, __pyx_L1_error)
    }
    __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_key, __pyx_v_self->tag_to_uuid, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 376, __pyx_L1_error)
    if (unlikely(__pyx_t_1)) {

      /* "dearcygui/core.pyx":377
 *         if isinstance(key, str):
 *             if key not in self.tag_to_uuid:
 *                 raise KeyError(f"Item not found with index {key}.")             # <<<<<<<<<<<<<<
 *             uuid = self.tag_to_uuid[key]
 *         elif isinstance(key, int):
 */
      __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = 0;
      __pyx_t_5 = 127;
      __Pyx_INCREF(__pyx_kp_u_Item_not_found_with_index);
      __pyx_t_4 += 26;
      __Pyx_GIVEREF(__pyx_kp_u_Item_not_found_with_index);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Item_not_found_with_index);
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_key, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
      __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_kp_u__3);
      __pyx_t_4 += 1;
      __Pyx_GIVEREF(__pyx_kp_u__3);
      PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__3);
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 377, __pyx_L1_error)

      /* "dearcygui/core.pyx":376
 *         cdef long long uuid
 *         if isinstance(key, str):
 *             if key not in self.tag_to_uuid:             # <<<<<<<<<<<<<<
 *                 raise KeyError(f"Item not found with index {key}.")
 *             uuid = self.tag_to_uuid[key]
 */
    }

    /* "dearcygui/core.pyx":378
 *             if key not in self.tag_to_uuid:
 *                 raise KeyError(f"Item not found with index {key}.")
 *             uuid = self.tag_to_uuid[key]             # <<<<<<<<<<<<<<
 *         elif isinstance(key, int):
 *             uuid = key
 */
    if (unlikely(__pyx_v_self->tag_to_uuid == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 378, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->tag_to_uuid, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_7 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 378, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_uuid = __pyx_t_7;

    /* "dearcygui/core.pyx":375
 *         lock_gil_friendly(m, self.mutex)
 *         cdef long long uuid
 *         if isinstance(key, str):             # <<<<<<<<<<<<<<
 *             if key not in self.tag_to_uuid:
 *                 raise KeyError(f"Item not found with index {key}.")
 */
    goto __pyx_L6;
  }

  /* "dearcygui/core.pyx":379
 *                 raise KeyError(f"Item not found with index {key}.")
 *             uuid = self.tag_to_uuid[key]
 *         elif isinstance(key, int):             # <<<<<<<<<<<<<<
 *             uuid = key
 *         else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_key); 
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":380
 *             uuid = self.tag_to_uuid[key]
 *         elif isinstance(key, int):
 *             uuid = key             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"{type(key)} is an invalid index type")
 */
    __pyx_t_7 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_v_key); if (unlikely((__pyx_t_7 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 380, __pyx_L1_error)
    __pyx_v_uuid = __pyx_t_7;

    /* "dearcygui/core.pyx":379
 *                 raise KeyError(f"Item not found with index {key}.")
 *             uuid = self.tag_to_uuid[key]
 *         elif isinstance(key, int):             # <<<<<<<<<<<<<<
 *             uuid = key
 *         else:
 */
    goto __pyx_L6;
  }

  /* "dearcygui/core.pyx":382
 *             uuid = key
 *         else:
 *             raise TypeError(f"{type(key)} is an invalid index type")             # <<<<<<<<<<<<<<
 *         item = self.get_registered_item_from_uuid(uuid)
 *         if item is None:
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_key)), __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u_is_an_invalid_index_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 382, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "dearcygui/core.pyx":383
 *         else:
 *             raise TypeError(f"{type(key)} is an invalid index type")
 *         item = self.get_registered_item_from_uuid(uuid)             # <<<<<<<<<<<<<<
 *         if item is None:
 *             raise KeyError(f"Item not found with index {key}.")
 */
  __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_vtab)->get_registered_item_from_uuid(__pyx_v_self, __pyx_v_uuid)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_item = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":384
 *             raise TypeError(f"{type(key)} is an invalid index type")
 *         item = self.get_registered_item_from_uuid(uuid)
 *         if item is None:             # <<<<<<<<<<<<<<
 *             raise KeyError(f"Item not found with index {key}.")
 *         return item
 */
  __pyx_t_1 = (__pyx_v_item == Py_None);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":385
 *         item = self.get_registered_item_from_uuid(uuid)
 *         if item is None:
 *             raise KeyError(f"Item not found with index {key}.")             # <<<<<<<<<<<<<<
 *         return item
 * 
 */
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __pyx_t_5 = 127;
    __Pyx_INCREF(__pyx_kp_u_Item_not_found_with_index);
    __pyx_t_4 += 26;
    __Pyx_GIVEREF(__pyx_kp_u_Item_not_found_with_index);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Item_not_found_with_index);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_key, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
    __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_kp_u__3);
    __pyx_t_4 += 1;
    __Pyx_GIVEREF(__pyx_kp_u__3);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__3);
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 385, __pyx_L1_error)

    /* "dearcygui/core.pyx":384
 *             raise TypeError(f"{type(key)} is an invalid index type")
 *         item = self.get_registered_item_from_uuid(uuid)
 *         if item is None:             # <<<<<<<<<<<<<<
 *             raise KeyError(f"Item not found with index {key}.")
 *         return item
 */
  }

  /* "dearcygui/core.pyx":386
 *         if item is None:
 *             raise KeyError(f"Item not found with index {key}.")
 *         return item             # <<<<<<<<<<<<<<
 * 
 *     cpdef void push_next_parent(self, baseItem next_parent):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_item);
  __pyx_r = __pyx_v_item;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":363
 *             self.tag_to_uuid[tag] = uuid
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieves the object associated to
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.Context.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":388
 *         return item
 * 
 *     cpdef void push_next_parent(self, baseItem next_parent):             # <<<<<<<<<<<<<<
 *         """
 *         Each time 'with' is used on an item, it is pushed
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_11push_next_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_next_parent); /*proto*/
static void __pyx_f_9dearcygui_4core_7Context_push_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_next_parent, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_parent_queue = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("push_next_parent", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_push_next_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 388, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_11push_next_parent)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_next_parent)};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 388, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":403
 *         # can build items trees without conflicts.
 *         # Mutexes are not needed due to the thread locality
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])             # <<<<<<<<<<<<<<
 *         parent_queue.append(next_parent)
 *         self.threadlocal_data.parent_queue = parent_queue
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_parent_queue, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_3))) __PYX_ERR(1, 403, __pyx_L1_error)
  __pyx_v_parent_queue = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":404
 *         # Mutexes are not needed due to the thread locality
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         parent_queue.append(next_parent)             # <<<<<<<<<<<<<<
 *         self.threadlocal_data.parent_queue = parent_queue
 * 
 */
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(1, 404, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_parent_queue, ((PyObject *)__pyx_v_next_parent)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 404, __pyx_L1_error)

  /* "dearcygui/core.pyx":405
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         parent_queue.append(next_parent)
 *         self.threadlocal_data.parent_queue = parent_queue             # <<<<<<<<<<<<<<
 * 
 *     cpdef void pop_next_parent(self):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->threadlocal_data, __pyx_n_s_parent_queue, __pyx_v_parent_queue) < 0) __PYX_ERR(1, 405, __pyx_L1_error)

  /* "dearcygui/core.pyx":388
 *         return item
 * 
 *     cpdef void push_next_parent(self, baseItem next_parent):             # <<<<<<<<<<<<<<
 *         """
 *         Each time 'with' is used on an item, it is pushed
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.push_next_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parent_queue);
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_11push_next_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_next_parent); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_10push_next_parent, "\n        Each time 'with' is used on an item, it is pushed\n        to the list of potentialy parents to use if\n        no parent (or before) is set when an item is created.\n        If the list is empty, items are left unattached and\n        can be attached later.\n\n        In order to enable multiple threads from using\n        the 'with' syntax, thread local storage is used,\n        such that each thread has its own list.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_11push_next_parent = {"push_next_parent", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_11push_next_parent, METH_O, __pyx_doc_9dearcygui_4core_7Context_10push_next_parent};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_11push_next_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_next_parent) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("push_next_parent (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_next_parent), __pyx_ptype_9dearcygui_4core_baseItem, 1, "next_parent", 0))) __PYX_ERR(1, 388, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_10push_next_parent(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_next_parent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_10push_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_next_parent) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("push_next_parent", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_7Context_push_next_parent(__pyx_v_self, __pyx_v_next_parent, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 388, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.push_next_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":407
 *         self.threadlocal_data.parent_queue = parent_queue
 * 
 *     cpdef void pop_next_parent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Remove an item from the potential parent list.
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_13pop_next_parent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static void __pyx_f_9dearcygui_4core_7Context_pop_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_parent_queue = 0;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pop_next_parent", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pop_next_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 407, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_13pop_next_parent)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 407, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":411
 *         Remove an item from the potential parent list.
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])             # <<<<<<<<<<<<<<
 *         if len(parent_queue) > 0:
 *             parent_queue.pop()
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_parent_queue, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_3))) __PYX_ERR(1, 411, __pyx_L1_error)
  __pyx_v_parent_queue = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":412
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) > 0:             # <<<<<<<<<<<<<<
 *             parent_queue.pop()
 * 
 */
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 412, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_parent_queue); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 412, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_6 > 0);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":413
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) > 0:
 *             parent_queue.pop()             # <<<<<<<<<<<<<<
 * 
 *     cpdef object fetch_parent_queue_back(self):
 */
    if (unlikely(__pyx_v_parent_queue == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
      __PYX_ERR(1, 413, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyList_Pop(__pyx_v_parent_queue); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":412
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) > 0:             # <<<<<<<<<<<<<<
 *             parent_queue.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":407
 *         self.threadlocal_data.parent_queue = parent_queue
 * 
 *     cpdef void pop_next_parent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Remove an item from the potential parent list.
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.pop_next_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parent_queue);
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_13pop_next_parent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_12pop_next_parent, "\n        Remove an item from the potential parent list.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_13pop_next_parent = {"pop_next_parent", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_13pop_next_parent, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_12pop_next_parent};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_13pop_next_parent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pop_next_parent (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_12pop_next_parent(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_12pop_next_parent(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pop_next_parent", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_7Context_pop_next_parent(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 407, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.pop_next_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":415
 *             parent_queue.pop()
 * 
 *     cpdef object fetch_parent_queue_back(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the last item from the potential parent list
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_15fetch_parent_queue_back(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_back(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_parent_queue = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_parent_queue_back", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fetch_parent_queue_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 415, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_15fetch_parent_queue_back)) {
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 415, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":419
 *         Retrieve the last item from the potential parent list
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])             # <<<<<<<<<<<<<<
 *         if len(parent_queue) == 0:
 *             return None
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_parent_queue, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_3))) __PYX_ERR(1, 419, __pyx_L1_error)
  __pyx_v_parent_queue = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":420
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return parent_queue[len(parent_queue)-1]
 */
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 420, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_parent_queue); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 420, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_6 == 0);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":421
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:
 *             return None             # <<<<<<<<<<<<<<
 *         return parent_queue[len(parent_queue)-1]
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":420
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return parent_queue[len(parent_queue)-1]
 */
  }

  /* "dearcygui/core.pyx":422
 *         if len(parent_queue) == 0:
 *             return None
 *         return parent_queue[len(parent_queue)-1]             # <<<<<<<<<<<<<<
 * 
 *     cpdef object fetch_parent_queue_front(self):
 */
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 422, __pyx_L1_error)
  }
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 422, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_parent_queue); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 422, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_6 - 1);
  __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_parent_queue, __pyx_t_8));
  __pyx_r = PyList_GET_ITEM(__pyx_v_parent_queue, __pyx_t_8);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":415
 *             parent_queue.pop()
 * 
 *     cpdef object fetch_parent_queue_back(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the last item from the potential parent list
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_parent_queue_back", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parent_queue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_15fetch_parent_queue_back(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_14fetch_parent_queue_back, "\n        Retrieve the last item from the potential parent list\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_15fetch_parent_queue_back = {"fetch_parent_queue_back", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_15fetch_parent_queue_back, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_14fetch_parent_queue_back};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_15fetch_parent_queue_back(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fetch_parent_queue_back (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_14fetch_parent_queue_back(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_14fetch_parent_queue_back(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_parent_queue_back", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_back(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_parent_queue_back", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":424
 *         return parent_queue[len(parent_queue)-1]
 * 
 *     cpdef object fetch_parent_queue_front(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the top item from the potential parent list
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_17fetch_parent_queue_front(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_front(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_parent_queue = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_parent_queue_front", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fetch_parent_queue_front); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_17fetch_parent_queue_front)) {
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 424, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":428
 *         Retrieve the top item from the potential parent list
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])             # <<<<<<<<<<<<<<
 *         if len(parent_queue) == 0:
 *             return None
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_parent_queue, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_3))) __PYX_ERR(1, 428, __pyx_L1_error)
  __pyx_v_parent_queue = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":429
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return parent_queue[0]
 */
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 429, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_parent_queue); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 429, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_6 == 0);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":430
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:
 *             return None             # <<<<<<<<<<<<<<
 *         return parent_queue[0]
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":429
 *         """
 *         cdef list parent_queue = getattr(self.threadlocal_data, 'parent_queue', [])
 *         if len(parent_queue) == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return parent_queue[0]
 */
  }

  /* "dearcygui/core.pyx":431
 *         if len(parent_queue) == 0:
 *             return None
 *         return parent_queue[0]             # <<<<<<<<<<<<<<
 * 
 *     cpdef object fetch_last_created_item(self):
 */
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_parent_queue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 431, __pyx_L1_error)
  }
  __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_parent_queue, 0));
  __pyx_r = PyList_GET_ITEM(__pyx_v_parent_queue, 0);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":424
 *         return parent_queue[len(parent_queue)-1]
 * 
 *     cpdef object fetch_parent_queue_front(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the top item from the potential parent list
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_parent_queue_front", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parent_queue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_17fetch_parent_queue_front(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_16fetch_parent_queue_front, "\n        Retrieve the top item from the potential parent list\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_17fetch_parent_queue_front = {"fetch_parent_queue_front", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_17fetch_parent_queue_front, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_16fetch_parent_queue_front};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_17fetch_parent_queue_front(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fetch_parent_queue_front (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_16fetch_parent_queue_front(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_16fetch_parent_queue_front(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_parent_queue_front", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_front(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_parent_queue_front", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":433
 *         return parent_queue[0]
 * 
 *     cpdef object fetch_last_created_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item created in this thread.
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_19fetch_last_created_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_last_created_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch) {
  PY_LONG_LONG __pyx_v_last_uuid;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  PY_LONG_LONG __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_last_created_item", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fetch_last_created_item); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_19fetch_last_created_item)) {
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 433, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":439
 *         deleted.
 *         """
 *         cdef long long last_uuid = getattr(self.threadlocal_data, 'last_item_uuid', -1)             # <<<<<<<<<<<<<<
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_last_item_uuid, __pyx_int_neg_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_6 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_last_uuid = __pyx_t_6;

  /* "dearcygui/core.pyx":440
 *         """
 *         cdef long long last_uuid = getattr(self.threadlocal_data, 'last_item_uuid', -1)
 *         return self.get_registered_item_from_uuid(last_uuid)             # <<<<<<<<<<<<<<
 * 
 *     cpdef object fetch_last_created_container(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_vtab)->get_registered_item_from_uuid(__pyx_v_self, __pyx_v_last_uuid)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":433
 *         return parent_queue[0]
 * 
 *     cpdef object fetch_last_created_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item created in this thread.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_last_created_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_19fetch_last_created_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_18fetch_last_created_item, "\n        Return the last item created in this thread.\n        Returns None if the last item created has been\n        deleted.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_19fetch_last_created_item = {"fetch_last_created_item", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_19fetch_last_created_item, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_18fetch_last_created_item};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_19fetch_last_created_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fetch_last_created_item (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_18fetch_last_created_item(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_18fetch_last_created_item(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_last_created_item", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_7Context_fetch_last_created_item(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_last_created_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":442
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     cpdef object fetch_last_created_container(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item which can have children
 */

static PyObject *__pyx_pw_9dearcygui_4core_7Context_21fetch_last_created_container(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_9dearcygui_4core_7Context_fetch_last_created_container(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_skip_dispatch) {
  PY_LONG_LONG __pyx_v_last_uuid;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  PY_LONG_LONG __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_last_created_container", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fetch_last_created_container); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 442, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_7Context_21fetch_last_created_container)) {
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 442, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":449
 *         deleted.
 *         """
 *         cdef long long last_uuid = getattr(self.threadlocal_data, 'last_container_uuid', -1)             # <<<<<<<<<<<<<<
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 */
  __pyx_t_1 = __pyx_v_self->threadlocal_data;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_last_container_uuid, __pyx_int_neg_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_6 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_last_uuid = __pyx_t_6;

  /* "dearcygui/core.pyx":450
 *         """
 *         cdef long long last_uuid = getattr(self.threadlocal_data, 'last_container_uuid', -1)
 *         return self.get_registered_item_from_uuid(last_uuid)             # <<<<<<<<<<<<<<
 * 
 *     def is_key_down(self, int key, int keymod=-1):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_vtab)->get_registered_item_from_uuid(__pyx_v_self, __pyx_v_last_uuid)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":442
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     cpdef object fetch_last_created_container(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item which can have children
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_last_created_container", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_21fetch_last_created_container(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_20fetch_last_created_container, "\n        Return the last item which can have children\n        created in this thread.\n        Returns None if the last such item has been\n        deleted.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_21fetch_last_created_container = {"fetch_last_created_container", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_21fetch_last_created_container, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_20fetch_last_created_container};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_21fetch_last_created_container(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fetch_last_created_container (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_20fetch_last_created_container(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_20fetch_last_created_container(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fetch_last_created_container", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_7Context_fetch_last_created_container(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.fetch_last_created_container", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":452
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     def is_key_down(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Is key being held.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_23is_key_down(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_22is_key_down, "\n        Is key being held.\n\n        key is a key constant (see constants)\n        keymod is a mask if keymod constants (ctrl, shift, alt, super)\n        if keymod is negative, ignores any key modifiers.\n        If non-negative, returns True only if the modifiers\n        correspond as well as the key.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_23is_key_down = {"is_key_down", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_23is_key_down, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_22is_key_down};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_23is_key_down(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_key;
  int __pyx_v_keymod;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_key_down (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_keymod,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 452, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_keymod);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 452, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_key_down") < 0)) __PYX_ERR(1, 452, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_key = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_key == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 452, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_keymod = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_keymod == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 452, __pyx_L3_error)
    } else {
      __pyx_v_keymod = ((int)-1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("is_key_down", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 452, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_down", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_22is_key_down(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_key, __pyx_v_keymod);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_22is_key_down(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_key_down", 1);

  /* "dearcygui/core.pyx":463
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_key < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (((enum ImGuiKey)__pyx_v_key) >= ImGuiKey_NamedKey_END);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":464
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 464, __pyx_L1_error)

    /* "dearcygui/core.pyx":463
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":465
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":466
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":467
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:             # <<<<<<<<<<<<<<
 *             return False
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 */
  __pyx_t_2 = (__pyx_v_keymod >= 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_keymod & ImGuiMod_Mask_) != ImGui::GetIO().KeyMods);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":468
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False             # <<<<<<<<<<<<<<
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":467
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:             # <<<<<<<<<<<<<<
 *             return False
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 */
  }

  /* "dearcygui/core.pyx":469
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)             # <<<<<<<<<<<<<<
 * 
 *     def is_key_pressed(self, int key, int keymod=-1, bint repeat=True):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsKeyDown(((enum ImGuiKey)__pyx_v_key))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":452
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     def is_key_down(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Is key being held.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_down", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":471
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 * 
 *     def is_key_pressed(self, int key, int keymod=-1, bint repeat=True):             # <<<<<<<<<<<<<<
 *         """
 *         Was key pressed (went from !Down to Down)?
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_25is_key_pressed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_24is_key_pressed, "\n        Was key pressed (went from !Down to Down)?\n        \n        if repeat=true, the pressed state is repeated\n        if the user continue pressing the key.\n        If keymod is non-negative, returns True only if the modifiers\n        correspond as well as the key.\n\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_25is_key_pressed = {"is_key_pressed", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_25is_key_pressed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_24is_key_pressed};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_25is_key_pressed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_key;
  int __pyx_v_keymod;
  int __pyx_v_repeat;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_key_pressed (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_keymod,&__pyx_n_s_repeat,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_keymod);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_repeat);
          if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_key_pressed") < 0)) __PYX_ERR(1, 471, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_key = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_key == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_keymod = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_keymod == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
    } else {
      __pyx_v_keymod = ((int)-1);
    }
    if (values[2]) {
      __pyx_v_repeat = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_repeat == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 471, __pyx_L3_error)
    } else {
      __pyx_v_repeat = ((int)1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("is_key_pressed", 0, 1, 3, __pyx_nargs); __PYX_ERR(1, 471, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_pressed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_24is_key_pressed(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_key, __pyx_v_keymod, __pyx_v_repeat);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_24is_key_pressed(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod, int __pyx_v_repeat) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_key_pressed", 1);

  /* "dearcygui/core.pyx":482
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_key < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (((enum ImGuiKey)__pyx_v_key) >= ImGuiKey_NamedKey_END);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":483
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 483, __pyx_L1_error)

    /* "dearcygui/core.pyx":482
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":484
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":485
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":486
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:             # <<<<<<<<<<<<<<
 *             return False
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 */
  __pyx_t_2 = (__pyx_v_keymod >= 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_keymod & ImGuiMod_Mask_) != ImGui::GetIO().KeyMods);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":487
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False             # <<<<<<<<<<<<<<
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":486
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:             # <<<<<<<<<<<<<<
 *             return False
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 */
  }

  /* "dearcygui/core.pyx":488
 *         if keymod >= 0 and (keymod & imgui.ImGuiMod_Mask_) != imgui.GetIO().KeyMods:
 *             return False
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)             # <<<<<<<<<<<<<<
 * 
 *     def is_key_released(self, int key, int keymod=-1):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsKeyPressed(((enum ImGuiKey)__pyx_v_key), __pyx_v_repeat)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":471
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 * 
 *     def is_key_pressed(self, int key, int keymod=-1, bint repeat=True):             # <<<<<<<<<<<<<<
 *         """
 *         Was key pressed (went from !Down to Down)?
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_pressed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":490
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 * 
 *     def is_key_released(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Was key released (went from Down to !Down)?
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_27is_key_released(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_26is_key_released, "\n        Was key released (went from Down to !Down)?\n        \n        If keymod is non-negative, returns True also if the\n        required modifiers are not pressed.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_27is_key_released = {"is_key_released", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_27is_key_released, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_26is_key_released};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_27is_key_released(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_key;
  int __pyx_v_keymod;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_key_released (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_keymod,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 490, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_keymod);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 490, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_key_released") < 0)) __PYX_ERR(1, 490, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_key = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_key == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 490, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_keymod = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_keymod == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 490, __pyx_L3_error)
    } else {
      __pyx_v_keymod = ((int)-1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("is_key_released", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_released", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_26is_key_released(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_key, __pyx_v_keymod);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_26is_key_released(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_key, int __pyx_v_keymod) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_key_released", 1);

  /* "dearcygui/core.pyx":498
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_key < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (((enum ImGuiKey)__pyx_v_key) >= ImGuiKey_NamedKey_END);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":499
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 499, __pyx_L1_error)

    /* "dearcygui/core.pyx":498
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":500
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":501
 *             raise ValueError("Invalid key")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:
 *             return True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":502
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:             # <<<<<<<<<<<<<<
 *             return True
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 */
  __pyx_t_2 = (__pyx_v_keymod >= 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_keymod & ImGui::GetIO().KeyMods) != __pyx_v_keymod);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":503
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:
 *             return True             # <<<<<<<<<<<<<<
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":502
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:             # <<<<<<<<<<<<<<
 *             return True
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 */
  }

  /* "dearcygui/core.pyx":504
 *         if keymod >= 0 and (keymod & imgui.GetIO().KeyMods) != keymod:
 *             return True
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)             # <<<<<<<<<<<<<<
 * 
 *     def is_mouse_down(self, int button):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsKeyReleased(((enum ImGuiKey)__pyx_v_key))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":490
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 * 
 *     def is_key_released(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Was key released (went from Down to !Down)?
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_key_released", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":506
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 * 
 *     def is_mouse_down(self, int button):             # <<<<<<<<<<<<<<
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_29is_mouse_down(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_28is_mouse_down, "is mouse button held?");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_29is_mouse_down = {"is_mouse_down", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_29is_mouse_down, METH_O, __pyx_doc_9dearcygui_4core_7Context_28is_mouse_down};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_29is_mouse_down(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_mouse_down (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 506, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_down", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_28is_mouse_down(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_28is_mouse_down(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_mouse_down", 1);

  /* "dearcygui/core.pyx":509
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":510
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 510, __pyx_L1_error)

    /* "dearcygui/core.pyx":509
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":511
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDown(button)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":512
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.IsMouseDown(button)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":513
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDown(button)             # <<<<<<<<<<<<<<
 * 
 *     def is_mouse_clicked(self, int button, bint repeat=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsMouseDown(__pyx_v_button)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":506
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 * 
 *     def is_mouse_down(self, int button):             # <<<<<<<<<<<<<<
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_down", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":515
 *         return imgui.IsMouseDown(button)
 * 
 *     def is_mouse_clicked(self, int button, bint repeat=False):             # <<<<<<<<<<<<<<
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_31is_mouse_clicked(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_30is_mouse_clicked, "did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1.");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_31is_mouse_clicked = {"is_mouse_clicked", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_31is_mouse_clicked, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_30is_mouse_clicked};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_31is_mouse_clicked(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_button;
  int __pyx_v_repeat;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_mouse_clicked (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_button,&__pyx_n_s_repeat,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_button)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 515, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_repeat);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 515, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_mouse_clicked") < 0)) __PYX_ERR(1, 515, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_button = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 515, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_repeat = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_repeat == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 515, __pyx_L3_error)
    } else {
      __pyx_v_repeat = ((int)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("is_mouse_clicked", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 515, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_clicked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_30is_mouse_clicked(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_button, __pyx_v_repeat);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_30is_mouse_clicked(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, int __pyx_v_repeat) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_mouse_clicked", 1);

  /* "dearcygui/core.pyx":518
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":519
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 519, __pyx_L1_error)

    /* "dearcygui/core.pyx":518
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":520
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseClicked(button, repeat)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":521
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.IsMouseClicked(button, repeat)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":522
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseClicked(button, repeat)             # <<<<<<<<<<<<<<
 * 
 *     def is_mouse_double_clicked(self, int button):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsMouseClicked(__pyx_v_button, __pyx_v_repeat)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":515
 *         return imgui.IsMouseDown(button)
 * 
 *     def is_mouse_clicked(self, int button, bint repeat=False):             # <<<<<<<<<<<<<<
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_clicked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":524
 *         return imgui.IsMouseClicked(button, repeat)
 * 
 *     def is_mouse_double_clicked(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_33is_mouse_double_clicked(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_32is_mouse_double_clicked, "did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2.");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_33is_mouse_double_clicked = {"is_mouse_double_clicked", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_33is_mouse_double_clicked, METH_O, __pyx_doc_9dearcygui_4core_7Context_32is_mouse_double_clicked};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_33is_mouse_double_clicked(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_mouse_double_clicked (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 524, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_double_clicked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_32is_mouse_double_clicked(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_32is_mouse_double_clicked(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_mouse_double_clicked", 1);

  /* "dearcygui/core.pyx":527
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":528
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 528, __pyx_L1_error)

    /* "dearcygui/core.pyx":527
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":529
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDoubleClicked(button)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":530
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.IsMouseDoubleClicked(button)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":531
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDoubleClicked(button)             # <<<<<<<<<<<<<<
 * 
 *     def get_mouse_clicked_count(self, int button):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsMouseDoubleClicked(__pyx_v_button)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":524
 *         return imgui.IsMouseClicked(button, repeat)
 * 
 *     def is_mouse_double_clicked(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_double_clicked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":533
 *         return imgui.IsMouseDoubleClicked(button)
 * 
 *     def get_mouse_clicked_count(self, int button):             # <<<<<<<<<<<<<<
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_35get_mouse_clicked_count(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_34get_mouse_clicked_count, "how many times a mouse button is clicked in a row");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_35get_mouse_clicked_count = {"get_mouse_clicked_count", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_35get_mouse_clicked_count, METH_O, __pyx_doc_9dearcygui_4core_7Context_34get_mouse_clicked_count};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_35get_mouse_clicked_count(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_mouse_clicked_count (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 533, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.get_mouse_clicked_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_34get_mouse_clicked_count(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_34get_mouse_clicked_count(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_mouse_clicked_count", 1);

  /* "dearcygui/core.pyx":536
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":537
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 537, __pyx_L1_error)

    /* "dearcygui/core.pyx":536
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":538
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.GetMouseClickedCount(button)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":539
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.GetMouseClickedCount(button)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":540
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.GetMouseClickedCount(button)             # <<<<<<<<<<<<<<
 * 
 *     def is_mouse_released(self, int button):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_From_int(ImGui::GetMouseClickedCount(__pyx_v_button)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":533
 *         return imgui.IsMouseDoubleClicked(button)
 * 
 *     def get_mouse_clicked_count(self, int button):             # <<<<<<<<<<<<<<
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.get_mouse_clicked_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":542
 *         return imgui.GetMouseClickedCount(button)
 * 
 *     def is_mouse_released(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_37is_mouse_released(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_36is_mouse_released, "did mouse button released? (went from Down to !Down)");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_37is_mouse_released = {"is_mouse_released", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_37is_mouse_released, METH_O, __pyx_doc_9dearcygui_4core_7Context_36is_mouse_released};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_37is_mouse_released(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_mouse_released (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 542, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_released", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_36is_mouse_released(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_36is_mouse_released(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_mouse_released", 1);

  /* "dearcygui/core.pyx":545
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":546
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 546, __pyx_L1_error)

    /* "dearcygui/core.pyx":545
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":547
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseReleased(button)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":548
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.IsMouseReleased(button)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":549
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseReleased(button)             # <<<<<<<<<<<<<<
 * 
 *     def get_mouse_position(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsMouseReleased(__pyx_v_button)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":542
 *         return imgui.GetMouseClickedCount(button)
 * 
 *     def is_mouse_released(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_released", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":551
 *         return imgui.IsMouseReleased(button)
 * 
 *     def get_mouse_position(self):             # <<<<<<<<<<<<<<
 *         """Retrieves the mouse position (x, y). Raises KeyError if there is no mouse"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_39get_mouse_position(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_38get_mouse_position, "Retrieves the mouse position (x, y). Raises KeyError if there is no mouse");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_39get_mouse_position = {"get_mouse_position", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_39get_mouse_position, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_38get_mouse_position};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_39get_mouse_position(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_mouse_position (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_38get_mouse_position(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_38get_mouse_position(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_pos;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_mouse_position", 1);

  /* "dearcygui/core.pyx":554
 *         """Retrieves the mouse position (x, y). Raises KeyError if there is no mouse"""
 *         cdef unique_lock[recursive_mutex] m
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":555
 *         cdef unique_lock[recursive_mutex] m
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 *         if not(imgui.IsMousePosValid(&pos)):
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":556
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()             # <<<<<<<<<<<<<<
 *         if not(imgui.IsMousePosValid(&pos)):
 *             raise KeyError("Cannot get mouse position: no mouse found")
 */
  __pyx_v_pos = ImGui::GetMousePos();

  /* "dearcygui/core.pyx":557
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 *         if not(imgui.IsMousePosValid(&pos)):             # <<<<<<<<<<<<<<
 *             raise KeyError("Cannot get mouse position: no mouse found")
 *         return (pos.x, pos.y)
 */
  __pyx_t_1 = (!ImGui::IsMousePosValid((&__pyx_v_pos)));
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":558
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 *         if not(imgui.IsMousePosValid(&pos)):
 *             raise KeyError("Cannot get mouse position: no mouse found")             # <<<<<<<<<<<<<<
 *         return (pos.x, pos.y)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 558, __pyx_L1_error)

    /* "dearcygui/core.pyx":557
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 *         if not(imgui.IsMousePosValid(&pos)):             # <<<<<<<<<<<<<<
 *             raise KeyError("Cannot get mouse position: no mouse found")
 *         return (pos.x, pos.y)
 */
  }

  /* "dearcygui/core.pyx":559
 *         if not(imgui.IsMousePosValid(&pos)):
 *             raise KeyError("Cannot get mouse position: no mouse found")
 *         return (pos.x, pos.y)             # <<<<<<<<<<<<<<
 * 
 *     def is_mouse_dragging(self, int button, float lock_threshold=-1.):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pos.x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pos.y); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 559, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 559, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":551
 *         return imgui.IsMouseReleased(button)
 * 
 *     def get_mouse_position(self):             # <<<<<<<<<<<<<<
 *         """Retrieves the mouse position (x, y). Raises KeyError if there is no mouse"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Context.get_mouse_position", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":561
 *         return (pos.x, pos.y)
 * 
 *     def is_mouse_dragging(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_41is_mouse_dragging(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_40is_mouse_dragging, "is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_41is_mouse_dragging = {"is_mouse_dragging", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_41is_mouse_dragging, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_40is_mouse_dragging};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_41is_mouse_dragging(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_button;
  float __pyx_v_lock_threshold;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_mouse_dragging (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_button,&__pyx_n_s_lock_threshold,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_button)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 561, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lock_threshold);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 561, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_mouse_dragging") < 0)) __PYX_ERR(1, 561, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_button = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 561, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_lock_threshold = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_lock_threshold == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 561, __pyx_L3_error)
    } else {
      __pyx_v_lock_threshold = ((float)-1.);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("is_mouse_dragging", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 561, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_dragging", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_40is_mouse_dragging(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_button, __pyx_v_lock_threshold);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_40is_mouse_dragging(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, float __pyx_v_lock_threshold) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_mouse_dragging", 1);

  /* "dearcygui/core.pyx":564
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":565
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 565, __pyx_L1_error)

    /* "dearcygui/core.pyx":564
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":566
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDragging(button, lock_threshold)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":567
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.IsMouseDragging(button, lock_threshold)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":568
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.IsMouseDragging(button, lock_threshold)             # <<<<<<<<<<<<<<
 * 
 *     def get_mouse_drag_delta(self, int button, float lock_threshold=-1.):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(ImGui::IsMouseDragging(__pyx_v_button, __pyx_v_lock_threshold)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":561
 *         return (pos.x, pos.y)
 * 
 *     def is_mouse_dragging(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.is_mouse_dragging", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":570
 *         return imgui.IsMouseDragging(button, lock_threshold)
 * 
 *     def get_mouse_drag_delta(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """
 *         Return the delta (dx, dy) from the initial clicking position while the mouse button is pressed or was just released.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_43get_mouse_drag_delta(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_42get_mouse_drag_delta, "\n        Return the delta (dx, dy) from the initial clicking position while the mouse button is pressed or was just released.\n        \n        This is locked and return 0.0f until the mouse moves past a distance threshold at least once\n        (uses default distance if lock_threshold < 0.0f)");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_43get_mouse_drag_delta = {"get_mouse_drag_delta", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_43get_mouse_drag_delta, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_42get_mouse_drag_delta};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_43get_mouse_drag_delta(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_button;
  float __pyx_v_lock_threshold;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_mouse_drag_delta (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_button,&__pyx_n_s_lock_threshold,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_button)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 570, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lock_threshold);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 570, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_mouse_drag_delta") < 0)) __PYX_ERR(1, 570, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_button = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 570, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_lock_threshold = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_lock_threshold == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 570, __pyx_L3_error)
    } else {
      __pyx_v_lock_threshold = ((float)-1.);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_mouse_drag_delta", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 570, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Context.get_mouse_drag_delta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_42get_mouse_drag_delta(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), __pyx_v_button, __pyx_v_lock_threshold);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_42get_mouse_drag_delta(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button, float __pyx_v_lock_threshold) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_delta;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_mouse_drag_delta", 1);

  /* "dearcygui/core.pyx":577
 *         (uses default distance if lock_threshold < 0.0f)"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":578
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 578, __pyx_L1_error)

    /* "dearcygui/core.pyx":577
 *         (uses default distance if lock_threshold < 0.0f)"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":579
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 delta =  imgui.GetMouseDragDelta(button, lock_threshold)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":580
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 delta =  imgui.GetMouseDragDelta(button, lock_threshold)
 *         return (delta.x, delta.y)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":581
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 delta =  imgui.GetMouseDragDelta(button, lock_threshold)             # <<<<<<<<<<<<<<
 *         return (delta.x, delta.y)
 * 
 */
  __pyx_v_delta = ImGui::GetMouseDragDelta(__pyx_v_button, __pyx_v_lock_threshold);

  /* "dearcygui/core.pyx":582
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         cdef imgui.ImVec2 delta =  imgui.GetMouseDragDelta(button, lock_threshold)
 *         return (delta.x, delta.y)             # <<<<<<<<<<<<<<
 * 
 *     def reset_mouse_drag_delta(self, int button):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_delta.x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_delta.y); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(1, 582, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(1, 582, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":570
 *         return imgui.IsMouseDragging(button, lock_threshold)
 * 
 *     def get_mouse_drag_delta(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """
 *         Return the delta (dx, dy) from the initial clicking position while the mouse button is pressed or was just released.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Context.get_mouse_drag_delta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":584
 *         return (delta.x, delta.y)
 * 
 *     def reset_mouse_drag_delta(self, int button):             # <<<<<<<<<<<<<<
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_45reset_mouse_drag_delta(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Context_44reset_mouse_drag_delta, "Reset to 0 the drag delta for the target button");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_45reset_mouse_drag_delta = {"reset_mouse_drag_delta", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_45reset_mouse_drag_delta, METH_O, __pyx_doc_9dearcygui_4core_7Context_44reset_mouse_drag_delta};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_45reset_mouse_drag_delta(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("reset_mouse_drag_delta (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 584, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.reset_mouse_drag_delta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_44reset_mouse_drag_delta(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_44reset_mouse_drag_delta(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("reset_mouse_drag_delta", 1);

  /* "dearcygui/core.pyx":587
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":588
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 588, __pyx_L1_error)

    /* "dearcygui/core.pyx":587
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":589
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.ResetMouseDragDelta(button)
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":590
 *             raise ValueError("Invalid button")
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return imgui.ResetMouseDragDelta(button)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":591
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return imgui.ResetMouseDragDelta(button)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_void_to_None(ImGui::ResetMouseDragDelta(__pyx_v_button)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":584
 *         return (delta.x, delta.y)
 * 
 *     def reset_mouse_drag_delta(self, int button):             # <<<<<<<<<<<<<<
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.reset_mouse_drag_delta", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":593
 *         return imgui.ResetMouseDragDelta(button)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def running(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_7running_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Context_7running_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_7running___get__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_7running___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":596
 *     def running(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.started
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":597
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.started             # <<<<<<<<<<<<<<
 * 
 *     @running.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->started); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":593
 *         return imgui.ResetMouseDragDelta(button)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def running(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Context.running.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":599
 *         return self.started
 * 
 *     @running.setter             # <<<<<<<<<<<<<<
 *     def running(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Context_7running_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Context_7running_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 600, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.running.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_7running_2__set__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Context_7running_2__set__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":602
 *     def running(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.started = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":603
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.started = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->started = __pyx_v_value;

  /* "dearcygui/core.pyx":599
 *         return self.started
 * 
 *     @running.setter             # <<<<<<<<<<<<<<
 *     def running(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":605
 *         self.started = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clipboard(self):
 *         """Writable attribute: content of the clipboard"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_9clipboard_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Context_9clipboard_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_9clipboard___get__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_9clipboard___get__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":609
 *         """Writable attribute: content of the clipboard"""
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):             # <<<<<<<<<<<<<<
 *             return ""
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_1 = (!__pyx_v_self->_viewport->initialized);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":610
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):
 *             return ""             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u_);
    __pyx_r = __pyx_kp_u_;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":609
 *         """Writable attribute: content of the clipboard"""
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):             # <<<<<<<<<<<<<<
 *             return ""
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":611
 *         if not(self._viewport.initialized):
 *             return ""
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return str(imgui.GetClipboardText())
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":612
 *             return ""
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         return str(imgui.GetClipboardText())
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":613
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         return str(imgui.GetClipboardText())             # <<<<<<<<<<<<<<
 * 
 *     @clipboard.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(ImGui::GetClipboardText()); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":605
 *         self.started = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clipboard(self):
 *         """Writable attribute: content of the clipboard"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Context.clipboard.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":615
 *         return str(imgui.GetClipboardText())
 * 
 *     @clipboard.setter             # <<<<<<<<<<<<<<
 *     def clipboard(self, str value):
 *         cdef string value_str = bytes(value, 'utf-8')
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Context_9clipboard_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Context_9clipboard_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 616, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_9clipboard_2__set__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Context_9clipboard_2__set__(struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, PyObject *__pyx_v_value) {
  std::string __pyx_v_value_str;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":617
 *     @clipboard.setter
 *     def clipboard(self, str value):
 *         cdef string value_str = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 617, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 617, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_value_str = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":619
 *         cdef string value_str = bytes(value, 'utf-8')
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):             # <<<<<<<<<<<<<<
 *             return
 *         ensure_correct_imgui_context(self)
 */
  __pyx_t_4 = (!__pyx_v_self->_viewport->initialized);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":620
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):
 *             return             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":619
 *         cdef string value_str = bytes(value, 'utf-8')
 *         cdef unique_lock[recursive_mutex] m
 *         if not(self._viewport.initialized):             # <<<<<<<<<<<<<<
 *             return
 *         ensure_correct_imgui_context(self)
 */
  }

  /* "dearcygui/core.pyx":621
 *         if not(self._viewport.initialized):
 *             return
 *         ensure_correct_imgui_context(self)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         imgui.SetClipboardText(value_str.c_str())
 */
  __pyx_f_9dearcygui_4core_ensure_correct_imgui_context(__pyx_v_self);

  /* "dearcygui/core.pyx":622
 *             return
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)             # <<<<<<<<<<<<<<
 *         imgui.SetClipboardText(value_str.c_str())
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->imgui_mutex);

  /* "dearcygui/core.pyx":623
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 *         imgui.SetClipboardText(value_str.c_str())             # <<<<<<<<<<<<<<
 * 
 * '''
 */
  ImGui::SetClipboardText(__pyx_v_value_str.c_str());

  /* "dearcygui/core.pyx":615
 *         return str(imgui.GetClipboardText())
 * 
 *     @clipboard.setter             # <<<<<<<<<<<<<<
 *     def clipboard(self, str value):
 *         cdef string value_str = bytes(value, 'utf-8')
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Context.clipboard.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_47__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_47__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_47__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_47__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_46__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_46__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Context_49__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Context_49__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_49__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Context_49__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Context_48__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Context_48__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Context.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":841
 *     not be deleted by the garbage collector.
 *     """
 *     def __init__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.configure(*args, **kwargs)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 841, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 841, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 841, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.baseItem.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem___init__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem___init__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":842
 *     """
 *     def __init__(self, context, *args, **kwargs):
 *         self.configure(*args, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *     def __cinit__(self, context, *args, **kwargs):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_configure); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":841
 *     not be deleted by the garbage collector.
 *     """
 *     def __init__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.configure(*args, **kwargs)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":844
 *         self.configure(*args, **kwargs)
 * 
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if not(isinstance(context, Context)):
 *             raise ValueError("Provided context is not a valid Context instance")
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_context = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 844, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 844, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 844, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.baseItem.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_2__cinit__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_2__cinit__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":845
 * 
 *     def __cinit__(self, context, *args, **kwargs):
 *         if not(isinstance(context, Context)):             # <<<<<<<<<<<<<<
 *             raise ValueError("Provided context is not a valid Context instance")
 *         self.context = context
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_context, __pyx_ptype_9dearcygui_4core_Context); 
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":846
 *     def __cinit__(self, context, *args, **kwargs):
 *         if not(isinstance(context, Context)):
 *             raise ValueError("Provided context is not a valid Context instance")             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self.external_lock = False
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 846, __pyx_L1_error)

    /* "dearcygui/core.pyx":845
 * 
 *     def __cinit__(self, context, *args, **kwargs):
 *         if not(isinstance(context, Context)):             # <<<<<<<<<<<<<<
 *             raise ValueError("Provided context is not a valid Context instance")
 *         self.context = context
 */
  }

  /* "dearcygui/core.pyx":847
 *         if not(isinstance(context, Context)):
 *             raise ValueError("Provided context is not a valid Context instance")
 *         self.context = context             # <<<<<<<<<<<<<<
 *         self.external_lock = False
 *         self.uuid = self.context.next_uuid.fetch_add(1)
 */
  if (!(likely(((__pyx_v_context) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_context, __pyx_ptype_9dearcygui_4core_Context))))) __PYX_ERR(1, 847, __pyx_L1_error)
  __pyx_t_3 = __pyx_v_context;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->context);
  __Pyx_DECREF((PyObject *)__pyx_v_self->context);
  __pyx_v_self->context = ((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":848
 *             raise ValueError("Provided context is not a valid Context instance")
 *         self.context = context
 *         self.external_lock = False             # <<<<<<<<<<<<<<
 *         self.uuid = self.context.next_uuid.fetch_add(1)
 *         self.context.register_item(self, self.uuid)
 */
  __pyx_v_self->external_lock = 0;

  /* "dearcygui/core.pyx":849
 *         self.context = context
 *         self.external_lock = False
 *         self.uuid = self.context.next_uuid.fetch_add(1)             # <<<<<<<<<<<<<<
 *         self.context.register_item(self, self.uuid)
 *         self.can_have_widget_child = False
 */
  __pyx_v_self->uuid = __pyx_v_self->context->next_uuid.fetch_add(1);

  /* "dearcygui/core.pyx":850
 *         self.external_lock = False
 *         self.uuid = self.context.next_uuid.fetch_add(1)
 *         self.context.register_item(self, self.uuid)             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = False
 *         self.can_have_drawing_child = False
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->register_item(__pyx_v_self->context, __pyx_v_self, __pyx_v_self->uuid); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 850, __pyx_L1_error)

  /* "dearcygui/core.pyx":851
 *         self.uuid = self.context.next_uuid.fetch_add(1)
 *         self.context.register_item(self, self.uuid)
 *         self.can_have_widget_child = False             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = False
 *         self.can_have_payload_child = False
 */
  __pyx_v_self->can_have_widget_child = 0;

  /* "dearcygui/core.pyx":852
 *         self.context.register_item(self, self.uuid)
 *         self.can_have_widget_child = False
 *         self.can_have_drawing_child = False             # <<<<<<<<<<<<<<
 *         self.can_have_payload_child = False
 *         self.can_have_sibling = False
 */
  __pyx_v_self->can_have_drawing_child = 0;

  /* "dearcygui/core.pyx":853
 *         self.can_have_widget_child = False
 *         self.can_have_drawing_child = False
 *         self.can_have_payload_child = False             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = False
 *         self.element_child_category = -1
 */
  __pyx_v_self->can_have_payload_child = 0;

  /* "dearcygui/core.pyx":854
 *         self.can_have_drawing_child = False
 *         self.can_have_payload_child = False
 *         self.can_have_sibling = False             # <<<<<<<<<<<<<<
 *         self.element_child_category = -1
 * 
 */
  __pyx_v_self->can_have_sibling = 0;

  /* "dearcygui/core.pyx":855
 *         self.can_have_payload_child = False
 *         self.can_have_sibling = False
 *         self.element_child_category = -1             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, **kwargs):
 */
  __pyx_v_self->element_child_category = -1;

  /* "dearcygui/core.pyx":844
 *         self.configure(*args, **kwargs)
 * 
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if not(isinstance(context, Context)):
 *             raise ValueError("Provided context is not a valid Context instance")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.baseItem.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":857
 *         self.element_child_category = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_5configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_5configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_5configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_5configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_4configure(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_4configure(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_should_attach = 0;
  int __pyx_v_ignore_if_fail;
  PyObject *__pyx_v_before = 0;
  PyObject *__pyx_v_parent = 0;
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_v_remaining = 0;
  PyObject *__pyx_v_key = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  Py_ssize_t __pyx_t_18;
  Py_ssize_t __pyx_t_19;
  int __pyx_t_20;
  PyObject *__pyx_t_21 = NULL;
  int __pyx_t_22;
  char const *__pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":859
 *     def configure(self, **kwargs):
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)             # <<<<<<<<<<<<<<
 *         cdef bint ignore_if_fail = False
 *         if should_attach is None:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_should_attach = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":860
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)
 *         cdef bint ignore_if_fail = False             # <<<<<<<<<<<<<<
 *         if should_attach is None:
 *             # None: default to False for items which
 */
  __pyx_v_ignore_if_fail = 0;

  /* "dearcygui/core.pyx":861
 *         should_attach = kwargs.pop("attach", None)
 *         cdef bint ignore_if_fail = False
 *         if should_attach is None:             # <<<<<<<<<<<<<<
 *             # None: default to False for items which
 *             # cannot be attached, True else
 */
  __pyx_t_3 = (__pyx_v_should_attach == Py_None);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":864
 *             # None: default to False for items which
 *             # cannot be attached, True else
 *             if self.element_child_category == -1:             # <<<<<<<<<<<<<<
 *                 should_attach = False
 *             else:
 */
    __pyx_t_3 = (__pyx_v_self->element_child_category == -1L);
    if (__pyx_t_3) {

      /* "dearcygui/core.pyx":865
 *             # cannot be attached, True else
 *             if self.element_child_category == -1:
 *                 should_attach = False             # <<<<<<<<<<<<<<
 *             else:
 *                 should_attach = True
 */
      __Pyx_INCREF(Py_False);
      __Pyx_DECREF_SET(__pyx_v_should_attach, Py_False);

      /* "dearcygui/core.pyx":864
 *             # None: default to False for items which
 *             # cannot be attached, True else
 *             if self.element_child_category == -1:             # <<<<<<<<<<<<<<
 *                 should_attach = False
 *             else:
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":867
 *                 should_attach = False
 *             else:
 *                 should_attach = True             # <<<<<<<<<<<<<<
 *                 # To avoid failing on items which cannot
 *                 # be attached to the rendering tree but
 */
    /*else*/ {
      __Pyx_INCREF(Py_True);
      __Pyx_DECREF_SET(__pyx_v_should_attach, Py_True);

      /* "dearcygui/core.pyx":871
 *                 # be attached to the rendering tree but
 *                 # can be attached to other items
 *                 ignore_if_fail = True             # <<<<<<<<<<<<<<
 *         if self._parent is None and should_attach:
 *             before = kwargs.pop("before", None)
 */
      __pyx_v_ignore_if_fail = 1;
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":861
 *         should_attach = kwargs.pop("attach", None)
 *         cdef bint ignore_if_fail = False
 *         if should_attach is None:             # <<<<<<<<<<<<<<
 *             # None: default to False for items which
 *             # cannot be attached, True else
 */
  }

  /* "dearcygui/core.pyx":872
 *                 # can be attached to other items
 *                 ignore_if_fail = True
 *         if self._parent is None and should_attach:             # <<<<<<<<<<<<<<
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)
 */
  __pyx_t_4 = (((PyObject *)__pyx_v_self->_parent) == Py_None);
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_should_attach); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 872, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_4;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":873
 *                 ignore_if_fail = True
 *         if self._parent is None and should_attach:
 *             before = kwargs.pop("before", None)             # <<<<<<<<<<<<<<
 *             parent = kwargs.pop("parent", None)
 *             if before is not None:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_before = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":874
 *         if self._parent is None and should_attach:
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)             # <<<<<<<<<<<<<<
 *             if before is not None:
 *                 # parent manually set. Do not ignore failure
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_parent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":875
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)
 *             if before is not None:             # <<<<<<<<<<<<<<
 *                 # parent manually set. Do not ignore failure
 *                 ignore_if_fail = False
 */
    __pyx_t_3 = (__pyx_v_before != Py_None);
    if (__pyx_t_3) {

      /* "dearcygui/core.pyx":877
 *             if before is not None:
 *                 # parent manually set. Do not ignore failure
 *                 ignore_if_fail = False             # <<<<<<<<<<<<<<
 *                 self.attach_before(before)
 *             else:
 */
      __pyx_v_ignore_if_fail = 0;

      /* "dearcygui/core.pyx":878
 *                 # parent manually set. Do not ignore failure
 *                 ignore_if_fail = False
 *                 self.attach_before(before)             # <<<<<<<<<<<<<<
 *             else:
 *                 if parent is None:
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_before(__pyx_v_self, __pyx_v_before, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 878, __pyx_L1_error)

      /* "dearcygui/core.pyx":875
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)
 *             if before is not None:             # <<<<<<<<<<<<<<
 *                 # parent manually set. Do not ignore failure
 *                 ignore_if_fail = False
 */
      goto __pyx_L8;
    }

    /* "dearcygui/core.pyx":880
 *                 self.attach_before(before)
 *             else:
 *                 if parent is None:             # <<<<<<<<<<<<<<
 *                     parent = self.context.fetch_parent_queue_back()
 *                     if parent is None:
 */
    /*else*/ {
      __pyx_t_3 = (__pyx_v_parent == Py_None);
      if (__pyx_t_3) {

        /* "dearcygui/core.pyx":881
 *             else:
 *                 if parent is None:
 *                     parent = self.context.fetch_parent_queue_back()             # <<<<<<<<<<<<<<
 *                     if parent is None:
 *                         parent = self.context._viewport
 */
        __pyx_t_2 = ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->fetch_parent_queue_back(__pyx_v_self->context, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 881, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF_SET(__pyx_v_parent, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "dearcygui/core.pyx":882
 *                 if parent is None:
 *                     parent = self.context.fetch_parent_queue_back()
 *                     if parent is None:             # <<<<<<<<<<<<<<
 *                         parent = self.context._viewport
 *                 else:
 */
        __pyx_t_3 = (__pyx_v_parent == Py_None);
        if (__pyx_t_3) {

          /* "dearcygui/core.pyx":883
 *                     parent = self.context.fetch_parent_queue_back()
 *                     if parent is None:
 *                         parent = self.context._viewport             # <<<<<<<<<<<<<<
 *                 else:
 *                     # parent manually set. Do not ignore failure
 */
          __pyx_t_2 = ((PyObject *)__pyx_v_self->context->_viewport);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_DECREF_SET(__pyx_v_parent, __pyx_t_2);
          __pyx_t_2 = 0;

          /* "dearcygui/core.pyx":882
 *                 if parent is None:
 *                     parent = self.context.fetch_parent_queue_back()
 *                     if parent is None:             # <<<<<<<<<<<<<<
 *                         parent = self.context._viewport
 *                 else:
 */
        }

        /* "dearcygui/core.pyx":880
 *                 self.attach_before(before)
 *             else:
 *                 if parent is None:             # <<<<<<<<<<<<<<
 *                     parent = self.context.fetch_parent_queue_back()
 *                     if parent is None:
 */
        goto __pyx_L9;
      }

      /* "dearcygui/core.pyx":886
 *                 else:
 *                     # parent manually set. Do not ignore failure
 *                     ignore_if_fail = False             # <<<<<<<<<<<<<<
 *                 try:
 *                     if parent is not None:
 */
      /*else*/ {
        __pyx_v_ignore_if_fail = 0;
      }
      __pyx_L9:;

      /* "dearcygui/core.pyx":887
 *                     # parent manually set. Do not ignore failure
 *                     ignore_if_fail = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)
 */
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_5);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        /*try:*/ {

          /* "dearcygui/core.pyx":888
 *                     ignore_if_fail = False
 *                 try:
 *                     if parent is not None:             # <<<<<<<<<<<<<<
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:
 */
          __pyx_t_3 = (__pyx_v_parent != Py_None);
          if (__pyx_t_3) {

            /* "dearcygui/core.pyx":889
 *                 try:
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)             # <<<<<<<<<<<<<<
 *                 except TypeError as e:
 *                     if not(ignore_if_fail):
 */
            ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_to_parent(__pyx_v_self, __pyx_v_parent, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 889, __pyx_L11_error)

            /* "dearcygui/core.pyx":888
 *                     ignore_if_fail = False
 *                 try:
 *                     if parent is not None:             # <<<<<<<<<<<<<<
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:
 */
          }

          /* "dearcygui/core.pyx":887
 *                     # parent manually set. Do not ignore failure
 *                     ignore_if_fail = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)
 */
        }
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L16_try_end;
        __pyx_L11_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "dearcygui/core.pyx":890
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:             # <<<<<<<<<<<<<<
 *                     if not(ignore_if_fail):
 *                         raise(e)
 */
        __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
        if (__pyx_t_8) {
          __Pyx_AddTraceback("dearcygui.core.baseItem.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(1, 890, __pyx_L13_except_error)
          __Pyx_XGOTREF(__pyx_t_2);
          __Pyx_XGOTREF(__pyx_t_1);
          __Pyx_XGOTREF(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_1);
          __pyx_v_e = __pyx_t_1;
          /*try:*/ {

            /* "dearcygui/core.pyx":891
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:
 *                     if not(ignore_if_fail):             # <<<<<<<<<<<<<<
 *                         raise(e)
 *         else:
 */
            __pyx_t_3 = (!__pyx_v_ignore_if_fail);
            if (unlikely(__pyx_t_3)) {

              /* "dearcygui/core.pyx":892
 *                 except TypeError as e:
 *                     if not(ignore_if_fail):
 *                         raise(e)             # <<<<<<<<<<<<<<
 *         else:
 *             if "before" in kwargs:
 */
              __Pyx_Raise(__pyx_v_e, 0, 0, 0);
              __PYX_ERR(1, 892, __pyx_L23_error)

              /* "dearcygui/core.pyx":891
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:
 *                     if not(ignore_if_fail):             # <<<<<<<<<<<<<<
 *                         raise(e)
 *         else:
 */
            }
          }

          /* "dearcygui/core.pyx":890
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)
 *                 except TypeError as e:             # <<<<<<<<<<<<<<
 *                     if not(ignore_if_fail):
 *                         raise(e)
 */
          /*finally:*/ {
            /*normal exit:*/{
              __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
              goto __pyx_L24;
            }
            __pyx_L23_error:;
            /*exception exit:*/{
              __Pyx_PyThreadState_declare
              __Pyx_PyThreadState_assign
              __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0;
              if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
              if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14) < 0)) __Pyx_ErrFetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
              __Pyx_XGOTREF(__pyx_t_12);
              __Pyx_XGOTREF(__pyx_t_13);
              __Pyx_XGOTREF(__pyx_t_14);
              __Pyx_XGOTREF(__pyx_t_15);
              __Pyx_XGOTREF(__pyx_t_16);
              __Pyx_XGOTREF(__pyx_t_17);
              __pyx_t_8 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
              {
                __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
              }
              if (PY_MAJOR_VERSION >= 3) {
                __Pyx_XGIVEREF(__pyx_t_15);
                __Pyx_XGIVEREF(__pyx_t_16);
                __Pyx_XGIVEREF(__pyx_t_17);
                __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17);
              }
              __Pyx_XGIVEREF(__pyx_t_12);
              __Pyx_XGIVEREF(__pyx_t_13);
              __Pyx_XGIVEREF(__pyx_t_14);
              __Pyx_ErrRestore(__pyx_t_12, __pyx_t_13, __pyx_t_14);
              __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0;
              __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
              goto __pyx_L13_except_error;
            }
            __pyx_L24:;
          }
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          goto __pyx_L12_exception_handled;
        }
        goto __pyx_L13_except_error;

        /* "dearcygui/core.pyx":887
 *                     # parent manually set. Do not ignore failure
 *                     ignore_if_fail = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     if parent is not None:
 *                         self.attach_to_parent(parent)
 */
        __pyx_L13_except_error:;
        __Pyx_XGIVEREF(__pyx_t_5);
        __Pyx_XGIVEREF(__pyx_t_6);
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
        goto __pyx_L1_error;
        __pyx_L12_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_5);
        __Pyx_XGIVEREF(__pyx_t_6);
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
        __pyx_L16_try_end:;
      }
    }
    __pyx_L8:;

    /* "dearcygui/core.pyx":872
 *                 # can be attached to other items
 *                 ignore_if_fail = True
 *         if self._parent is None and should_attach:             # <<<<<<<<<<<<<<
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":894
 *                         raise(e)
 *         else:
 *             if "before" in kwargs:             # <<<<<<<<<<<<<<
 *                 del kwargs["before"]
 *             if "parent" in kwargs:
 */
  /*else*/ {
    __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_before, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 894, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "dearcygui/core.pyx":895
 *         else:
 *             if "before" in kwargs:
 *                 del kwargs["before"]             # <<<<<<<<<<<<<<
 *             if "parent" in kwargs:
 *                 del kwargs["parent"]
 */
      if (unlikely((PyObject_DelItem(__pyx_v_kwargs, __pyx_n_u_before) < 0))) __PYX_ERR(1, 895, __pyx_L1_error)

      /* "dearcygui/core.pyx":894
 *                         raise(e)
 *         else:
 *             if "before" in kwargs:             # <<<<<<<<<<<<<<
 *                 del kwargs["before"]
 *             if "parent" in kwargs:
 */
    }

    /* "dearcygui/core.pyx":896
 *             if "before" in kwargs:
 *                 del kwargs["before"]
 *             if "parent" in kwargs:             # <<<<<<<<<<<<<<
 *                 del kwargs["parent"]
 *         remaining = {}
 */
    __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_parent, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 896, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "dearcygui/core.pyx":897
 *                 del kwargs["before"]
 *             if "parent" in kwargs:
 *                 del kwargs["parent"]             # <<<<<<<<<<<<<<
 *         remaining = {}
 *         for (key, value) in kwargs.items():
 */
      if (unlikely((PyObject_DelItem(__pyx_v_kwargs, __pyx_n_u_parent) < 0))) __PYX_ERR(1, 897, __pyx_L1_error)

      /* "dearcygui/core.pyx":896
 *             if "before" in kwargs:
 *                 del kwargs["before"]
 *             if "parent" in kwargs:             # <<<<<<<<<<<<<<
 *                 del kwargs["parent"]
 *         remaining = {}
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":898
 *             if "parent" in kwargs:
 *                 del kwargs["parent"]
 *         remaining = {}             # <<<<<<<<<<<<<<
 *         for (key, value) in kwargs.items():
 *             try:
 */
  __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_v_remaining = __pyx_t_9;
  __pyx_t_9 = 0;

  /* "dearcygui/core.pyx":899
 *                 del kwargs["parent"]
 *         remaining = {}
 *         for (key, value) in kwargs.items():             # <<<<<<<<<<<<<<
 *             try:
 *                 setattr(self, key, value)
 */
  __pyx_t_18 = 0;
  __pyx_t_1 = __Pyx_dict_iterator(__pyx_v_kwargs, 0, __pyx_n_s_items, (&__pyx_t_19), (&__pyx_t_10)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __pyx_t_9 = __pyx_t_1;
  __pyx_t_1 = 0;
  while (1) {
    __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_9, __pyx_t_19, &__pyx_t_18, &__pyx_t_1, &__pyx_t_2, NULL, __pyx_t_10);
    if (unlikely(__pyx_t_8 == 0)) break;
    if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(1, 899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1);
    __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":900
 *         remaining = {}
 *         for (key, value) in kwargs.items():
 *             try:             # <<<<<<<<<<<<<<
 *                 setattr(self, key, value)
 *             except AttributeError as e:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "dearcygui/core.pyx":901
 *         for (key, value) in kwargs.items():
 *             try:
 *                 setattr(self, key, value)             # <<<<<<<<<<<<<<
 *             except AttributeError as e:
 *                 remaining[key] = value
 */
        __pyx_t_20 = PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(1, 901, __pyx_L34_error)

        /* "dearcygui/core.pyx":900
 *         remaining = {}
 *         for (key, value) in kwargs.items():
 *             try:             # <<<<<<<<<<<<<<
 *                 setattr(self, key, value)
 *             except AttributeError as e:
 */
      }
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L41_try_end;
      __pyx_L34_error:;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":902
 *             try:
 *                 setattr(self, key, value)
 *             except AttributeError as e:             # <<<<<<<<<<<<<<
 *                 remaining[key] = value
 *         if len(remaining) > 0:
 */
      __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
      if (__pyx_t_8) {
        __Pyx_AddTraceback("dearcygui.core.baseItem.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_21) < 0) __PYX_ERR(1, 902, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_1);
        __Pyx_XGOTREF(__pyx_t_21);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_v_e = __pyx_t_1;
        /*try:*/ {

          /* "dearcygui/core.pyx":903
 *                 setattr(self, key, value)
 *             except AttributeError as e:
 *                 remaining[key] = value             # <<<<<<<<<<<<<<
 *         if len(remaining) > 0:
 *             print("Unused configure parameters: ", remaining)
 */
          if (unlikely((PyObject_SetItem(__pyx_v_remaining, __pyx_v_key, __pyx_v_value) < 0))) __PYX_ERR(1, 903, __pyx_L47_error)
        }

        /* "dearcygui/core.pyx":902
 *             try:
 *                 setattr(self, key, value)
 *             except AttributeError as e:             # <<<<<<<<<<<<<<
 *                 remaining[key] = value
 *         if len(remaining) > 0:
 */
        /*finally:*/ {
          /*normal exit:*/{
            __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
            goto __pyx_L48;
          }
          __pyx_L47_error:;
          /*exception exit:*/{
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0;
            if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12);
            if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_17);
            __Pyx_XGOTREF(__pyx_t_16);
            __Pyx_XGOTREF(__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_13);
            __Pyx_XGOTREF(__pyx_t_12);
            __pyx_t_8 = __pyx_lineno; __pyx_t_22 = __pyx_clineno; __pyx_t_23 = __pyx_filename;
            {
              __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
            }
            if (PY_MAJOR_VERSION >= 3) {
              __Pyx_XGIVEREF(__pyx_t_14);
              __Pyx_XGIVEREF(__pyx_t_13);
              __Pyx_XGIVEREF(__pyx_t_12);
              __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12);
            }
            __Pyx_XGIVEREF(__pyx_t_17);
            __Pyx_XGIVEREF(__pyx_t_16);
            __Pyx_XGIVEREF(__pyx_t_15);
            __Pyx_ErrRestore(__pyx_t_17, __pyx_t_16, __pyx_t_15);
            __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0;
            __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_22; __pyx_filename = __pyx_t_23;
            goto __pyx_L36_except_error;
          }
          __pyx_L48:;
        }
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
        goto __pyx_L35_exception_handled;
      }
      goto __pyx_L36_except_error;

      /* "dearcygui/core.pyx":900
 *         remaining = {}
 *         for (key, value) in kwargs.items():
 *             try:             # <<<<<<<<<<<<<<
 *                 setattr(self, key, value)
 *             except AttributeError as e:
 */
      __pyx_L36_except_error:;
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L35_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_L41_try_end:;
    }
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "dearcygui/core.pyx":904
 *             except AttributeError as e:
 *                 remaining[key] = value
 *         if len(remaining) > 0:             # <<<<<<<<<<<<<<
 *             print("Unused configure parameters: ", remaining)
 *         return
 */
  __pyx_t_19 = PyObject_Length(__pyx_v_remaining); if (unlikely(__pyx_t_19 == ((Py_ssize_t)-1))) __PYX_ERR(1, 904, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_19 > 0);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":905
 *                 remaining[key] = value
 *         if len(remaining) > 0:
 *             print("Unused configure parameters: ", remaining)             # <<<<<<<<<<<<<<
 *         return
 * 
 */
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_INCREF(__pyx_kp_u_Unused_configure_parameters);
    __Pyx_GIVEREF(__pyx_kp_u_Unused_configure_parameters);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Unused_configure_parameters)) __PYX_ERR(1, 905, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_remaining);
    __Pyx_GIVEREF(__pyx_v_remaining);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_remaining)) __PYX_ERR(1, 905, __pyx_L1_error);
    __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_9, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

    /* "dearcygui/core.pyx":904
 *             except AttributeError as e:
 *                 remaining[key] = value
 *         if len(remaining) > 0:             # <<<<<<<<<<<<<<
 *             print("Unused configure parameters: ", remaining)
 *         return
 */
  }

  /* "dearcygui/core.pyx":906
 *         if len(remaining) > 0:
 *             print("Unused configure parameters: ", remaining)
 *         return             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":857
 *         self.element_child_category = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_AddTraceback("dearcygui.core.baseItem.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_should_attach);
  __Pyx_XDECREF(__pyx_v_before);
  __Pyx_XDECREF(__pyx_v_parent);
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XDECREF(__pyx_v_remaining);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":908
 *         return
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         clear_obj_vector(self._handlers)
 * 
 */

/* Python wrapper */
static void __pyx_pw_9dearcygui_4core_8baseItem_7__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9dearcygui_4core_8baseItem_7__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9dearcygui_4core_8baseItem_6__dealloc__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9dearcygui_4core_8baseItem_6__dealloc__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":909
 * 
 *     def __dealloc__(self):
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->_handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 909, __pyx_L1_error)

  /* "dearcygui/core.pyx":908
 *         return
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         clear_obj_vector(self._handlers)
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("dearcygui.core.baseItem.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
}

/* "dearcygui/core.pyx":911
 *         clear_obj_vector(self._handlers)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def context(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_7context_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_7context_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_7context___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_7context___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":916
 *         Read-only attribute: Context in which the item resides
 *         """
 *         return self.context             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->context);
  __pyx_r = ((PyObject *)__pyx_v_self->context);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":911
 *         clear_obj_vector(self._handlers)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def context(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":918
 *         return self.context
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def user_data(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_9user_data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_9user_data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_9user_data___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_9user_data___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":924
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._user_data
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":925
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._user_data             # <<<<<<<<<<<<<<
 * 
 *     @user_data.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_user_data);
  __pyx_r = __pyx_v_self->_user_data;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":918
 *         return self.context
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def user_data(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":927
 *         return self._user_data
 * 
 *     @user_data.setter             # <<<<<<<<<<<<<<
 *     def user_data(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_9user_data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_9user_data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_9user_data_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_9user_data_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":930
 *     def user_data(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._user_data = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":931
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._user_data = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->_user_data);
  __Pyx_DECREF(__pyx_v_self->_user_data);
  __pyx_v_self->_user_data = __pyx_v_value;

  /* "dearcygui/core.pyx":927
 *         return self._user_data
 * 
 *     @user_data.setter             # <<<<<<<<<<<<<<
 *     def user_data(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":933
 *         self._user_data = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def uuid(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_4uuid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_4uuid_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_4uuid___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_4uuid___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":943
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return int(self.uuid)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":944
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return int(self.uuid)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyInt_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":933
 *         self._user_data = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def uuid(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.baseItem.uuid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":946
 *         return int(self.uuid)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def tag(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_3tag_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_3tag_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_3tag___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_3tag___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":959
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.context.get_registered_item_from_uuid(self.uuid) # TODO
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":960
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.context.get_registered_item_from_uuid(self.uuid) # TODO             # <<<<<<<<<<<<<<
 * 
 *     @tag.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->get_registered_item_from_uuid(__pyx_v_self->context, __pyx_v_self->uuid)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":946
 *         return int(self.uuid)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def tag(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.tag.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":962
 *         return self.context.get_registered_item_from_uuid(self.uuid) # TODO
 * 
 *     @tag.setter             # <<<<<<<<<<<<<<
 *     def tag(self, str tag):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_3tag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tag); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_3tag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tag) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tag), (&PyUnicode_Type), 1, "tag", 1))) __PYX_ERR(1, 963, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_3tag_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject*)__pyx_v_tag));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_3tag_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_tag) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":965
 *     def tag(self, str tag):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.context.update_registered_item_tag(self, self.uuid, tag)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":966
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.context.update_registered_item_tag(self, self.uuid, tag)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->update_registered_item_tag(__pyx_v_self->context, __pyx_v_self, __pyx_v_self->uuid, __pyx_v_tag); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 966, __pyx_L1_error)

  /* "dearcygui/core.pyx":962
 *         return self.context.get_registered_item_from_uuid(self.uuid) # TODO
 * 
 *     @tag.setter             # <<<<<<<<<<<<<<
 *     def tag(self, str tag):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.tag.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":968
 *         self.context.update_registered_item_tag(self, self.uuid, tag)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def parent(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_6parent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_6parent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_6parent___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_6parent___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1003
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._parent
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1004
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._parent             # <<<<<<<<<<<<<<
 * 
 *     @parent.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_parent);
  __pyx_r = ((PyObject *)__pyx_v_self->_parent);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":968
 *         self.context.update_registered_item_tag(self, self.uuid, tag)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def parent(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1006
 *         return self._parent
 * 
 *     @parent.setter             # <<<<<<<<<<<<<<
 *     def parent(self, value):
 *         # It is important to not lock the mutex before the call
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_6parent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_6parent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_6parent_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_6parent_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":1009
 *     def parent(self, value):
 *         # It is important to not lock the mutex before the call
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.detach_item()
 *             return
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1010
 *         # It is important to not lock the mutex before the call
 *         if value is None:
 *             self.detach_item()             # <<<<<<<<<<<<<<
 *             return
 *         self.attach_to_parent(value)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->detach_item(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1010, __pyx_L1_error)

    /* "dearcygui/core.pyx":1011
 *         if value is None:
 *             self.detach_item()
 *             return             # <<<<<<<<<<<<<<
 *         self.attach_to_parent(value)
 * 
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1009
 *     def parent(self, value):
 *         # It is important to not lock the mutex before the call
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.detach_item()
 *             return
 */
  }

  /* "dearcygui/core.pyx":1012
 *             self.detach_item()
 *             return
 *         self.attach_to_parent(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_to_parent(__pyx_v_self, __pyx_v_value, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1012, __pyx_L1_error)

  /* "dearcygui/core.pyx":1006
 *         return self._parent
 * 
 *     @parent.setter             # <<<<<<<<<<<<<<
 *     def parent(self, value):
 *         # It is important to not lock the mutex before the call
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.parent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":1014
 *         self.attach_to_parent(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def previous_sibling(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1032
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._prev_sibling
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1033
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._prev_sibling             # <<<<<<<<<<<<<<
 * 
 *     @previous_sibling.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_prev_sibling);
  __pyx_r = ((PyObject *)__pyx_v_self->_prev_sibling);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1014
 *         self.attach_to_parent(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def previous_sibling(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1035
 *         return self._prev_sibling
 * 
 *     @previous_sibling.setter             # <<<<<<<<<<<<<<
 *     def previous_sibling(self, baseItem target not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_target), __pyx_ptype_9dearcygui_4core_baseItem, 0, "target", 0))) __PYX_ERR(1, 1036, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_target));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_16previous_sibling_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_next_sibling = 0;
  PyObject *__pyx_v_target_parent = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":1038
 *     def previous_sibling(self, baseItem target not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, target.mutex)             # <<<<<<<<<<<<<<
 *         # Convert into an attach_before or attach_to_parent
 *         next_sibling = target._next_sibling
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_target->mutex);

  /* "dearcygui/core.pyx":1040
 *         lock_gil_friendly(m, target.mutex)
 *         # Convert into an attach_before or attach_to_parent
 *         next_sibling = target._next_sibling             # <<<<<<<<<<<<<<
 *         target_parent = target._parent
 *         m.unlock()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_target->_next_sibling);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_next_sibling = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1041
 *         # Convert into an attach_before or attach_to_parent
 *         next_sibling = target._next_sibling
 *         target_parent = target._parent             # <<<<<<<<<<<<<<
 *         m.unlock()
 *         # It is important to not lock the mutex before the call
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_target->_parent);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_target_parent = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1042
 *         next_sibling = target._next_sibling
 *         target_parent = target._parent
 *         m.unlock()             # <<<<<<<<<<<<<<
 *         # It is important to not lock the mutex before the call
 *         if next_sibling is None:
 */
  __pyx_v_m.unlock();

  /* "dearcygui/core.pyx":1044
 *         m.unlock()
 *         # It is important to not lock the mutex before the call
 *         if next_sibling is None:             # <<<<<<<<<<<<<<
 *             if target_parent is not None:
 *                 self.attach_to_parent(target_parent)
 */
  __pyx_t_2 = (__pyx_v_next_sibling == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1045
 *         # It is important to not lock the mutex before the call
 *         if next_sibling is None:
 *             if target_parent is not None:             # <<<<<<<<<<<<<<
 *                 self.attach_to_parent(target_parent)
 *             else:
 */
    __pyx_t_2 = (__pyx_v_target_parent != Py_None);
    if (likely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":1046
 *         if next_sibling is None:
 *             if target_parent is not None:
 *                 self.attach_to_parent(target_parent)             # <<<<<<<<<<<<<<
 *             else:
 *                 raise ValueError("Cannot bind sibling if no parent")
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_to_parent(__pyx_v_self, __pyx_v_target_parent, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1046, __pyx_L1_error)

      /* "dearcygui/core.pyx":1045
 *         # It is important to not lock the mutex before the call
 *         if next_sibling is None:
 *             if target_parent is not None:             # <<<<<<<<<<<<<<
 *                 self.attach_to_parent(target_parent)
 *             else:
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":1048
 *                 self.attach_to_parent(target_parent)
 *             else:
 *                 raise ValueError("Cannot bind sibling if no parent")             # <<<<<<<<<<<<<<
 *         self.attach_before(next_sibling)
 * 
 */
    /*else*/ {
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1048, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 1048, __pyx_L1_error)
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":1044
 *         m.unlock()
 *         # It is important to not lock the mutex before the call
 *         if next_sibling is None:             # <<<<<<<<<<<<<<
 *             if target_parent is not None:
 *                 self.attach_to_parent(target_parent)
 */
  }

  /* "dearcygui/core.pyx":1049
 *             else:
 *                 raise ValueError("Cannot bind sibling if no parent")
 *         self.attach_before(next_sibling)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_before(__pyx_v_self, __pyx_v_next_sibling, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1049, __pyx_L1_error)

  /* "dearcygui/core.pyx":1035
 *         return self._prev_sibling
 * 
 *     @previous_sibling.setter             # <<<<<<<<<<<<<<
 *     def previous_sibling(self, baseItem target not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.previous_sibling.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_next_sibling);
  __Pyx_XDECREF(__pyx_v_target_parent);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1051
 *         self.attach_before(next_sibling)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def next_sibling(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_12next_sibling___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_12next_sibling___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1066
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._next_sibling
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1067
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._next_sibling             # <<<<<<<<<<<<<<
 * 
 *     @next_sibling.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_next_sibling);
  __pyx_r = ((PyObject *)__pyx_v_self->_next_sibling);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1051
 *         self.attach_before(next_sibling)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def next_sibling(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1069
 *         return self._next_sibling
 * 
 *     @next_sibling.setter             # <<<<<<<<<<<<<<
 *     def next_sibling(self, baseItem target not None):
 *         # It is important to not lock the mutex before the call
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_target), __pyx_ptype_9dearcygui_4core_baseItem, 0, "target", 0))) __PYX_ERR(1, 1070, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_12next_sibling_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_target));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_12next_sibling_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":1072
 *     def next_sibling(self, baseItem target not None):
 *         # It is important to not lock the mutex before the call
 *         self.attach_before(target)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->attach_before(__pyx_v_self, ((PyObject *)__pyx_v_target), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1072, __pyx_L1_error)

  /* "dearcygui/core.pyx":1069
 *         return self._next_sibling
 * 
 *     @next_sibling.setter             # <<<<<<<<<<<<<<
 *     def next_sibling(self, baseItem target not None):
 *         # It is important to not lock the mutex before the call
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.next_sibling.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":1074
 *         self.attach_before(target)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def children(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_8children_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_8children_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_8children___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_8children___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1086
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         # Note: the children structure is not allowed
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1087
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         # Note: the children structure is not allowed
 *         # to change when the parent mutex is held
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1090
 *         # Note: the children structure is not allowed
 *         # to change when the parent mutex is held
 *         cdef baseItem item = self.last_theme_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_theme_child);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_item = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1091
 *         # to change when the parent mutex is held
 *         cdef baseItem item = self.last_theme_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1092
 *         cdef baseItem item = self.last_theme_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_handler_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1092, __pyx_L1_error)

    /* "dearcygui/core.pyx":1093
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_handler_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1094
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_handler_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_handler_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1095
 *             item = item._prev_sibling
 *         item = self.last_handler_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1096
 *         item = self.last_handler_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_plot_element_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1096, __pyx_L1_error)

    /* "dearcygui/core.pyx":1097
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_plot_element_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1098
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_plot_element_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_plot_element_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1099
 *             item = item._prev_sibling
 *         item = self.last_plot_element_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1100
 *         item = self.last_plot_element_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_payloads_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1100, __pyx_L1_error)

    /* "dearcygui/core.pyx":1101
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_payloads_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1102
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_payloads_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_payloads_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1103
 *             item = item._prev_sibling
 *         item = self.last_payloads_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1104
 *         item = self.last_payloads_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_drawings_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1104, __pyx_L1_error)

    /* "dearcygui/core.pyx":1105
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_drawings_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1106
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_drawings_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_drawings_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1107
 *             item = item._prev_sibling
 *         item = self.last_drawings_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1108
 *         item = self.last_drawings_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_widgets_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1108, __pyx_L1_error)

    /* "dearcygui/core.pyx":1109
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_widgets_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1110
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_widgets_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_widgets_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1111
 *             item = item._prev_sibling
 *         item = self.last_widgets_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1112
 *         item = self.last_widgets_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_window_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1112, __pyx_L1_error)

    /* "dearcygui/core.pyx":1113
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_window_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1114
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_window_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_window_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1115
 *             item = item._prev_sibling
 *         item = self.last_window_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1116
 *         item = self.last_window_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         item = self.last_menubar_child
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1116, __pyx_L1_error)

    /* "dearcygui/core.pyx":1117
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         item = self.last_menubar_child
 *         while item is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1118
 *             result.append(item)
 *             item = item._prev_sibling
 *         item = self.last_menubar_child             # <<<<<<<<<<<<<<
 *         while item is not None:
 *             result.append(item)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->last_menubar_child);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1119
 *             item = item._prev_sibling
 *         item = self.last_menubar_child
 *         while item is not None:             # <<<<<<<<<<<<<<
 *             result.append(item)
 *             item = item._prev_sibling
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (!__pyx_t_2) break;

    /* "dearcygui/core.pyx":1120
 *         item = self.last_menubar_child
 *         while item is not None:
 *             result.append(item)             # <<<<<<<<<<<<<<
 *             item = item._prev_sibling
 *         result.reverse()
 */
    __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_item)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1120, __pyx_L1_error)

    /* "dearcygui/core.pyx":1121
 *         while item is not None:
 *             result.append(item)
 *             item = item._prev_sibling             # <<<<<<<<<<<<<<
 *         result.reverse()
 *         return result
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_item->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1));
    __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":1122
 *             result.append(item)
 *             item = item._prev_sibling
 *         result.reverse()             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_reverse); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1123
 *             item = item._prev_sibling
 *         result.reverse()
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @children.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1074
 *         self.attach_before(target)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def children(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.baseItem.children.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1125
 *         return result
 * 
 *     @children.setter             # <<<<<<<<<<<<<<
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8baseItem_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8baseItem_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_8children_2__set__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8baseItem_8children_2__set__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_item_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_child_m;
  PY_LONG_LONG __pyx_v_uuid;
  PY_LONG_LONG __pyx_v_prev_uuid;
  std::set<PY_LONG_LONG>  __pyx_v_already_attached;
  PyObject *__pyx_v_child = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PY_LONG_LONG __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":1127
 *     @children.setter
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):             # <<<<<<<<<<<<<<
 *             raise TypeError("children must be a array of child items")
 *         cdef unique_lock[recursive_mutex] item_m
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 1127, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":1128
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):
 *             raise TypeError("children must be a array of child items")             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] item_m
 *         cdef unique_lock[recursive_mutex] child_m
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 1128, __pyx_L1_error)

    /* "dearcygui/core.pyx":1127
 *     @children.setter
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):             # <<<<<<<<<<<<<<
 *             raise TypeError("children must be a array of child items")
 *         cdef unique_lock[recursive_mutex] item_m
 */
  }

  /* "dearcygui/core.pyx":1131
 *         cdef unique_lock[recursive_mutex] item_m
 *         cdef unique_lock[recursive_mutex] child_m
 *         lock_gil_friendly(item_m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef long long uuid, prev_uuid
 *         cdef cpp_set[long long] already_attached
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_item_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1134
 *         cdef long long uuid, prev_uuid
 *         cdef cpp_set[long long] already_attached
 *         for child in value:             # <<<<<<<<<<<<<<
 *             if not(isinstance(child, baseItem)):
 *                 raise TypeError(f"{child} is not a compatible item instance")
 */
  if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
    __pyx_t_3 = __pyx_v_value; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1134, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 1134, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 1134, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1134, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 1134, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 1134, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1134, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 1134, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "dearcygui/core.pyx":1135
 *         cdef cpp_set[long long] already_attached
 *         for child in value:
 *             if not(isinstance(child, baseItem)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{child} is not a compatible item instance")
 *             # Find children that are already attached
 */
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_child, __pyx_ptype_9dearcygui_4core_baseItem); 
    __pyx_t_1 = (!__pyx_t_2);
    if (unlikely(__pyx_t_1)) {

      /* "dearcygui/core.pyx":1136
 *         for child in value:
 *             if not(isinstance(child, baseItem)):
 *                 raise TypeError(f"{child} is not a compatible item instance")             # <<<<<<<<<<<<<<
 *             # Find children that are already attached
 *             # and in the right order
 */
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_child, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u_is_not_a_compatible_item_instan); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 1136, __pyx_L1_error)

      /* "dearcygui/core.pyx":1135
 *         cdef cpp_set[long long] already_attached
 *         for child in value:
 *             if not(isinstance(child, baseItem)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{child} is not a compatible item instance")
 *             # Find children that are already attached
 */
    }

    /* "dearcygui/core.pyx":1139
 *             # Find children that are already attached
 *             # and in the right order
 *             uuid = (<baseItem>child).uuid             # <<<<<<<<<<<<<<
 *             if (<baseItem>child)._parent is self:
 *                 if (<baseItem>child)._prev_sibling is None:
 */
    __pyx_t_8 = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->uuid;
    __pyx_v_uuid = __pyx_t_8;

    /* "dearcygui/core.pyx":1140
 *             # and in the right order
 *             uuid = (<baseItem>child).uuid
 *             if (<baseItem>child)._parent is self:             # <<<<<<<<<<<<<<
 *                 if (<baseItem>child)._prev_sibling is None:
 *                     already_attached.insert(uuid)
 */
    __pyx_t_1 = (((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_parent == __pyx_v_self);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":1141
 *             uuid = (<baseItem>child).uuid
 *             if (<baseItem>child)._parent is self:
 *                 if (<baseItem>child)._prev_sibling is None:             # <<<<<<<<<<<<<<
 *                     already_attached.insert(uuid)
 *                     continue
 */
      __pyx_t_1 = (((PyObject *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling) == Py_None);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":1142
 *             if (<baseItem>child)._parent is self:
 *                 if (<baseItem>child)._prev_sibling is None:
 *                     already_attached.insert(uuid)             # <<<<<<<<<<<<<<
 *                     continue
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid
 */
        try {
          __pyx_v_already_attached.insert(__pyx_v_uuid);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(1, 1142, __pyx_L1_error)
        }

        /* "dearcygui/core.pyx":1143
 *                 if (<baseItem>child)._prev_sibling is None:
 *                     already_attached.insert(uuid)
 *                     continue             # <<<<<<<<<<<<<<
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid
 *                 if already_attached.find(prev_uuid) != already_attached.end():
 */
        goto __pyx_L4_continue;

        /* "dearcygui/core.pyx":1141
 *             uuid = (<baseItem>child).uuid
 *             if (<baseItem>child)._parent is self:
 *                 if (<baseItem>child)._prev_sibling is None:             # <<<<<<<<<<<<<<
 *                     already_attached.insert(uuid)
 *                     continue
 */
      }

      /* "dearcygui/core.pyx":1144
 *                     already_attached.insert(uuid)
 *                     continue
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid             # <<<<<<<<<<<<<<
 *                 if already_attached.find(prev_uuid) != already_attached.end():
 *                     already_attached.insert(uuid)
 */
      __pyx_t_8 = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling->uuid;
      __pyx_v_prev_uuid = __pyx_t_8;

      /* "dearcygui/core.pyx":1145
 *                     continue
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid
 *                 if already_attached.find(prev_uuid) != already_attached.end():             # <<<<<<<<<<<<<<
 *                     already_attached.insert(uuid)
 *                     continue
 */
      __pyx_t_1 = (__pyx_v_already_attached.find(__pyx_v_prev_uuid) != __pyx_v_already_attached.end());
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":1146
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid
 *                 if already_attached.find(prev_uuid) != already_attached.end():
 *                     already_attached.insert(uuid)             # <<<<<<<<<<<<<<
 *                     continue
 *             # New children.
 */
        try {
          __pyx_v_already_attached.insert(__pyx_v_uuid);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(1, 1146, __pyx_L1_error)
        }

        /* "dearcygui/core.pyx":1147
 *                 if already_attached.find(prev_uuid) != already_attached.end():
 *                     already_attached.insert(uuid)
 *                     continue             # <<<<<<<<<<<<<<
 *             # New children.
 * 
 */
        goto __pyx_L4_continue;

        /* "dearcygui/core.pyx":1145
 *                     continue
 *                 prev_uuid = (<baseItem>child)._prev_sibling.uuid
 *                 if already_attached.find(prev_uuid) != already_attached.end():             # <<<<<<<<<<<<<<
 *                     already_attached.insert(uuid)
 *                     continue
 */
      }

      /* "dearcygui/core.pyx":1140
 *             # and in the right order
 *             uuid = (<baseItem>child).uuid
 *             if (<baseItem>child)._parent is self:             # <<<<<<<<<<<<<<
 *                 if (<baseItem>child)._prev_sibling is None:
 *                     already_attached.insert(uuid)
 */
    }

    /* "dearcygui/core.pyx":1155
 *             # It is also fine to retain the lock to child_m
 *             # as it has no parent
 *             lock_gil_friendly(child_m, (<baseItem>child).mutex)             # <<<<<<<<<<<<<<
 *             if (<baseItem>child)._parent is not None and \
 *                (<baseItem>child)._parent is not self:
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_child_m, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->mutex);

    /* "dearcygui/core.pyx":1156
 *             # as it has no parent
 *             lock_gil_friendly(child_m, (<baseItem>child).mutex)
 *             if (<baseItem>child)._parent is not None and \             # <<<<<<<<<<<<<<
 *                (<baseItem>child)._parent is not self:
 *                 # Probable programming mistake and potential deadlock
 */
    __pyx_t_2 = (((PyObject *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_parent) != Py_None);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L11_bool_binop_done;
    }

    /* "dearcygui/core.pyx":1157
 *             lock_gil_friendly(child_m, (<baseItem>child).mutex)
 *             if (<baseItem>child)._parent is not None and \
 *                (<baseItem>child)._parent is not self:             # <<<<<<<<<<<<<<
 *                 # Probable programming mistake and potential deadlock
 *                 raise ValueError(f"{child} already has a parent")
 */
    __pyx_t_2 = (((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_parent != __pyx_v_self);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L11_bool_binop_done:;

    /* "dearcygui/core.pyx":1156
 *             # as it has no parent
 *             lock_gil_friendly(child_m, (<baseItem>child).mutex)
 *             if (<baseItem>child)._parent is not None and \             # <<<<<<<<<<<<<<
 *                (<baseItem>child)._parent is not self:
 *                 # Probable programming mistake and potential deadlock
 */
    if (unlikely(__pyx_t_1)) {

      /* "dearcygui/core.pyx":1159
 *                (<baseItem>child)._parent is not self:
 *                 # Probable programming mistake and potential deadlock
 *                 raise ValueError(f"{child} already has a parent")             # <<<<<<<<<<<<<<
 *             (<baseItem>child).attach_to_parent(self)
 * 
 */
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_child, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u_already_has_a_parent); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 1159, __pyx_L1_error)

      /* "dearcygui/core.pyx":1156
 *             # as it has no parent
 *             lock_gil_friendly(child_m, (<baseItem>child).mutex)
 *             if (<baseItem>child)._parent is not None and \             # <<<<<<<<<<<<<<
 *                (<baseItem>child)._parent is not self:
 *                 # Probable programming mistake and potential deadlock
 */
    }

    /* "dearcygui/core.pyx":1160
 *                 # Probable programming mistake and potential deadlock
 *                 raise ValueError(f"{child} already has a parent")
 *             (<baseItem>child).attach_to_parent(self)             # <<<<<<<<<<<<<<
 * 
 *             # Detach any previous sibling that are not in the
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->__pyx_vtab)->attach_to_parent(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child), ((PyObject *)__pyx_v_self), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1160, __pyx_L1_error)

    /* "dearcygui/core.pyx":1165
 *             # already_attached list, and thus should either
 *             # be removed, or their order changed.
 *             while (<baseItem>child)._prev_sibling is not None and \             # <<<<<<<<<<<<<<
 *                 already_attached.find((<baseItem>child)._prev_sibling.uuid) == already_attached.end():
 *                 (<baseItem>child)._prev_sibling.detach_item()
 */
    while (1) {
      __pyx_t_2 = (((PyObject *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling) != Py_None);
      if (__pyx_t_2) {
      } else {
        __pyx_t_1 = __pyx_t_2;
        goto __pyx_L15_bool_binop_done;
      }

      /* "dearcygui/core.pyx":1166
 *             # be removed, or their order changed.
 *             while (<baseItem>child)._prev_sibling is not None and \
 *                 already_attached.find((<baseItem>child)._prev_sibling.uuid) == already_attached.end():             # <<<<<<<<<<<<<<
 *                 (<baseItem>child)._prev_sibling.detach_item()
 *             already_attached.insert(uuid)
 */
      __pyx_t_2 = (__pyx_v_already_attached.find(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling->uuid) == __pyx_v_already_attached.end());
      __pyx_t_1 = __pyx_t_2;
      __pyx_L15_bool_binop_done:;
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":1167
 *             while (<baseItem>child)._prev_sibling is not None and \
 *                 already_attached.find((<baseItem>child)._prev_sibling.uuid) == already_attached.end():
 *                 (<baseItem>child)._prev_sibling.detach_item()             # <<<<<<<<<<<<<<
 *             already_attached.insert(uuid)
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling->__pyx_vtab)->detach_item(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_child)->_prev_sibling, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1167, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":1168
 *                 already_attached.find((<baseItem>child)._prev_sibling.uuid) == already_attached.end():
 *                 (<baseItem>child)._prev_sibling.detach_item()
 *             already_attached.insert(uuid)             # <<<<<<<<<<<<<<
 * 
 *     def __enter__(self):
 */
    try {
      __pyx_v_already_attached.insert(__pyx_v_uuid);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 1168, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":1134
 *         cdef long long uuid, prev_uuid
 *         cdef cpp_set[long long] already_attached
 *         for child in value:             # <<<<<<<<<<<<<<
 *             if not(isinstance(child, baseItem)):
 *                 raise TypeError(f"{child} is not a compatible item instance")
 */
    __pyx_L4_continue:;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":1125
 *         return result
 * 
 *     @children.setter             # <<<<<<<<<<<<<<
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.baseItem.children.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_child);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1170
 *             already_attached.insert(uuid)
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_9__enter__ = {"__enter__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_9__enter__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_8__enter__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_8__enter__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__enter__", 1);

  /* "dearcygui/core.pyx":1172
 *     def __enter__(self):
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_handler_child or \
 *            self.can_have_menubar_child or \
 */
  if (!__pyx_v_self->can_have_drawing_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_drawing_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1173
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \
 *            self.can_have_handler_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_menubar_child or \
 *            self.can_have_plot_element_child or \
 */
  if (!__pyx_v_self->can_have_handler_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_handler_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1174
 *         if not(self.can_have_drawing_child or \
 *            self.can_have_handler_child or \
 *            self.can_have_menubar_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_plot_element_child or \
 *            self.can_have_payload_child or \
 */
  if (!__pyx_v_self->can_have_menubar_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_menubar_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1175
 *            self.can_have_handler_child or \
 *            self.can_have_menubar_child or \
 *            self.can_have_plot_element_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_payload_child or \
 *            self.can_have_tab_child or \
 */
  if (!__pyx_v_self->can_have_plot_element_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_plot_element_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1176
 *            self.can_have_menubar_child or \
 *            self.can_have_plot_element_child or \
 *            self.can_have_payload_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_tab_child or \
 *            self.can_have_theme_child or \
 */
  if (!__pyx_v_self->can_have_payload_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_payload_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1177
 *            self.can_have_plot_element_child or \
 *            self.can_have_payload_child or \
 *            self.can_have_tab_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_theme_child or \
 *            self.can_have_widget_child or \
 */
  if (!__pyx_v_self->can_have_tab_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_tab_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1178
 *            self.can_have_payload_child or \
 *            self.can_have_tab_child or \
 *            self.can_have_theme_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_widget_child or \
 *            self.can_have_window_child):
 */
  if (!__pyx_v_self->can_have_theme_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_theme_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1179
 *            self.can_have_tab_child or \
 *            self.can_have_theme_child or \
 *            self.can_have_widget_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_window_child):
 *             print("Warning: {self} cannot have children but is pushed as container")
 */
  if (!__pyx_v_self->can_have_widget_child) {
  } else {
    __pyx_t_1 = __pyx_v_self->can_have_widget_child;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1180
 *            self.can_have_theme_child or \
 *            self.can_have_widget_child or \
 *            self.can_have_window_child):             # <<<<<<<<<<<<<<
 *             print("Warning: {self} cannot have children but is pushed as container")
 *         self.context.push_next_parent(self)
 */
  __pyx_t_1 = __pyx_v_self->can_have_window_child;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":1172
 *     def __enter__(self):
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_handler_child or \
 *            self.can_have_menubar_child or \
 */
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1181
 *            self.can_have_widget_child or \
 *            self.can_have_window_child):
 *             print("Warning: {self} cannot have children but is pushed as container")             # <<<<<<<<<<<<<<
 *         self.context.push_next_parent(self)
 *         return self
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":1172
 *     def __enter__(self):
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \             # <<<<<<<<<<<<<<
 *            self.can_have_handler_child or \
 *            self.can_have_menubar_child or \
 */
  }

  /* "dearcygui/core.pyx":1182
 *            self.can_have_window_child):
 *             print("Warning: {self} cannot have children but is pushed as container")
 *         self.context.push_next_parent(self)             # <<<<<<<<<<<<<<
 *         return self
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->push_next_parent(__pyx_v_self->context, __pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1182, __pyx_L1_error)

  /* "dearcygui/core.pyx":1183
 *             print("Warning: {self} cannot have children but is pushed as container")
 *         self.context.push_next_parent(self)
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1170
 *             already_attached.insert(uuid)
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.baseItem.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1185
 *         return self
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.context.pop_next_parent()
 *         return False # Do not catch exceptions
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_11__exit__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_11__exit__ = {"__exit__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_11__exit__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_11__exit__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_exc_type = 0;
  CYTHON_UNUSED PyObject *__pyx_v_exc_value = 0;
  CYTHON_UNUSED PyObject *__pyx_v_traceback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_exc_type,&__pyx_n_s_exc_value,&__pyx_n_s_traceback,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_type)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1185, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1185, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); __PYX_ERR(1, 1185, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_traceback)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1185, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); __PYX_ERR(1, 1185, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__exit__") < 0)) __PYX_ERR(1, 1185, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_exc_type = values[0];
    __pyx_v_exc_value = values[1];
    __pyx_v_traceback = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.baseItem.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_10__exit__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_exc_type, __pyx_v_exc_value, __pyx_v_traceback);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_10__exit__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__exit__", 1);

  /* "dearcygui/core.pyx":1186
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         self.context.pop_next_parent()             # <<<<<<<<<<<<<<
 *         return False # Do not catch exceptions
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->context->__pyx_vtab)->pop_next_parent(__pyx_v_self->context, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1186, __pyx_L1_error)

  /* "dearcygui/core.pyx":1187
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         self.context.pop_next_parent()
 *         return False # Do not catch exceptions             # <<<<<<<<<<<<<<
 * 
 *     cdef void lock_parent_and_item_mutex(self,
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1185
 *         return self
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.context.pop_next_parent()
 *         return False # Do not catch exceptions
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1189
 *         return False # Do not catch exceptions
 * 
 *     cdef void lock_parent_and_item_mutex(self,             # <<<<<<<<<<<<<<
 *                                          unique_lock[recursive_mutex] &parent_m,
 *                                          unique_lock[recursive_mutex] &item_m):
 */

static void __pyx_f_9dearcygui_4core_8baseItem_lock_parent_and_item_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  &__pyx_v_parent_m, std::unique_lock<std::recursive_mutex>  &__pyx_v_item_m) {
  int __pyx_v_locked;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lock_parent_and_item_mutex", 1);

  /* "dearcygui/core.pyx":1194
 *         # We must make sure we lock the correct parent mutex, and for that
 *         # we must access self._parent and thus hold the item mutex
 *         cdef bint locked = False             # <<<<<<<<<<<<<<
 *         while not(locked):
 *             lock_gil_friendly(item_m, self.mutex)
 */
  __pyx_v_locked = 0;

  /* "dearcygui/core.pyx":1195
 *         # we must access self._parent and thus hold the item mutex
 *         cdef bint locked = False
 *         while not(locked):             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(item_m, self.mutex)
 *             if self._parent is not None:
 */
  while (1) {
    __pyx_t_1 = (!__pyx_v_locked);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":1196
 *         cdef bint locked = False
 *         while not(locked):
 *             lock_gil_friendly(item_m, self.mutex)             # <<<<<<<<<<<<<<
 *             if self._parent is not None:
 *                 # Manipulate the lock directly
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_item_m, __pyx_v_self->mutex);

    /* "dearcygui/core.pyx":1197
 *         while not(locked):
 *             lock_gil_friendly(item_m, self.mutex)
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 # Manipulate the lock directly
 *                 # as we don't want unique lock to point
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->_parent) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":1203
 *                 # parent of the item is changed by another
 *                 # thread and the parent freed)
 *                 locked = self._parent.mutex.try_lock()             # <<<<<<<<<<<<<<
 *             else:
 *                 locked = True
 */
      __pyx_v_locked = __pyx_v_self->_parent->mutex.try_lock();

      /* "dearcygui/core.pyx":1197
 *         while not(locked):
 *             lock_gil_friendly(item_m, self.mutex)
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 # Manipulate the lock directly
 *                 # as we don't want unique lock to point
 */
      goto __pyx_L5;
    }

    /* "dearcygui/core.pyx":1205
 *                 locked = self._parent.mutex.try_lock()
 *             else:
 *                 locked = True             # <<<<<<<<<<<<<<
 *             if locked:
 *                 if self._parent is not None:
 */
    /*else*/ {
      __pyx_v_locked = 1;
    }
    __pyx_L5:;

    /* "dearcygui/core.pyx":1206
 *             else:
 *                 locked = True
 *             if locked:             # <<<<<<<<<<<<<<
 *                 if self._parent is not None:
 *                     # Transfert the lock
 */
    if (__pyx_v_locked) {

      /* "dearcygui/core.pyx":1207
 *                 locked = True
 *             if locked:
 *                 if self._parent is not None:             # <<<<<<<<<<<<<<
 *                     # Transfert the lock
 *                     parent_m = unique_lock[recursive_mutex](self._parent.mutex)
 */
      __pyx_t_1 = (((PyObject *)__pyx_v_self->_parent) != Py_None);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":1209
 *                 if self._parent is not None:
 *                     # Transfert the lock
 *                     parent_m = unique_lock[recursive_mutex](self._parent.mutex)             # <<<<<<<<<<<<<<
 *                     self._parent.mutex.unlock()
 *                 return
 */
        __pyx_v_parent_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->_parent->mutex);

        /* "dearcygui/core.pyx":1210
 *                     # Transfert the lock
 *                     parent_m = unique_lock[recursive_mutex](self._parent.mutex)
 *                     self._parent.mutex.unlock()             # <<<<<<<<<<<<<<
 *                 return
 *             item_m.unlock()
 */
        __pyx_v_self->_parent->mutex.unlock();

        /* "dearcygui/core.pyx":1207
 *                 locked = True
 *             if locked:
 *                 if self._parent is not None:             # <<<<<<<<<<<<<<
 *                     # Transfert the lock
 *                     parent_m = unique_lock[recursive_mutex](self._parent.mutex)
 */
      }

      /* "dearcygui/core.pyx":1211
 *                     parent_m = unique_lock[recursive_mutex](self._parent.mutex)
 *                     self._parent.mutex.unlock()
 *                 return             # <<<<<<<<<<<<<<
 *             item_m.unlock()
 *             # Release the gil and give priority to other threads that might
 */
      goto __pyx_L0;

      /* "dearcygui/core.pyx":1206
 *             else:
 *                 locked = True
 *             if locked:             # <<<<<<<<<<<<<<
 *                 if self._parent is not None:
 *                     # Transfert the lock
 */
    }

    /* "dearcygui/core.pyx":1212
 *                     self._parent.mutex.unlock()
 *                 return
 *             item_m.unlock()             # <<<<<<<<<<<<<<
 *             # Release the gil and give priority to other threads that might
 *             # hold the lock we want
 */
    __pyx_v_item_m.unlock();

    /* "dearcygui/core.pyx":1215
 *             # Release the gil and give priority to other threads that might
 *             # hold the lock we want
 *             os.sched_yield()             # <<<<<<<<<<<<<<
 *             if not(locked) and self.external_lock > 0:
 *                 raise RuntimeError(
 */
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sched_yield); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":1216
 *             # hold the lock we want
 *             os.sched_yield()
 *             if not(locked) and self.external_lock > 0:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     "Trying to lock parent mutex while holding a lock. "
 */
    __pyx_t_6 = (!__pyx_v_locked);
    if (__pyx_t_6) {
    } else {
      __pyx_t_1 = __pyx_t_6;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_6 = (__pyx_v_self->external_lock > 0);
    __pyx_t_1 = __pyx_t_6;
    __pyx_L9_bool_binop_done:;
    if (unlikely(__pyx_t_1)) {

      /* "dearcygui/core.pyx":1217
 *             os.sched_yield()
 *             if not(locked) and self.external_lock > 0:
 *                 raise RuntimeError(             # <<<<<<<<<<<<<<
 *                     "Trying to lock parent mutex while holding a lock. "
 *                     "If you get this error, this means you are attempting "
 */
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 1217, __pyx_L1_error)

      /* "dearcygui/core.pyx":1216
 *             # hold the lock we want
 *             os.sched_yield()
 *             if not(locked) and self.external_lock > 0:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     "Trying to lock parent mutex while holding a lock. "
 */
    }
  }

  /* "dearcygui/core.pyx":1189
 *         return False # Do not catch exceptions
 * 
 *     cdef void lock_parent_and_item_mutex(self,             # <<<<<<<<<<<<<<
 *                                          unique_lock[recursive_mutex] &parent_m,
 *                                          unique_lock[recursive_mutex] &item_m):
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.lock_parent_and_item_mutex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":1231
 * 
 * 
 *     cdef void lock_and_previous_siblings(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used when the parent needs to prevent any change to its
 */

static void __pyx_f_9dearcygui_4core_8baseItem_lock_and_previous_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1241
 *         for some operations.
 *         """
 *         self.mutex.lock()             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.lock_and_previous_siblings()
 */
  __pyx_v_self->mutex.lock();

  /* "dearcygui/core.pyx":1242
 *         """
 *         self.mutex.lock()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.lock_and_previous_siblings()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1243
 *         self.mutex.lock()
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.lock_and_previous_siblings()             # <<<<<<<<<<<<<<
 * 
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->_prev_sibling->__pyx_vtab)->lock_and_previous_siblings(__pyx_v_self->_prev_sibling);

    /* "dearcygui/core.pyx":1242
 *         """
 *         self.mutex.lock()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.lock_and_previous_siblings()
 * 
 */
  }

  /* "dearcygui/core.pyx":1231
 * 
 * 
 *     cdef void lock_and_previous_siblings(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used when the parent needs to prevent any change to its
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1245
 *             self._prev_sibling.lock_and_previous_siblings()
 * 
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.unlock_and_previous_siblings()
 */

static void __pyx_f_9dearcygui_4core_8baseItem_unlock_and_previous_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1246
 * 
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.unlock_and_previous_siblings()
 *         self.mutex.unlock()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1247
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.unlock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *         self.mutex.unlock()
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->_prev_sibling->__pyx_vtab)->unlock_and_previous_siblings(__pyx_v_self->_prev_sibling);

    /* "dearcygui/core.pyx":1246
 * 
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.unlock_and_previous_siblings()
 *         self.mutex.unlock()
 */
  }

  /* "dearcygui/core.pyx":1248
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.unlock_and_previous_siblings()
 *         self.mutex.unlock()             # <<<<<<<<<<<<<<
 * 
 *     cdef bint __check_rendered(self):
 */
  __pyx_v_self->mutex.unlock();

  /* "dearcygui/core.pyx":1245
 *             self._prev_sibling.lock_and_previous_siblings()
 * 
 *     cdef void unlock_and_previous_siblings(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.unlock_and_previous_siblings()
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1250
 *         self.mutex.unlock()
 * 
 *     cdef bint __check_rendered(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if an item is rendered
 */

static int __pyx_f_9dearcygui_4core_8baseItem__baseItem__check_rendered(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("_baseItem__check_rendered", 1);

  /* "dearcygui/core.pyx":1254
 *         Returns if an item is rendered
 *         """
 *         cdef baseItem item = self             # <<<<<<<<<<<<<<
 *         # Find a parent with state
 *         # Not perfect because we do not hold the mutexes,
 */
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_v_item = __pyx_v_self;

  /* "dearcygui/core.pyx":1258
 *         # Not perfect because we do not hold the mutexes,
 *         # but should be ok enough to fail in a few cases.
 *         while item is not None and item.p_state == NULL:             # <<<<<<<<<<<<<<
 *             item = item._parent
 *         if item is None or item.p_state == NULL:
 */
  while (1) {
    __pyx_t_2 = (((PyObject *)__pyx_v_item) != Py_None);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_item->p_state == NULL);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":1259
 *         # but should be ok enough to fail in a few cases.
 *         while item is not None and item.p_state == NULL:
 *             item = item._parent             # <<<<<<<<<<<<<<
 *         if item is None or item.p_state == NULL:
 *             return False
 */
    __pyx_t_3 = ((PyObject *)__pyx_v_item->_parent);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_DECREF_SET(__pyx_v_item, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_3));
    __pyx_t_3 = 0;
  }

  /* "dearcygui/core.pyx":1260
 *         while item is not None and item.p_state == NULL:
 *             item = item._parent
 *         if item is None or item.p_state == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         return item.p_state.cur.rendered
 */
  __pyx_t_2 = (((PyObject *)__pyx_v_item) == Py_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_item->p_state == NULL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1261
 *             item = item._parent
 *         if item is None or item.p_state == NULL:
 *             return False             # <<<<<<<<<<<<<<
 *         return item.p_state.cur.rendered
 * 
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1260
 *         while item is not None and item.p_state == NULL:
 *             item = item._parent
 *         if item is None or item.p_state == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         return item.p_state.cur.rendered
 */
  }

  /* "dearcygui/core.pyx":1262
 *         if item is None or item.p_state == NULL:
 *             return False
 *         return item.p_state.cur.rendered             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_item->p_state->cur.rendered;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1250
 *         self.mutex.unlock()
 * 
 *     cdef bint __check_rendered(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if an item is rendered
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1265
 * 
 * 
 *     cpdef void attach_to_parent(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = target, but
 */

static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_13attach_to_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_attach_to_parent(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target, int __pyx_skip_dispatch) {
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_parent = 0;
  int __pyx_v_compatible;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  int __pyx_v_attached;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  Py_UCS4 __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("attach_to_parent", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attach_to_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1265, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_8baseItem_13attach_to_parent)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_target};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1265, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":1271
 *         """
 *         cdef baseItem target_parent
 *         if self.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach a deleted item")
 * 
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->context) == Py_None);
  if (unlikely(__pyx_t_6)) {

    /* "dearcygui/core.pyx":1272
 *         cdef baseItem target_parent
 *         if self.context is None:
 *             raise ValueError("Trying to attach a deleted item")             # <<<<<<<<<<<<<<
 * 
 *         if not(isinstance(target, baseItem)):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1272, __pyx_L1_error)

    /* "dearcygui/core.pyx":1271
 *         """
 *         cdef baseItem target_parent
 *         if self.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach a deleted item")
 * 
 */
  }

  /* "dearcygui/core.pyx":1274
 *             raise ValueError("Trying to attach a deleted item")
 * 
 *         if not(isinstance(target, baseItem)):             # <<<<<<<<<<<<<<
 *             target_parent = self.context[target]
 *         else:
 */
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_target, __pyx_ptype_9dearcygui_4core_baseItem); 
  __pyx_t_7 = (!__pyx_t_6);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":1275
 * 
 *         if not(isinstance(target, baseItem)):
 *             target_parent = self.context[target]             # <<<<<<<<<<<<<<
 *         else:
 *             target_parent = <baseItem>target
 */
    __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self->context), __pyx_v_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseItem))))) __PYX_ERR(1, 1275, __pyx_L1_error)
    __pyx_v_target_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1274
 *             raise ValueError("Trying to attach a deleted item")
 * 
 *         if not(isinstance(target, baseItem)):             # <<<<<<<<<<<<<<
 *             target_parent = self.context[target]
 *         else:
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":1277
 *             target_parent = self.context[target]
 *         else:
 *             target_parent = <baseItem>target             # <<<<<<<<<<<<<<
 *             if target_parent.context is not self.context:
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 */
  /*else*/ {
    __pyx_t_1 = __pyx_v_target;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_target_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1278
 *         else:
 *             target_parent = <baseItem>target
 *             if target_parent.context is not self.context:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 */
    __pyx_t_7 = (__pyx_v_target_parent->context != __pyx_v_self->context);
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":1279
 *             target_parent = <baseItem>target
 *             if target_parent.context is not self.context:
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")             # <<<<<<<<<<<<<<
 * 
 *         if target_parent is None:
 */
      __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = 0;
      __pyx_t_9 = 127;
      __Pyx_INCREF(__pyx_kp_u_Cannot_attach);
      __pyx_t_8 += 14;
      __Pyx_GIVEREF(__pyx_kp_u_Cannot_attach);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_Cannot_attach);
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_INCREF(__pyx_kp_u_to);
      __pyx_t_8 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_to);
      PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_to);
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_INCREF(__pyx_kp_u_as_it_was_not_created_in_the_sa);
      __pyx_t_8 += 42;
      __Pyx_GIVEREF(__pyx_kp_u_as_it_was_not_created_in_the_sa);
      PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_as_it_was_not_created_in_the_sa);
      __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 5, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 1279, __pyx_L1_error)

      /* "dearcygui/core.pyx":1278
 *         else:
 *             target_parent = <baseItem>target
 *             if target_parent.context is not self.context:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 */
    }
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":1281
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 *         if target_parent is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:
 */
  __pyx_t_7 = (((PyObject *)__pyx_v_target_parent) == Py_None);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1282
 * 
 *         if target_parent is None:
 *             raise ValueError("Trying to attach to None")             # <<<<<<<<<<<<<<
 *         if target_parent.context is None:
 *             raise ValueError("Trying to attach to a deleted item")
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1282, __pyx_L1_error)

    /* "dearcygui/core.pyx":1281
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 *         if target_parent is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:
 */
  }

  /* "dearcygui/core.pyx":1283
 *         if target_parent is None:
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach to a deleted item")
 * 
 */
  __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->context) == Py_None);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1284
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:
 *             raise ValueError("Trying to attach to a deleted item")             # <<<<<<<<<<<<<<
 * 
 *         if self.external_lock > 0:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1284, __pyx_L1_error)

    /* "dearcygui/core.pyx":1283
 *         if target_parent is None:
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach to a deleted item")
 * 
 */
  }

  /* "dearcygui/core.pyx":1286
 *             raise ValueError("Trying to attach to a deleted item")
 * 
 *         if self.external_lock > 0:             # <<<<<<<<<<<<<<
 *             # Deadlock potential. We would need to unlock the user held mutex,
 *             # which could be a solution, but raises its own issues.
 */
  __pyx_t_7 = (__pyx_v_self->external_lock > 0);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":1289
 *             # Deadlock potential. We would need to unlock the user held mutex,
 *             # which could be a solution, but raises its own issues.
 *             if target_parent.external_lock == 0:             # <<<<<<<<<<<<<<
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")
 *             if not(target_parent.mutex.try_lock()):
 */
    __pyx_t_7 = (__pyx_v_target_parent->external_lock == 0);
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":1290
 *             # which could be a solution, but raises its own issues.
 *             if target_parent.external_lock == 0:
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")             # <<<<<<<<<<<<<<
 *             if not(target_parent.mutex.try_lock()):
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self} and {target}, but not in the same threads")
 */
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PermissionError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = PyTuple_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = 0;
      __pyx_t_9 = 127;
      __Pyx_INCREF(__pyx_kp_u_Cannot_attach);
      __pyx_t_8 += 14;
      __Pyx_GIVEREF(__pyx_kp_u_Cannot_attach);
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Cannot_attach);
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_INCREF(__pyx_kp_u_to);
      __pyx_t_8 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_to);
      PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_to);
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_INCREF(__pyx_kp_u_as_the_user_holds_a_lock_on);
      __pyx_t_8 += 29;
      __Pyx_GIVEREF(__pyx_kp_u_as_the_user_holds_a_lock_on);
      PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u_as_the_user_holds_a_lock_on);
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_INCREF(__pyx_kp_u_but_not);
      __pyx_t_8 += 10;
      __Pyx_GIVEREF(__pyx_kp_u_but_not);
      PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_kp_u_but_not);
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_2, 7, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 8, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 1290, __pyx_L1_error)

      /* "dearcygui/core.pyx":1289
 *             # Deadlock potential. We would need to unlock the user held mutex,
 *             # which could be a solution, but raises its own issues.
 *             if target_parent.external_lock == 0:             # <<<<<<<<<<<<<<
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")
 *             if not(target_parent.mutex.try_lock()):
 */
    }

    /* "dearcygui/core.pyx":1291
 *             if target_parent.external_lock == 0:
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")
 *             if not(target_parent.mutex.try_lock()):             # <<<<<<<<<<<<<<
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self} and {target}, but not in the same threads")
 *             target_parent.mutex.unlock()
 */
    __pyx_t_7 = (!__pyx_v_target_parent->mutex.try_lock());
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":1292
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")
 *             if not(target_parent.mutex.try_lock()):
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self} and {target}, but not in the same threads")             # <<<<<<<<<<<<<<
 *             target_parent.mutex.unlock()
 * 
 */
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_PermissionError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_New(9); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = 0;
      __pyx_t_9 = 127;
      __Pyx_INCREF(__pyx_kp_u_Cannot_attach);
      __pyx_t_8 += 14;
      __Pyx_GIVEREF(__pyx_kp_u_Cannot_attach);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Cannot_attach);
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_kp_u_to);
      __pyx_t_8 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_to);
      PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_to);
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_kp_u_as_the_user_holds_a_lock_on);
      __pyx_t_8 += 29;
      __Pyx_GIVEREF(__pyx_kp_u_as_the_user_holds_a_lock_on);
      PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_kp_u_as_the_user_holds_a_lock_on);
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_kp_u_and);
      __pyx_t_8 += 5;
      __Pyx_GIVEREF(__pyx_kp_u_and);
      PyTuple_SET_ITEM(__pyx_t_3, 6, __pyx_kp_u_and);
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_3, 7, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_kp_u_but_not_in_the_same_threads);
      __pyx_t_8 += 29;
      __Pyx_GIVEREF(__pyx_kp_u_but_not_in_the_same_threads);
      PyTuple_SET_ITEM(__pyx_t_3, 8, __pyx_kp_u_but_not_in_the_same_threads);
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 9, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 1292, __pyx_L1_error)

      /* "dearcygui/core.pyx":1291
 *             if target_parent.external_lock == 0:
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self}, but not {target}")
 *             if not(target_parent.mutex.try_lock()):             # <<<<<<<<<<<<<<
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self} and {target}, but not in the same threads")
 *             target_parent.mutex.unlock()
 */
    }

    /* "dearcygui/core.pyx":1293
 *             if not(target_parent.mutex.try_lock()):
 *                 raise PermissionError(f"Cannot attach {self} to {target} as the user holds a lock on {self} and {target}, but not in the same threads")
 *             target_parent.mutex.unlock()             # <<<<<<<<<<<<<<
 * 
 *         # Check compatibility with the parent before locking the mutex
 */
    __pyx_v_target_parent->mutex.unlock();

    /* "dearcygui/core.pyx":1286
 *             raise ValueError("Trying to attach to a deleted item")
 * 
 *         if self.external_lock > 0:             # <<<<<<<<<<<<<<
 *             # Deadlock potential. We would need to unlock the user held mutex,
 *             # which could be a solution, but raises its own issues.
 */
  }

  /* "dearcygui/core.pyx":1298
 *         # We do this optimization to avoid locking uselessly when
 *         # creating items due to the automated attach feature.
 *         cdef bint compatible = False             # <<<<<<<<<<<<<<
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:
 */
  __pyx_v_compatible = 0;

  /* "dearcygui/core.pyx":1299
 *         # creating items due to the automated attach feature.
 *         cdef bint compatible = False
 *         if self.element_child_category == child_type.cat_drawing:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_drawing_child:
 *                 compatible = True
 */
  switch (__pyx_v_self->element_child_category) {
    case __pyx_e_9dearcygui_4core_cat_drawing:

    /* "dearcygui/core.pyx":1300
 *         cdef bint compatible = False
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_handler:
 */
    if (__pyx_v_target_parent->can_have_drawing_child) {

      /* "dearcygui/core.pyx":1301
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1300
 *         cdef bint compatible = False
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_handler:
 */
    }

    /* "dearcygui/core.pyx":1299
 *         # creating items due to the automated attach feature.
 *         cdef bint compatible = False
 *         if self.element_child_category == child_type.cat_drawing:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_drawing_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_handler:

    /* "dearcygui/core.pyx":1303
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_menubar:
 */
    if (__pyx_v_target_parent->can_have_handler_child) {

      /* "dearcygui/core.pyx":1304
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1303
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_menubar:
 */
    }

    /* "dearcygui/core.pyx":1302
 *             if target_parent.can_have_drawing_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_handler:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_handler_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_menubar:

    /* "dearcygui/core.pyx":1306
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 */
    if (__pyx_v_target_parent->can_have_menubar_child) {

      /* "dearcygui/core.pyx":1307
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1306
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 */
    }

    /* "dearcygui/core.pyx":1305
 *             if target_parent.can_have_handler_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_menubar:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_menubar_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_plot_element:

    /* "dearcygui/core.pyx":1309
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_tab:
 */
    if (__pyx_v_target_parent->can_have_plot_element_child) {

      /* "dearcygui/core.pyx":1310
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1309
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_tab:
 */
    }

    /* "dearcygui/core.pyx":1308
 *             if target_parent.can_have_menubar_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_plot_element:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_plot_element_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_tab:

    /* "dearcygui/core.pyx":1312
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_theme:
 */
    if (__pyx_v_target_parent->can_have_tab_child) {

      /* "dearcygui/core.pyx":1313
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1312
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_theme:
 */
    }

    /* "dearcygui/core.pyx":1311
 *             if target_parent.can_have_plot_element_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_tab:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_tab_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_theme:

    /* "dearcygui/core.pyx":1315
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_widget:
 */
    if (__pyx_v_target_parent->can_have_theme_child) {

      /* "dearcygui/core.pyx":1316
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1315
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_widget:
 */
    }

    /* "dearcygui/core.pyx":1314
 *             if target_parent.can_have_tab_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_theme:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_theme_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_widget:

    /* "dearcygui/core.pyx":1318
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_window:
 */
    if (__pyx_v_target_parent->can_have_widget_child) {

      /* "dearcygui/core.pyx":1319
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1318
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_window:
 */
    }

    /* "dearcygui/core.pyx":1317
 *             if target_parent.can_have_theme_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_widget:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_widget_child:
 *                 compatible = True
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_window:

    /* "dearcygui/core.pyx":1321
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         if not(compatible):
 */
    if (__pyx_v_target_parent->can_have_window_child) {

      /* "dearcygui/core.pyx":1322
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:
 *                 compatible = True             # <<<<<<<<<<<<<<
 *         if not(compatible):
 *             raise TypeError("Instance of type {} cannot be attached to {}".format(type(self), type(target_parent)))
 */
      __pyx_v_compatible = 1;

      /* "dearcygui/core.pyx":1321
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:             # <<<<<<<<<<<<<<
 *                 compatible = True
 *         if not(compatible):
 */
    }

    /* "dearcygui/core.pyx":1320
 *             if target_parent.can_have_widget_child:
 *                 compatible = True
 *         elif self.element_child_category == child_type.cat_window:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_window_child:
 *                 compatible = True
 */
    break;
    default: break;
  }

  /* "dearcygui/core.pyx":1323
 *             if target_parent.can_have_window_child:
 *                 compatible = True
 *         if not(compatible):             # <<<<<<<<<<<<<<
 *             raise TypeError("Instance of type {} cannot be attached to {}".format(type(self), type(target_parent)))
 * 
 */
  __pyx_t_7 = (!__pyx_v_compatible);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1324
 *                 compatible = True
 *         if not(compatible):
 *             raise TypeError("Instance of type {} cannot be attached to {}".format(type(self), type(target_parent)))             # <<<<<<<<<<<<<<
 * 
 *         cdef unique_lock[recursive_mutex] m
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Instance_of_type_cannot_be_attac, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_target_parent)))};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1324, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1324, __pyx_L1_error)

    /* "dearcygui/core.pyx":1323
 *             if target_parent.can_have_window_child:
 *                 compatible = True
 *         if not(compatible):             # <<<<<<<<<<<<<<
 *             raise TypeError("Instance of type {} cannot be attached to {}".format(type(self), type(target_parent)))
 * 
 */
  }

  /* "dearcygui/core.pyx":1332
 *         # __detach_item_and_lock will lock both the item lock
 *         # and the parent lock.
 *         self.__detach_item_and_lock(m)             # <<<<<<<<<<<<<<
 *         # retaining the lock enables to ensure the item is
 *         # still detached
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->_baseItem__detach_item_and_lock(__pyx_v_self, __pyx_v_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1332, __pyx_L1_error)

  /* "dearcygui/core.pyx":1337
 * 
 *         # Lock target parent mutex
 *         lock_gil_friendly(m2, target_parent.mutex)             # <<<<<<<<<<<<<<
 * 
 *         cdef bint attached = False
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_target_parent->mutex);

  /* "dearcygui/core.pyx":1339
 *         lock_gil_friendly(m2, target_parent.mutex)
 * 
 *         cdef bint attached = False             # <<<<<<<<<<<<<<
 * 
 *         # Attach to parent in the correct category
 */
  __pyx_v_attached = 0;

  /* "dearcygui/core.pyx":1343
 *         # Attach to parent in the correct category
 *         # Note that Cython converts this into a switch().
 *         if self.element_child_category == child_type.cat_drawing:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_drawing_child:
 *                 if target_parent.last_drawings_child is not None:
 */
  switch (__pyx_v_self->element_child_category) {
    case __pyx_e_9dearcygui_4core_cat_drawing:

    /* "dearcygui/core.pyx":1344
 *         # Note that Cython converts this into a switch().
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_drawings_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_drawing_child) {

      /* "dearcygui/core.pyx":1345
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:
 *                 if target_parent.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 *                     target_parent.last_drawings_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_drawings_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1346
 *             if target_parent.can_have_drawing_child:
 *                 if target_parent.last_drawings_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_drawings_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_drawings_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_drawings_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1347
 *                 if target_parent.last_drawings_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 *                     target_parent.last_drawings_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_drawings_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_drawings_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_drawings_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_drawings_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1345
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:
 *                 if target_parent.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 *                     target_parent.last_drawings_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1348
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 *                     target_parent.last_drawings_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_drawings_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_drawings_child = <drawingItem>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_drawings_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1349
 *                     target_parent.last_drawings_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_drawings_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_drawings_child = <drawingItem>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1350
 *                 self._prev_sibling = target_parent.last_drawings_child
 *                 self._parent = target_parent
 *                 target_parent.last_drawings_child = <drawingItem>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_handler:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_drawings_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_drawings_child);
      __pyx_v_target_parent->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1351
 *                 self._parent = target_parent
 *                 target_parent.last_drawings_child = <drawingItem>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1344
 *         # Note that Cython converts this into a switch().
 *         if self.element_child_category == child_type.cat_drawing:
 *             if target_parent.can_have_drawing_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_drawings_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_drawings_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1343
 *         # Attach to parent in the correct category
 *         # Note that Cython converts this into a switch().
 *         if self.element_child_category == child_type.cat_drawing:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_drawing_child:
 *                 if target_parent.last_drawings_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_handler:

    /* "dearcygui/core.pyx":1353
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_handler_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_handler_child) {

      /* "dearcygui/core.pyx":1354
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:
 *                 if target_parent.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 *                     target_parent.last_handler_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_handler_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1355
 *             if target_parent.can_have_handler_child:
 *                 if target_parent.last_handler_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_handler_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_handler_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_handler_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1356
 *                 if target_parent.last_handler_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 *                     target_parent.last_handler_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_handler_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_handler_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_handler_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_handler_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1354
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:
 *                 if target_parent.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 *                     target_parent.last_handler_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1357
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 *                     target_parent.last_handler_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_handler_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_handler_child = <baseHandler>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_handler_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1358
 *                     target_parent.last_handler_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_handler_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_handler_child = <baseHandler>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1359
 *                 self._prev_sibling = target_parent.last_handler_child
 *                 self._parent = target_parent
 *                 target_parent.last_handler_child = <baseHandler>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_menubar:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_handler_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_handler_child);
      __pyx_v_target_parent->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1360
 *                 self._parent = target_parent
 *                 target_parent.last_handler_child = <baseHandler>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1353
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_handler:
 *             if target_parent.can_have_handler_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_handler_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_handler_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1352
 *                 target_parent.last_drawings_child = <drawingItem>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_handler:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_handler_child:
 *                 if target_parent.last_handler_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_menubar:

    /* "dearcygui/core.pyx":1362
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_menubar_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_menubar_child) {

      /* "dearcygui/core.pyx":1363
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:
 *                 if target_parent.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 *                     target_parent.last_menubar_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_menubar_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1364
 *             if target_parent.can_have_menubar_child:
 *                 if target_parent.last_menubar_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_menubar_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_menubar_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_menubar_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1365
 *                 if target_parent.last_menubar_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 *                     target_parent.last_menubar_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_menubar_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_menubar_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_menubar_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_menubar_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1363
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:
 *                 if target_parent.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 *                     target_parent.last_menubar_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1366
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 *                     target_parent.last_menubar_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_menubar_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_menubar_child = <uiItem>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_menubar_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1367
 *                     target_parent.last_menubar_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_menubar_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_menubar_child = <uiItem>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1368
 *                 self._prev_sibling = target_parent.last_menubar_child
 *                 self._parent = target_parent
 *                 target_parent.last_menubar_child = <uiItem>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_menubar_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_menubar_child);
      __pyx_v_target_parent->last_menubar_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1369
 *                 self._parent = target_parent
 *                 target_parent.last_menubar_child = <uiItem>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1362
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_menubar:
 *             if target_parent.can_have_menubar_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_menubar_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_menubar_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1361
 *                 target_parent.last_handler_child = <baseHandler>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_menubar:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_menubar_child:
 *                 if target_parent.last_menubar_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_plot_element:

    /* "dearcygui/core.pyx":1371
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_plot_element_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_plot_element_child) {

      /* "dearcygui/core.pyx":1372
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:
 *                 if target_parent.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 *                     target_parent.last_plot_element_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_plot_element_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1373
 *             if target_parent.can_have_plot_element_child:
 *                 if target_parent.last_plot_element_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_plot_element_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_plot_element_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_plot_element_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1374
 *                 if target_parent.last_plot_element_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 *                     target_parent.last_plot_element_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_plot_element_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_plot_element_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_plot_element_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_plot_element_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1372
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:
 *                 if target_parent.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 *                     target_parent.last_plot_element_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1375
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 *                     target_parent.last_plot_element_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_plot_element_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_plot_element_child = <plotElement>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_plot_element_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1376
 *                     target_parent.last_plot_element_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_plot_element_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_plot_element_child = <plotElement>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1377
 *                 self._prev_sibling = target_parent.last_plot_element_child
 *                 self._parent = target_parent
 *                 target_parent.last_plot_element_child = <plotElement>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_tab:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_plot_element_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_plot_element_child);
      __pyx_v_target_parent->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1378
 *                 self._parent = target_parent
 *                 target_parent.last_plot_element_child = <plotElement>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1371
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_plot_element:
 *             if target_parent.can_have_plot_element_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_plot_element_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_plot_element_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1370
 *                 target_parent.last_menubar_child = <uiItem>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_plot_element:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_plot_element_child:
 *                 if target_parent.last_plot_element_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_tab:

    /* "dearcygui/core.pyx":1380
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_tab_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_tab_child) {

      /* "dearcygui/core.pyx":1381
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:
 *                 if target_parent.last_tab_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 *                     target_parent.last_tab_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_tab_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1382
 *             if target_parent.can_have_tab_child:
 *                 if target_parent.last_tab_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_tab_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_tab_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_tab_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1383
 *                 if target_parent.last_tab_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 *                     target_parent.last_tab_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_tab_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_tab_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_tab_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_tab_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1381
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:
 *                 if target_parent.last_tab_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 *                     target_parent.last_tab_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1384
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 *                     target_parent.last_tab_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_tab_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_tab_child = <uiItem>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_tab_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1385
 *                     target_parent.last_tab_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_tab_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_tab_child = <uiItem>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1386
 *                 self._prev_sibling = target_parent.last_tab_child
 *                 self._parent = target_parent
 *                 target_parent.last_tab_child = <uiItem>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_theme:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_tab_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_tab_child);
      __pyx_v_target_parent->last_tab_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1387
 *                 self._parent = target_parent
 *                 target_parent.last_tab_child = <uiItem>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1380
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_tab:
 *             if target_parent.can_have_tab_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_tab_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_tab_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1379
 *                 target_parent.last_plot_element_child = <plotElement>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_tab:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_tab_child:
 *                 if target_parent.last_tab_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_theme:

    /* "dearcygui/core.pyx":1389
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_theme_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_theme_child) {

      /* "dearcygui/core.pyx":1390
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:
 *                 if target_parent.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 *                     target_parent.last_theme_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_theme_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1391
 *             if target_parent.can_have_theme_child:
 *                 if target_parent.last_theme_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_theme_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_theme_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_theme_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1392
 *                 if target_parent.last_theme_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 *                     target_parent.last_theme_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_theme_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_theme_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_theme_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_theme_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1390
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:
 *                 if target_parent.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 *                     target_parent.last_theme_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1393
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 *                     target_parent.last_theme_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_theme_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_theme_child = <baseTheme>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_theme_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1394
 *                     target_parent.last_theme_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_theme_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_theme_child = <baseTheme>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1395
 *                 self._prev_sibling = target_parent.last_theme_child
 *                 self._parent = target_parent
 *                 target_parent.last_theme_child = <baseTheme>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_widget:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_theme_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_theme_child);
      __pyx_v_target_parent->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1396
 *                 self._parent = target_parent
 *                 target_parent.last_theme_child = <baseTheme>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1389
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_theme:
 *             if target_parent.can_have_theme_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_theme_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_theme_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1388
 *                 target_parent.last_tab_child = <uiItem>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_theme:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_theme_child:
 *                 if target_parent.last_theme_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_widget:

    /* "dearcygui/core.pyx":1398
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_widgets_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_widget_child) {

      /* "dearcygui/core.pyx":1399
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:
 *                 if target_parent.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 *                     target_parent.last_widgets_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_widgets_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1400
 *             if target_parent.can_have_widget_child:
 *                 if target_parent.last_widgets_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_widgets_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_widgets_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_widgets_child->__pyx_base.mutex);

        /* "dearcygui/core.pyx":1401
 *                 if target_parent.last_widgets_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 *                     target_parent.last_widgets_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_widgets_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_widgets_child->__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_widgets_child->__pyx_base._next_sibling);
        __pyx_v_target_parent->last_widgets_child->__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1399
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:
 *                 if target_parent.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 *                     target_parent.last_widgets_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1402
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 *                     target_parent.last_widgets_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_widgets_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_widgets_child = <uiItem>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_widgets_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1403
 *                     target_parent.last_widgets_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_widgets_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_widgets_child = <uiItem>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1404
 *                 self._prev_sibling = target_parent.last_widgets_child
 *                 self._parent = target_parent
 *                 target_parent.last_widgets_child = <uiItem>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_window:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_widgets_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_widgets_child);
      __pyx_v_target_parent->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1405
 *                 self._parent = target_parent
 *                 target_parent.last_widgets_child = <uiItem>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1398
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_widget:
 *             if target_parent.can_have_widget_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_widgets_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_widgets_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1397
 *                 target_parent.last_theme_child = <baseTheme>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_widget:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_widget_child:
 *                 if target_parent.last_widgets_child is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_cat_window:

    /* "dearcygui/core.pyx":1407
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_window_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 */
    if (__pyx_v_target_parent->can_have_window_child) {

      /* "dearcygui/core.pyx":1408
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:
 *                 if target_parent.last_window_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 *                     target_parent.last_window_child._next_sibling = self
 */
      __pyx_t_7 = (((PyObject *)__pyx_v_target_parent->last_window_child) != Py_None);
      if (__pyx_t_7) {

        /* "dearcygui/core.pyx":1409
 *             if target_parent.can_have_window_child:
 *                 if target_parent.last_window_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)             # <<<<<<<<<<<<<<
 *                     target_parent.last_window_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_window_child
 */
        __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_target_parent->last_window_child->__pyx_base.__pyx_base.mutex);

        /* "dearcygui/core.pyx":1410
 *                 if target_parent.last_window_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 *                     target_parent.last_window_child._next_sibling = self             # <<<<<<<<<<<<<<
 *                 self._prev_sibling = target_parent.last_window_child
 *                 self._parent = target_parent
 */
        __Pyx_INCREF((PyObject *)__pyx_v_self);
        __Pyx_GIVEREF((PyObject *)__pyx_v_self);
        __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_window_child->__pyx_base.__pyx_base._next_sibling);
        __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_window_child->__pyx_base.__pyx_base._next_sibling);
        __pyx_v_target_parent->last_window_child->__pyx_base.__pyx_base._next_sibling = __pyx_v_self;

        /* "dearcygui/core.pyx":1408
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:
 *                 if target_parent.last_window_child is not None:             # <<<<<<<<<<<<<<
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 *                     target_parent.last_window_child._next_sibling = self
 */
      }

      /* "dearcygui/core.pyx":1411
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 *                     target_parent.last_window_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_window_child             # <<<<<<<<<<<<<<
 *                 self._parent = target_parent
 *                 target_parent.last_window_child = <Window>self
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_target_parent->last_window_child);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
      __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1412
 *                     target_parent.last_window_child._next_sibling = self
 *                 self._prev_sibling = target_parent.last_window_child
 *                 self._parent = target_parent             # <<<<<<<<<<<<<<
 *                 target_parent.last_window_child = <Window>self
 *                 attached = True
 */
      __Pyx_INCREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GIVEREF((PyObject *)__pyx_v_target_parent);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
      __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
      __pyx_v_self->_parent = __pyx_v_target_parent;

      /* "dearcygui/core.pyx":1413
 *                 self._prev_sibling = target_parent.last_window_child
 *                 self._parent = target_parent
 *                 target_parent.last_window_child = <Window>self             # <<<<<<<<<<<<<<
 *                 attached = True
 *         assert(attached) # because we checked before compatibility
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_1);
      __Pyx_GOTREF((PyObject *)__pyx_v_target_parent->last_window_child);
      __Pyx_DECREF((PyObject *)__pyx_v_target_parent->last_window_child);
      __pyx_v_target_parent->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "dearcygui/core.pyx":1414
 *                 self._parent = target_parent
 *                 target_parent.last_window_child = <Window>self
 *                 attached = True             # <<<<<<<<<<<<<<
 *         assert(attached) # because we checked before compatibility
 *         if not(self._parent.__check_rendered()): # TODO: could be optimized. Also not totally correct (attaching to a menu for instance)
 */
      __pyx_v_attached = 1;

      /* "dearcygui/core.pyx":1407
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_window:
 *             if target_parent.can_have_window_child:             # <<<<<<<<<<<<<<
 *                 if target_parent.last_window_child is not None:
 *                     lock_gil_friendly(m3, target_parent.last_window_child.mutex)
 */
    }

    /* "dearcygui/core.pyx":1406
 *                 target_parent.last_widgets_child = <uiItem>self
 *                 attached = True
 *         elif self.element_child_category == child_type.cat_window:             # <<<<<<<<<<<<<<
 *             if target_parent.can_have_window_child:
 *                 if target_parent.last_window_child is not None:
 */
    break;
    default: break;
  }

  /* "dearcygui/core.pyx":1415
 *                 target_parent.last_window_child = <Window>self
 *                 attached = True
 *         assert(attached) # because we checked before compatibility             # <<<<<<<<<<<<<<
 *         if not(self._parent.__check_rendered()): # TODO: could be optimized. Also not totally correct (attaching to a menu for instance)
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    if (unlikely(!__pyx_v_attached)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 1415, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 1415, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":1416
 *                 attached = True
 *         assert(attached) # because we checked before compatibility
 *         if not(self._parent.__check_rendered()): # TODO: could be optimized. Also not totally correct (attaching to a menu for instance)             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  __pyx_t_7 = ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->_parent->__pyx_vtab)->_baseItem__check_rendered(__pyx_v_self->_parent); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1416, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_7);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1417
 *         assert(attached) # because we checked before compatibility
 *         if not(self._parent.__check_rendered()): # TODO: could be optimized. Also not totally correct (attaching to a menu for instance)
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 * 
 *     cpdef void attach_before(self, target):
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1416
 *                 attached = True
 *         assert(attached) # because we checked before compatibility
 *         if not(self._parent.__check_rendered()): # TODO: could be optimized. Also not totally correct (attaching to a menu for instance)             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  }

  /* "dearcygui/core.pyx":1265
 * 
 * 
 *     cpdef void attach_to_parent(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = target, but
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.attach_to_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_target_parent);
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_13attach_to_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_12attach_to_parent, "\n        Same as item.parent = target, but\n        target must not be None\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_13attach_to_parent = {"attach_to_parent", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_13attach_to_parent, METH_O, __pyx_doc_9dearcygui_4core_8baseItem_12attach_to_parent};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_13attach_to_parent(PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("attach_to_parent (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_12attach_to_parent(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v_target));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_12attach_to_parent(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("attach_to_parent", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_8baseItem_attach_to_parent(__pyx_v_self, __pyx_v_target, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1265, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.attach_to_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1419
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void attach_before(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.next_sibling = target,
 */

static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_15attach_before(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_attach_before(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target, int __pyx_skip_dispatch) {
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target_before = 0;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_target_before_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_target_parent_m;
  struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v__prev_sibling = 0;
  std::unique_lock<std::recursive_mutex>  __pyx_v_prev_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  Py_UCS4 __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("attach_before", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attach_before); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_8baseItem_15attach_before)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_target};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1419, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":1425
 *         """
 *         cdef baseItem target_before
 *         if self.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach a deleted item")
 * 
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->context) == Py_None);
  if (unlikely(__pyx_t_6)) {

    /* "dearcygui/core.pyx":1426
 *         cdef baseItem target_before
 *         if self.context is None:
 *             raise ValueError("Trying to attach a deleted item")             # <<<<<<<<<<<<<<
 * 
 *         if not(isinstance(target, baseItem)):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1426, __pyx_L1_error)

    /* "dearcygui/core.pyx":1425
 *         """
 *         cdef baseItem target_before
 *         if self.context is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Trying to attach a deleted item")
 * 
 */
  }

  /* "dearcygui/core.pyx":1428
 *             raise ValueError("Trying to attach a deleted item")
 * 
 *         if not(isinstance(target, baseItem)):             # <<<<<<<<<<<<<<
 *             target_before = self.context[target]
 *         else:
 */
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_target, __pyx_ptype_9dearcygui_4core_baseItem); 
  __pyx_t_7 = (!__pyx_t_6);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":1429
 * 
 *         if not(isinstance(target, baseItem)):
 *             target_before = self.context[target]             # <<<<<<<<<<<<<<
 *         else:
 *             target_before = <baseItem>target
 */
    __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self->context), __pyx_v_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseItem))))) __PYX_ERR(1, 1429, __pyx_L1_error)
    __pyx_v_target_before = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1428
 *             raise ValueError("Trying to attach a deleted item")
 * 
 *         if not(isinstance(target, baseItem)):             # <<<<<<<<<<<<<<
 *             target_before = self.context[target]
 *         else:
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":1431
 *             target_before = self.context[target]
 *         else:
 *             target_before = <baseItem>target             # <<<<<<<<<<<<<<
 *             if target_before.context is not self.context:
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 */
  /*else*/ {
    __pyx_t_1 = __pyx_v_target;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_target_before = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1432
 *         else:
 *             target_before = <baseItem>target
 *             if target_before.context is not self.context:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 */
    __pyx_t_7 = (__pyx_v_target_before->context != __pyx_v_self->context);
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":1433
 *             target_before = <baseItem>target
 *             if target_before.context is not self.context:
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")             # <<<<<<<<<<<<<<
 * 
 *         if target_before is None:
 */
      __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = 0;
      __pyx_t_9 = 127;
      __Pyx_INCREF(__pyx_kp_u_Cannot_attach);
      __pyx_t_8 += 14;
      __Pyx_GIVEREF(__pyx_kp_u_Cannot_attach);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_Cannot_attach);
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_INCREF(__pyx_kp_u_to);
      __pyx_t_8 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_to);
      PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_to);
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9;
      __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_INCREF(__pyx_kp_u_as_it_was_not_created_in_the_sa);
      __pyx_t_8 += 42;
      __Pyx_GIVEREF(__pyx_kp_u_as_it_was_not_created_in_the_sa);
      PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_as_it_was_not_created_in_the_sa);
      __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 5, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 1433, __pyx_L1_error)

      /* "dearcygui/core.pyx":1432
 *         else:
 *             target_before = <baseItem>target
 *             if target_before.context is not self.context:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 */
    }
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":1435
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 *         if target_before is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("target before cannot be None")
 * 
 */
  __pyx_t_7 = (((PyObject *)__pyx_v_target_before) == Py_None);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1436
 * 
 *         if target_before is None:
 *             raise ValueError("target before cannot be None")             # <<<<<<<<<<<<<<
 * 
 *         cdef unique_lock[recursive_mutex] m
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1436, __pyx_L1_error)

    /* "dearcygui/core.pyx":1435
 *                 raise ValueError(f"Cannot attach {self} to {target} as it was not created in the same context")
 * 
 *         if target_before is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("target before cannot be None")
 * 
 */
  }

  /* "dearcygui/core.pyx":1444
 *         # __detach_item_and_lock will lock both the item lock
 *         # and the parent lock.
 *         self.__detach_item_and_lock(m)             # <<<<<<<<<<<<<<
 *         # retaining the lock enables to ensure the item is
 *         # still detached
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->_baseItem__detach_item_and_lock(__pyx_v_self, __pyx_v_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1444, __pyx_L1_error)

  /* "dearcygui/core.pyx":1449
 * 
 *         # Lock target mutex and its parent mutex
 *         target_before.lock_parent_and_item_mutex(target_parent_m,             # <<<<<<<<<<<<<<
 *                                                  target_before_m)
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_target_before->__pyx_vtab)->lock_parent_and_item_mutex(__pyx_v_target_before, __pyx_v_target_parent_m, __pyx_v_target_before_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1449, __pyx_L1_error)

  /* "dearcygui/core.pyx":1452
 *                                                  target_before_m)
 * 
 *         if target_before._parent is None:             # <<<<<<<<<<<<<<
 *             # We can bind to an unattached parent, but not
 *             # to unattached siblings. Could be implemented, but not trivial.
 */
  __pyx_t_7 = (((PyObject *)__pyx_v_target_before->_parent) == Py_None);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1458
 *             # but that defeats the purpose of building items
 *             # outside the rendering tree.
 *             raise ValueError("Trying to attach to an un-attached sibling. Not yet supported")             # <<<<<<<<<<<<<<
 * 
 *         # Check the elements can indeed be siblings
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1458, __pyx_L1_error)

    /* "dearcygui/core.pyx":1452
 *                                                  target_before_m)
 * 
 *         if target_before._parent is None:             # <<<<<<<<<<<<<<
 *             # We can bind to an unattached parent, but not
 *             # to unattached siblings. Could be implemented, but not trivial.
 */
  }

  /* "dearcygui/core.pyx":1461
 * 
 *         # Check the elements can indeed be siblings
 *         if not(self.can_have_sibling):             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))
 *         if not(target_before.can_have_sibling):
 */
  __pyx_t_7 = (!__pyx_v_self->can_have_sibling);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1462
 *         # Check the elements can indeed be siblings
 *         if not(self.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))             # <<<<<<<<<<<<<<
 *         if not(target_before.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Instance_of_type_cannot_have_a_s, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1462, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 1462, __pyx_L1_error)

    /* "dearcygui/core.pyx":1461
 * 
 *         # Check the elements can indeed be siblings
 *         if not(self.can_have_sibling):             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))
 *         if not(target_before.can_have_sibling):
 */
  }

  /* "dearcygui/core.pyx":1463
 *         if not(self.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))
 *         if not(target_before.can_have_sibling):             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 *         if self.element_child_category != target_before.element_child_category:
 */
  __pyx_t_7 = (!__pyx_v_target_before->can_have_sibling);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1464
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))
 *         if not(target_before.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))             # <<<<<<<<<<<<<<
 *         if self.element_child_category != target_before.element_child_category:
 *             raise ValueError("Instance of type {} cannot be sibling to {}".format(type(self), type(target_before)))
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Instance_of_type_cannot_have_a_s, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_target_before)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 1464, __pyx_L1_error)

    /* "dearcygui/core.pyx":1463
 *         if not(self.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(self)))
 *         if not(target_before.can_have_sibling):             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 *         if self.element_child_category != target_before.element_child_category:
 */
  }

  /* "dearcygui/core.pyx":1465
 *         if not(target_before.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 *         if self.element_child_category != target_before.element_child_category:             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot be sibling to {}".format(type(self), type(target_before)))
 * 
 */
  __pyx_t_7 = (__pyx_v_self->element_child_category != __pyx_v_target_before->element_child_category);
  if (unlikely(__pyx_t_7)) {

    /* "dearcygui/core.pyx":1466
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 *         if self.element_child_category != target_before.element_child_category:
 *             raise ValueError("Instance of type {} cannot be sibling to {}".format(type(self), type(target_before)))             # <<<<<<<<<<<<<<
 * 
 *         # Attach to sibling
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Instance_of_type_cannot_be_sibli, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_target_before)))};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1466, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 1466, __pyx_L1_error)

    /* "dearcygui/core.pyx":1465
 *         if not(target_before.can_have_sibling):
 *             raise ValueError("Instance of type {} cannot have a sibling".format(type(target_before)))
 *         if self.element_child_category != target_before.element_child_category:             # <<<<<<<<<<<<<<
 *             raise ValueError("Instance of type {} cannot be sibling to {}".format(type(self), type(target_before)))
 * 
 */
  }

  /* "dearcygui/core.pyx":1469
 * 
 *         # Attach to sibling
 *         cdef baseItem _prev_sibling = target_before._prev_sibling             # <<<<<<<<<<<<<<
 *         self._parent = target_before._parent
 *         # Potential deadlocks are avoided by the fact that we hold the parent
 */
  __pyx_t_2 = ((PyObject *)__pyx_v_target_before->_prev_sibling);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v__prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":1470
 *         # Attach to sibling
 *         cdef baseItem _prev_sibling = target_before._prev_sibling
 *         self._parent = target_before._parent             # <<<<<<<<<<<<<<
 *         # Potential deadlocks are avoided by the fact that we hold the parent
 *         # mutex and any lock of a next sibling must hold the parent
 */
  __pyx_t_2 = ((PyObject *)__pyx_v_target_before->_parent);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
  __pyx_v_self->_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":1475
 *         # mutex.
 *         cdef unique_lock[recursive_mutex] prev_m
 *         if _prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(prev_m, _prev_sibling.mutex)
 *             _prev_sibling._next_sibling = self
 */
  __pyx_t_7 = (((PyObject *)__pyx_v__prev_sibling) != Py_None);
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":1476
 *         cdef unique_lock[recursive_mutex] prev_m
 *         if _prev_sibling is not None:
 *             lock_gil_friendly(prev_m, _prev_sibling.mutex)             # <<<<<<<<<<<<<<
 *             _prev_sibling._next_sibling = self
 *         self._prev_sibling = _prev_sibling
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_prev_m, __pyx_v__prev_sibling->mutex);

    /* "dearcygui/core.pyx":1477
 *         if _prev_sibling is not None:
 *             lock_gil_friendly(prev_m, _prev_sibling.mutex)
 *             _prev_sibling._next_sibling = self             # <<<<<<<<<<<<<<
 *         self._prev_sibling = _prev_sibling
 *         self._next_sibling = target_before
 */
    __Pyx_INCREF((PyObject *)__pyx_v_self);
    __Pyx_GIVEREF((PyObject *)__pyx_v_self);
    __Pyx_GOTREF((PyObject *)__pyx_v__prev_sibling->_next_sibling);
    __Pyx_DECREF((PyObject *)__pyx_v__prev_sibling->_next_sibling);
    __pyx_v__prev_sibling->_next_sibling = __pyx_v_self;

    /* "dearcygui/core.pyx":1475
 *         # mutex.
 *         cdef unique_lock[recursive_mutex] prev_m
 *         if _prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(prev_m, _prev_sibling.mutex)
 *             _prev_sibling._next_sibling = self
 */
  }

  /* "dearcygui/core.pyx":1478
 *             lock_gil_friendly(prev_m, _prev_sibling.mutex)
 *             _prev_sibling._next_sibling = self
 *         self._prev_sibling = _prev_sibling             # <<<<<<<<<<<<<<
 *         self._next_sibling = target_before
 *         target_before._prev_sibling = self
 */
  __Pyx_INCREF((PyObject *)__pyx_v__prev_sibling);
  __Pyx_GIVEREF((PyObject *)__pyx_v__prev_sibling);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
  __pyx_v_self->_prev_sibling = __pyx_v__prev_sibling;

  /* "dearcygui/core.pyx":1479
 *             _prev_sibling._next_sibling = self
 *         self._prev_sibling = _prev_sibling
 *         self._next_sibling = target_before             # <<<<<<<<<<<<<<
 *         target_before._prev_sibling = self
 *         if not(self._parent.__check_rendered()):
 */
  __Pyx_INCREF((PyObject *)__pyx_v_target_before);
  __Pyx_GIVEREF((PyObject *)__pyx_v_target_before);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_next_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_next_sibling);
  __pyx_v_self->_next_sibling = __pyx_v_target_before;

  /* "dearcygui/core.pyx":1480
 *         self._prev_sibling = _prev_sibling
 *         self._next_sibling = target_before
 *         target_before._prev_sibling = self             # <<<<<<<<<<<<<<
 *         if not(self._parent.__check_rendered()):
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 */
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF((PyObject *)__pyx_v_target_before->_prev_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_target_before->_prev_sibling);
  __pyx_v_target_before->_prev_sibling = __pyx_v_self;

  /* "dearcygui/core.pyx":1481
 *         self._next_sibling = target_before
 *         target_before._prev_sibling = self
 *         if not(self._parent.__check_rendered()):             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  __pyx_t_7 = ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->_parent->__pyx_vtab)->_baseItem__check_rendered(__pyx_v_self->_parent); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1481, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_7);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1482
 *         target_before._prev_sibling = self
 *         if not(self._parent.__check_rendered()):
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 * 
 *     cdef void __detach_item_and_lock(self, unique_lock[recursive_mutex]& m):
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1481
 *         self._next_sibling = target_before
 *         target_before._prev_sibling = self
 *         if not(self._parent.__check_rendered()):             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  }

  /* "dearcygui/core.pyx":1419
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void attach_before(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.next_sibling = target,
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.attach_before", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_target_before);
  __Pyx_XDECREF((PyObject *)__pyx_v__prev_sibling);
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_15attach_before(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_14attach_before, "\n        Same as item.next_sibling = target,\n        but target must not be None\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_15attach_before = {"attach_before", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_15attach_before, METH_O, __pyx_doc_9dearcygui_4core_8baseItem_14attach_before};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_15attach_before(PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("attach_before (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_14attach_before(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v_target));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_14attach_before(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("attach_before", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_8baseItem_attach_before(__pyx_v_self, __pyx_v_target, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1419, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.attach_before", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1484
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cdef void __detach_item_and_lock(self, unique_lock[recursive_mutex]& m):             # <<<<<<<<<<<<<<
 *         # NOTE: the mutex is not locked if we raise an exception.
 *         # Detach the item from its parent and siblings
 */

static void __pyx_f_9dearcygui_4core_8baseItem__baseItem__detach_item_and_lock(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, std::unique_lock<std::recursive_mutex>  &__pyx_v_m) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_parent_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_sibling_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_baseItem__detach_item_and_lock", 1);

  /* "dearcygui/core.pyx":1491
 *         cdef unique_lock[recursive_mutex] parent_m
 *         cdef unique_lock[recursive_mutex] sibling_m
 *         self.lock_parent_and_item_mutex(parent_m, m)             # <<<<<<<<<<<<<<
 *         # Use unique lock for the mutexes to
 *         # simplify handling (parent will change)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->lock_parent_and_item_mutex(__pyx_v_self, __pyx_v_parent_m, __pyx_v_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1491, __pyx_L1_error)

  /* "dearcygui/core.pyx":1495
 *         # simplify handling (parent will change)
 * 
 *         if self.parent is None:             # <<<<<<<<<<<<<<
 *             return # nothing to do
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__pyx_t_1 == Py_None);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1496
 * 
 *         if self.parent is None:
 *             return # nothing to do             # <<<<<<<<<<<<<<
 * 
 *         # Remove this item from the list of siblings
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1495
 *         # simplify handling (parent will change)
 * 
 *         if self.parent is None:             # <<<<<<<<<<<<<<
 *             return # nothing to do
 * 
 */
  }

  /* "dearcygui/core.pyx":1499
 * 
 *         # Remove this item from the list of siblings
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 */
  __pyx_t_2 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1500
 *         # Remove this item from the list of siblings
 *         if self._prev_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)             # <<<<<<<<<<<<<<
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_sibling_m, __pyx_v_self->_prev_sibling->mutex);

    /* "dearcygui/core.pyx":1501
 *         if self._prev_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling             # <<<<<<<<<<<<<<
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_self->_next_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling->_next_sibling);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling->_next_sibling);
    __pyx_v_self->_prev_sibling->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1502
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()             # <<<<<<<<<<<<<<
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 */
    __pyx_v_sibling_m.unlock();

    /* "dearcygui/core.pyx":1499
 * 
 *         # Remove this item from the list of siblings
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 */
  }

  /* "dearcygui/core.pyx":1503
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 */
  __pyx_t_2 = (((PyObject *)__pyx_v_self->_next_sibling) != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1504
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)             # <<<<<<<<<<<<<<
 *             self._next_sibling._prev_sibling = self._prev_sibling
 *             sibling_m.unlock()
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_sibling_m, __pyx_v_self->_next_sibling->mutex);

    /* "dearcygui/core.pyx":1505
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling             # <<<<<<<<<<<<<<
 *             sibling_m.unlock()
 *         else:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_next_sibling->_prev_sibling);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_next_sibling->_prev_sibling);
    __pyx_v_self->_next_sibling->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1506
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 *             sibling_m.unlock()             # <<<<<<<<<<<<<<
 *         else:
 *             # No next sibling. We might be referenced in the
 */
    __pyx_v_sibling_m.unlock();

    /* "dearcygui/core.pyx":1503
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":1510
 *             # No next sibling. We might be referenced in the
 *             # parent
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 */
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent) != Py_None);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":1511
 *             # parent
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_window_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1512
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_Window))))) __PYX_ERR(1, 1512, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_window_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_window_child);
        __pyx_v_self->_parent->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1511
 *             # parent
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1513
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_widgets_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1514
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_uiItem))))) __PYX_ERR(1, 1514, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_widgets_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_widgets_child);
        __pyx_v_self->_parent->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1513
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1515
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_drawings_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1516
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_drawingItem))))) __PYX_ERR(1, 1516, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_drawings_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_drawings_child);
        __pyx_v_self->_parent->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1515
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1517
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 */
      __pyx_t_2 = (__pyx_v_self->_parent->last_payloads_child == __pyx_v_self);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1518
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 */
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_payloads_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_payloads_child);
        __pyx_v_self->_parent->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1517
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1519
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_plot_element_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1520
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_plotElement))))) __PYX_ERR(1, 1520, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_plot_element_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_plot_element_child);
        __pyx_v_self->_parent->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1519
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1521
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_handler_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1522
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_theme_child is self:
 *                     self._parent.last_theme_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_baseHandler))))) __PYX_ERR(1, 1522, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_handler_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_handler_child);
        __pyx_v_self->_parent->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1521
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":1523
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_theme_child = self._prev_sibling
 *         # Free references
 */
      __pyx_t_2 = (((PyObject *)__pyx_v_self->_parent->last_theme_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":1524
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 *                     self._parent.last_theme_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *         # Free references
 *         self._parent = None
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_baseTheme))))) __PYX_ERR(1, 1524, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_theme_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_theme_child);
        __pyx_v_self->_parent->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1523
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_theme_child = self._prev_sibling
 *         # Free references
 */
      }
      __pyx_L7:;

      /* "dearcygui/core.pyx":1510
 *             # No next sibling. We might be referenced in the
 *             # parent
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":1526
 *                     self._parent.last_theme_child = self._prev_sibling
 *         # Free references
 *         self._parent = None             # <<<<<<<<<<<<<<
 *         self._prev_sibling = None
 *         self._next_sibling = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
  __pyx_v_self->_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1527
 *         # Free references
 *         self._parent = None
 *         self._prev_sibling = None             # <<<<<<<<<<<<<<
 *         self._next_sibling = None
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
  __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1528
 *         self._parent = None
 *         self._prev_sibling = None
 *         self._next_sibling = None             # <<<<<<<<<<<<<<
 * 
 *     cpdef void detach_item(self):
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_next_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_next_sibling);
  __pyx_v_self->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1484
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cdef void __detach_item_and_lock(self, unique_lock[recursive_mutex]& m):             # <<<<<<<<<<<<<<
 *         # NOTE: the mutex is not locked if we raise an exception.
 *         # Detach the item from its parent and siblings
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem._baseItem__detach_item_and_lock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":1530
 *         self._next_sibling = None
 * 
 *     cpdef void detach_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = None
 */

static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_17detach_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_detach_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, int __pyx_skip_dispatch) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("detach_item", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_detach_item); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_8baseItem_17detach_item)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1530, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":1541
 *         cdef unique_lock[recursive_mutex] m0
 *         cdef unique_lock[recursive_mutex] m
 *         self.__detach_item_and_lock(m)             # <<<<<<<<<<<<<<
 *         # Mark as hidden. Useful for OtherItemHandler
 *         # when we want to detect loss of hover, render, etc
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->_baseItem__detach_item_and_lock(__pyx_v_self, __pyx_v_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1541, __pyx_L1_error)

  /* "dearcygui/core.pyx":1544
 *         # Mark as hidden. Useful for OtherItemHandler
 *         # when we want to detect loss of hover, render, etc
 *         self.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 * 
 *     cpdef void delete_item(self):
 */
  __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(__pyx_v_self);

  /* "dearcygui/core.pyx":1530
 *         self._next_sibling = None
 * 
 *     cpdef void detach_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = None
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.detach_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_17detach_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_16detach_item, "\n        Same as item.parent = None\n\n        The item states (if any) are updated\n        to indicate it is not rendered anymore,\n        and the information propagated to the\n        children.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_17detach_item = {"detach_item", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_17detach_item, METH_NOARGS, __pyx_doc_9dearcygui_4core_8baseItem_16detach_item};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_17detach_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("detach_item (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_16detach_item(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_16detach_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("detach_item", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_8baseItem_detach_item(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1530, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.detach_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1546
 *         self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void delete_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         When an item is not referenced anywhere, it might
 */

static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_19delete_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static void __pyx_f_9dearcygui_4core_8baseItem_delete_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, int __pyx_skip_dispatch) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_sibling_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delete_item", 1);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_delete_item); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1546, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_9dearcygui_4core_8baseItem_19delete_item)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "dearcygui/core.pyx":1560
 * 
 *         cdef unique_lock[recursive_mutex] m
 *         self.__detach_item_and_lock(m)             # <<<<<<<<<<<<<<
 *         # retaining the lock enables to ensure the item is
 *         # still detached
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_vtab)->_baseItem__detach_item_and_lock(__pyx_v_self, __pyx_v_m); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1560, __pyx_L1_error)

  /* "dearcygui/core.pyx":1565
 * 
 *         # Remove this item from the list of elements
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1566
 *         # Remove this item from the list of elements
 *         if self._prev_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)             # <<<<<<<<<<<<<<
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_sibling_m, __pyx_v_self->_prev_sibling->mutex);

    /* "dearcygui/core.pyx":1567
 *         if self._prev_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling             # <<<<<<<<<<<<<<
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_self->_next_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling->_next_sibling);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling->_next_sibling);
    __pyx_v_self->_prev_sibling->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1568
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()             # <<<<<<<<<<<<<<
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 */
    __pyx_v_sibling_m.unlock();

    /* "dearcygui/core.pyx":1565
 * 
 *         # Remove this item from the list of elements
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._prev_sibling.mutex)
 *             self._prev_sibling._next_sibling = self._next_sibling
 */
  }

  /* "dearcygui/core.pyx":1569
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->_next_sibling) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1570
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)             # <<<<<<<<<<<<<<
 *             self._next_sibling._prev_sibling = self._prev_sibling
 *             sibling_m.unlock()
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_sibling_m, __pyx_v_self->_next_sibling->mutex);

    /* "dearcygui/core.pyx":1571
 *         if self._next_sibling is not None:
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling             # <<<<<<<<<<<<<<
 *             sibling_m.unlock()
 *         else:
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_next_sibling->_prev_sibling);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_next_sibling->_prev_sibling);
    __pyx_v_self->_next_sibling->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1572
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 *             sibling_m.unlock()             # <<<<<<<<<<<<<<
 *         else:
 *             # No next sibling. We might be referenced in the
 */
    __pyx_v_sibling_m.unlock();

    /* "dearcygui/core.pyx":1569
 *             self._prev_sibling._next_sibling = self._next_sibling
 *             sibling_m.unlock()
 *         if self._next_sibling is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(sibling_m, self._next_sibling.mutex)
 *             self._next_sibling._prev_sibling = self._prev_sibling
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":1576
 *             # No next sibling. We might be referenced in the
 *             # parent
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 */
  /*else*/ {
    __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent) != Py_None);
    if (__pyx_t_6) {

      /* "dearcygui/core.pyx":1577
 *             # parent
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_window_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1578
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_Window))))) __PYX_ERR(1, 1578, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_window_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_window_child);
        __pyx_v_self->_parent->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1577
 *             # parent
 *             if self._parent is not None:
 *                 if self._parent.last_window_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1579
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_widgets_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1580
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_uiItem))))) __PYX_ERR(1, 1580, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_widgets_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_widgets_child);
        __pyx_v_self->_parent->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1579
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 *                 elif self._parent.last_widgets_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1581
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_drawings_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1582
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_drawingItem))))) __PYX_ERR(1, 1582, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_drawings_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_drawings_child);
        __pyx_v_self->_parent->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1581
 *                 elif self._parent.last_widgets_child is self:
 *                     self._parent.last_widgets_child = self._prev_sibling
 *                 elif self._parent.last_drawings_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1583
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 */
      __pyx_t_6 = (__pyx_v_self->_parent->last_payloads_child == __pyx_v_self);
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1584
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 */
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_payloads_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_payloads_child);
        __pyx_v_self->_parent->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1583
 *                 elif self._parent.last_drawings_child is self:
 *                     self._parent.last_drawings_child = self._prev_sibling
 *                 elif self._parent.last_payloads_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1585
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_plot_element_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1586
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_plotElement))))) __PYX_ERR(1, 1586, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_plot_element_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_plot_element_child);
        __pyx_v_self->_parent->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1585
 *                 elif self._parent.last_payloads_child is self:
 *                     self._parent.last_payloads_child = self._prev_sibling
 *                 elif self._parent.last_plot_element_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1587
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_handler_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1588
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling             # <<<<<<<<<<<<<<
 *                 elif self._parent.last_theme_child is self:
 *                     self._parent.last_theme_child = self._prev_sibling
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_baseHandler))))) __PYX_ERR(1, 1588, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_handler_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_handler_child);
        __pyx_v_self->_parent->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1587
 *                 elif self._parent.last_plot_element_child is self:
 *                     self._parent.last_plot_element_child = self._prev_sibling
 *                 elif self._parent.last_handler_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 */
        goto __pyx_L6;
      }

      /* "dearcygui/core.pyx":1589
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_theme_child = self._prev_sibling
 * 
 */
      __pyx_t_6 = (((PyObject *)__pyx_v_self->_parent->last_theme_child) == ((PyObject *)__pyx_v_self));
      if (__pyx_t_6) {

        /* "dearcygui/core.pyx":1590
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:
 *                     self._parent.last_theme_child = self._prev_sibling             # <<<<<<<<<<<<<<
 * 
 *         # delete all children recursively
 */
        if (!(likely(((((PyObject *)__pyx_v_self->_prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_self->_prev_sibling), __pyx_ptype_9dearcygui_4core_baseTheme))))) __PYX_ERR(1, 1590, __pyx_L1_error)
        __pyx_t_1 = ((PyObject *)__pyx_v_self->_prev_sibling);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_1);
        __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent->last_theme_child);
        __Pyx_DECREF((PyObject *)__pyx_v_self->_parent->last_theme_child);
        __pyx_v_self->_parent->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "dearcygui/core.pyx":1589
 *                 elif self._parent.last_handler_child is self:
 *                     self._parent.last_handler_child = self._prev_sibling
 *                 elif self._parent.last_theme_child is self:             # <<<<<<<<<<<<<<
 *                     self._parent.last_theme_child = self._prev_sibling
 * 
 */
      }
      __pyx_L6:;

      /* "dearcygui/core.pyx":1576
 *             # No next sibling. We might be referenced in the
 *             # parent
 *             if self._parent is not None:             # <<<<<<<<<<<<<<
 *                 if self._parent.last_window_child is self:
 *                     self._parent.last_window_child = self._prev_sibling
 */
    }
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":1593
 * 
 *         # delete all children recursively
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_window_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1594
 *         # delete all children recursively
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1594, __pyx_L1_error)

    /* "dearcygui/core.pyx":1593
 * 
 *         # delete all children recursively
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1595
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_widgets_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1596
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1596, __pyx_L1_error)

    /* "dearcygui/core.pyx":1595
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1597
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_drawings_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1598
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1598, __pyx_L1_error)

    /* "dearcygui/core.pyx":1597
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1599
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_payloads_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1600
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_payloads_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_payloads_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1600, __pyx_L1_error)

    /* "dearcygui/core.pyx":1599
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1601
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_plot_element_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1602
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1602, __pyx_L1_error)

    /* "dearcygui/core.pyx":1601
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1603
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_handler_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1604
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_theme_child is not None:
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_handler_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_handler_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1604, __pyx_L1_error)

    /* "dearcygui/core.pyx":1603
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1605
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # TODO: free item specific references (themes, font, etc)
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->last_theme_child) != Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":1606
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         # TODO: free item specific references (themes, font, etc)
 *         self.last_window_child = None
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_theme_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_theme_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1606, __pyx_L1_error)

    /* "dearcygui/core.pyx":1605
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # TODO: free item specific references (themes, font, etc)
 */
  }

  /* "dearcygui/core.pyx":1608
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # TODO: free item specific references (themes, font, etc)
 *         self.last_window_child = None             # <<<<<<<<<<<<<<
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_window_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_window_child);
  __pyx_v_self->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)Py_None);

  /* "dearcygui/core.pyx":1609
 *         # TODO: free item specific references (themes, font, etc)
 *         self.last_window_child = None
 *         self.last_widgets_child = None             # <<<<<<<<<<<<<<
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_widgets_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_widgets_child);
  __pyx_v_self->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None);

  /* "dearcygui/core.pyx":1610
 *         self.last_window_child = None
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None             # <<<<<<<<<<<<<<
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_drawings_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_drawings_child);
  __pyx_v_self->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)Py_None);

  /* "dearcygui/core.pyx":1611
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None             # <<<<<<<<<<<<<<
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_payloads_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_payloads_child);
  __pyx_v_self->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1612
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None             # <<<<<<<<<<<<<<
 *         self.last_handler_child = None
 *         self.last_theme_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_plot_element_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_plot_element_child);
  __pyx_v_self->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)Py_None);

  /* "dearcygui/core.pyx":1613
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None             # <<<<<<<<<<<<<<
 *         self.last_theme_child = None
 *         # Note we don't free self.context, nor
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_handler_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_handler_child);
  __pyx_v_self->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None);

  /* "dearcygui/core.pyx":1614
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None
 *         self.last_theme_child = None             # <<<<<<<<<<<<<<
 *         # Note we don't free self.context, nor
 *         # destroy anything else: the item might
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_theme_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_theme_child);
  __pyx_v_self->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None);

  /* "dearcygui/core.pyx":1546
 *         self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void delete_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         When an item is not referenced anywhere, it might
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseItem.delete_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_19delete_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_18delete_item, "\n        When an item is not referenced anywhere, it might\n        not get deleted immediately, due to circular references.\n        The Python garbage collector will eventually catch\n        the circular references, but to speedup the process,\n        delete_item will recursively detach the item\n        and all elements in its subtree, as well as bound\n        items. As a result, items with no more references\n        will be freed immediately.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_19delete_item = {"delete_item", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_19delete_item, METH_NOARGS, __pyx_doc_9dearcygui_4core_8baseItem_18delete_item};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_19delete_item(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delete_item (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_18delete_item(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_18delete_item(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delete_item", 1);
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_9dearcygui_4core_8baseItem_delete_item(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1546, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseItem.delete_item", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1620
 *         # and thus should be valid.
 * 
 *     cdef void __delete_and_siblings(self):             # <<<<<<<<<<<<<<
 *         # Must only be called from delete_item or itself.
 *         # Assumes the parent mutex is already held
 */

static void __pyx_f_9dearcygui_4core_8baseItem__baseItem__delete_and_siblings(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_baseItem__delete_and_siblings", 1);

  /* "dearcygui/core.pyx":1624
 *         # Assumes the parent mutex is already held
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         # delete all its children recursively
 *         if self.last_window_child is not None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1626
 *         lock_gil_friendly(m, self.mutex)
 *         # delete all its children recursively
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_window_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1627
 *         # delete all its children recursively
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1627, __pyx_L1_error)

    /* "dearcygui/core.pyx":1626
 *         lock_gil_friendly(m, self.mutex)
 *         # delete all its children recursively
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1628
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1629
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1629, __pyx_L1_error)

    /* "dearcygui/core.pyx":1628
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).__delete_and_siblings()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1630
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_drawings_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1631
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1631, __pyx_L1_error)

    /* "dearcygui/core.pyx":1630
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).__delete_and_siblings()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1632
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_payloads_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1633
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_payloads_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_payloads_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1633, __pyx_L1_error)

    /* "dearcygui/core.pyx":1632
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).__delete_and_siblings()
 *         if self.last_payloads_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1634
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_plot_element_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1635
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1635, __pyx_L1_error)

    /* "dearcygui/core.pyx":1634
 *         if self.last_payloads_child is not None:
 *             (<baseItem>self.last_payloads_child).__delete_and_siblings()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1636
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_handler_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1637
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         if self.last_theme_child is not None:
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_handler_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_handler_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1637, __pyx_L1_error)

    /* "dearcygui/core.pyx":1636
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).__delete_and_siblings()
 *         if self.last_handler_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1638
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # delete previous sibling
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_theme_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1639
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         # delete previous sibling
 *         if self._prev_sibling is not None:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_theme_child)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_theme_child)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1639, __pyx_L1_error)

    /* "dearcygui/core.pyx":1638
 *         if self.last_handler_child is not None:
 *             (<baseItem>self.last_handler_child).__delete_and_siblings()
 *         if self.last_theme_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # delete previous sibling
 */
  }

  /* "dearcygui/core.pyx":1641
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # delete previous sibling
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self._prev_sibling).__delete_and_siblings()
 *         # Free references
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1642
 *         # delete previous sibling
 *         if self._prev_sibling is not None:
 *             (<baseItem>self._prev_sibling).__delete_and_siblings()             # <<<<<<<<<<<<<<
 *         # Free references
 *         self._parent = None
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseItem *)((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->_prev_sibling)->__pyx_vtab)->_baseItem__delete_and_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->_prev_sibling)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1642, __pyx_L1_error)

    /* "dearcygui/core.pyx":1641
 *             (<baseItem>self.last_theme_child).__delete_and_siblings()
 *         # delete previous sibling
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self._prev_sibling).__delete_and_siblings()
 *         # Free references
 */
  }

  /* "dearcygui/core.pyx":1644
 *             (<baseItem>self._prev_sibling).__delete_and_siblings()
 *         # Free references
 *         self._parent = None             # <<<<<<<<<<<<<<
 *         self._prev_sibling = None
 *         self._next_sibling = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_parent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_parent);
  __pyx_v_self->_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1645
 *         # Free references
 *         self._parent = None
 *         self._prev_sibling = None             # <<<<<<<<<<<<<<
 *         self._next_sibling = None
 *         self.last_window_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_prev_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_prev_sibling);
  __pyx_v_self->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1646
 *         self._parent = None
 *         self._prev_sibling = None
 *         self._next_sibling = None             # <<<<<<<<<<<<<<
 *         self.last_window_child = None
 *         self.last_widgets_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_next_sibling);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_next_sibling);
  __pyx_v_self->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1647
 *         self._prev_sibling = None
 *         self._next_sibling = None
 *         self.last_window_child = None             # <<<<<<<<<<<<<<
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_window_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_window_child);
  __pyx_v_self->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)Py_None);

  /* "dearcygui/core.pyx":1648
 *         self._next_sibling = None
 *         self.last_window_child = None
 *         self.last_widgets_child = None             # <<<<<<<<<<<<<<
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_widgets_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_widgets_child);
  __pyx_v_self->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None);

  /* "dearcygui/core.pyx":1649
 *         self.last_window_child = None
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None             # <<<<<<<<<<<<<<
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_drawings_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_drawings_child);
  __pyx_v_self->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)Py_None);

  /* "dearcygui/core.pyx":1650
 *         self.last_widgets_child = None
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None             # <<<<<<<<<<<<<<
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_payloads_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_payloads_child);
  __pyx_v_self->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":1651
 *         self.last_drawings_child = None
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None             # <<<<<<<<<<<<<<
 *         self.last_handler_child = None
 *         self.last_theme_child = None
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_plot_element_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_plot_element_child);
  __pyx_v_self->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)Py_None);

  /* "dearcygui/core.pyx":1652
 *         self.last_payloads_child = None
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None             # <<<<<<<<<<<<<<
 *         self.last_theme_child = None
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_handler_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_handler_child);
  __pyx_v_self->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None);

  /* "dearcygui/core.pyx":1653
 *         self.last_plot_element_child = None
 *         self.last_handler_child = None
 *         self.last_theme_child = None             # <<<<<<<<<<<<<<
 * 
 *     @cython.final # The final is for performance, to avoid a virtual function and thus allow inlining
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->last_theme_child);
  __Pyx_DECREF((PyObject *)__pyx_v_self->last_theme_child);
  __pyx_v_self->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None);

  /* "dearcygui/core.pyx":1620
 *         # and thus should be valid.
 * 
 *     cdef void __delete_and_siblings(self):             # <<<<<<<<<<<<<<
 *         # Must only be called from delete_item or itself.
 *         # Assumes the parent mutex is already held
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem._baseItem__delete_and_siblings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":1656
 * 
 *     @cython.final # The final is for performance, to avoid a virtual function and thus allow inlining
 *     cdef void set_previous_states(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Move current state to previous state
 *         if self.p_state != NULL:
 */

static void __pyx_f_9dearcygui_4core_8baseItem_set_previous_states(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1658
 *     cdef void set_previous_states(self) noexcept nogil:
 *         # Move current state to previous state
 *         if self.p_state != NULL:             # <<<<<<<<<<<<<<
 *             memcpy(<void*>&self.p_state.prev, <void*>&self.p_state.cur, sizeof(self.p_state.cur))
 * 
 */
  __pyx_t_1 = (__pyx_v_self->p_state != NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1659
 *         # Move current state to previous state
 *         if self.p_state != NULL:
 *             memcpy(<void*>&self.p_state.prev, <void*>&self.p_state.cur, sizeof(self.p_state.cur))             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
    (void)(memcpy(((void *)(&__pyx_v_self->p_state->prev)), ((void *)(&__pyx_v_self->p_state->cur)), (sizeof(__pyx_v_self->p_state->cur))));

    /* "dearcygui/core.pyx":1658
 *     cdef void set_previous_states(self) noexcept nogil:
 *         # Move current state to previous state
 *         if self.p_state != NULL:             # <<<<<<<<<<<<<<
 *             memcpy(<void*>&self.p_state.prev, <void*>&self.p_state.cur, sizeof(self.p_state.cur))
 * 
 */
  }

  /* "dearcygui/core.pyx":1656
 * 
 *     @cython.final # The final is for performance, to avoid a virtual function and thus allow inlining
 *     cdef void set_previous_states(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Move current state to previous state
 *         if self.p_state != NULL:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1662
 * 
 *     @cython.final
 *     cdef void run_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if not(self._handlers.empty()):
 */

static void __pyx_f_9dearcygui_4core_8baseItem_run_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;

  /* "dearcygui/core.pyx":1664
 *     cdef void run_handlers(self) noexcept nogil:
 *         cdef int i
 *         if not(self._handlers.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._handlers.size()):
 *                 (<baseHandler>(self._handlers[i])).run_handler(self)
 */
  __pyx_t_1 = (!__pyx_v_self->_handlers.empty());
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1665
 *         cdef int i
 *         if not(self._handlers.empty()):
 *             for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *                 (<baseHandler>(self._handlers[i])).run_handler(self)
 * 
 */
    __pyx_t_2 = ((int)__pyx_v_self->_handlers.size());
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":1666
 *         if not(self._handlers.empty()):
 *             for i in range(<int>self._handlers.size()):
 *                 (<baseHandler>(self._handlers[i])).run_handler(self)             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
      __pyx_t_5 = (__pyx_v_self->_handlers[__pyx_v_i]);
      ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_5)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_5), __pyx_v_self);
    }

    /* "dearcygui/core.pyx":1664
 *     cdef void run_handlers(self) noexcept nogil:
 *         cdef int i
 *         if not(self._handlers.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._handlers.size()):
 *                 (<baseHandler>(self._handlers[i])).run_handler(self)
 */
  }

  /* "dearcygui/core.pyx":1662
 * 
 *     @cython.final
 *     cdef void run_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if not(self._handlers.empty()):
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1669
 * 
 *     @cython.final
 *     cdef void update_current_state_as_hidden(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Indicates the object is hidden
 */

static void __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_v_open;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1673
 *         Indicates the object is hidden
 *         """
 *         if (self.p_state == NULL):             # <<<<<<<<<<<<<<
 *             # No state
 *             return
 */
  __pyx_t_1 = (__pyx_v_self->p_state == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1675
 *         if (self.p_state == NULL):
 *             # No state
 *             return             # <<<<<<<<<<<<<<
 *         cdef bint open = self.p_state.cur.open
 *         memset(<void*>&self.p_state.cur, 0, sizeof(self.p_state.cur))
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1673
 *         Indicates the object is hidden
 *         """
 *         if (self.p_state == NULL):             # <<<<<<<<<<<<<<
 *             # No state
 *             return
 */
  }

  /* "dearcygui/core.pyx":1676
 *             # No state
 *             return
 *         cdef bint open = self.p_state.cur.open             # <<<<<<<<<<<<<<
 *         memset(<void*>&self.p_state.cur, 0, sizeof(self.p_state.cur))
 *         # being open/closed is unaffected by being hidden
 */
  __pyx_t_1 = __pyx_v_self->p_state->cur.open;
  __pyx_v_open = __pyx_t_1;

  /* "dearcygui/core.pyx":1677
 *             return
 *         cdef bint open = self.p_state.cur.open
 *         memset(<void*>&self.p_state.cur, 0, sizeof(self.p_state.cur))             # <<<<<<<<<<<<<<
 *         # being open/closed is unaffected by being hidden
 *         self.p_state.cur.open = open
 */
  (void)(memset(((void *)(&__pyx_v_self->p_state->cur)), 0, (sizeof(__pyx_v_self->p_state->cur))));

  /* "dearcygui/core.pyx":1679
 *         memset(<void*>&self.p_state.cur, 0, sizeof(self.p_state.cur))
 *         # being open/closed is unaffected by being hidden
 *         self.p_state.cur.open = open             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
  __pyx_v_self->p_state->cur.open = __pyx_v_open;

  /* "dearcygui/core.pyx":1669
 * 
 *     @cython.final
 *     cdef void update_current_state_as_hidden(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Indicates the object is hidden
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":1682
 * 
 *     @cython.final
 *     cdef void propagate_hidden_state_to_children_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Called during rendering only.
 */

static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1693
 *         Used also to avoid duplication in the functions below.
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1694
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_widgets_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_window_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1695
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child));

    /* "dearcygui/core.pyx":1694
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_widgets_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1696
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_drawings_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1697
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child));

    /* "dearcygui/core.pyx":1696
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_drawings_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1698
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_plot_element_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_drawings_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1699
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_with_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child));

    /* "dearcygui/core.pyx":1698
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_plot_element_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1700
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         # handlers, themes, payloads, have no states and no children that can have some.
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_plot_element_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1701
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_with_handlers()             # <<<<<<<<<<<<<<
 *         # handlers, themes, payloads, have no states and no children that can have some.
 *         # TODO: plotAxis
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child));

    /* "dearcygui/core.pyx":1700
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_with_handlers()
 *         # handlers, themes, payloads, have no states and no children that can have some.
 */
  }

  /* "dearcygui/core.pyx":1682
 * 
 *     @cython.final
 *     cdef void propagate_hidden_state_to_children_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Called during rendering only.
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1706
 * 
 *     @cython.final
 *     cdef void propagate_hidden_state_to_children_no_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Same as above, but will not call any handlers. Used as helper for functions below
 */

static void __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":1710
 *         Same as above, but will not call any handlers. Used as helper for functions below
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1711
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_widgets_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_window_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1712
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_window_child));

    /* "dearcygui/core.pyx":1711
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_widgets_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1713
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_drawings_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1714
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_widgets_child));

    /* "dearcygui/core.pyx":1713
 *         if self.last_window_child is not None:
 *             (<baseItem>self.last_window_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_drawings_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1715
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_plot_element_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_drawings_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1716
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_no_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_drawings_child));

    /* "dearcygui/core.pyx":1715
 *         if self.last_widgets_child is not None:
 *             (<baseItem>self.last_widgets_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_plot_element_child is not None:
 */
  }

  /* "dearcygui/core.pyx":1717
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->last_plot_element_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1718
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_plot_element_child is not None:
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->last_plot_element_child));

    /* "dearcygui/core.pyx":1717
 *         if self.last_drawings_child is not None:
 *             (<baseItem>self.last_drawings_child).set_hidden_and_propagate_to_siblings_no_handlers()
 *         if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *             (<baseItem>self.last_plot_element_child).set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  }

  /* "dearcygui/core.pyx":1706
 * 
 *     @cython.final
 *     cdef void propagate_hidden_state_to_children_no_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Same as above, but will not call any handlers. Used as helper for functions below
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1721
 * 
 *     @cython.final
 *     cdef void set_hidden_and_propagate_to_siblings_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         A parent item is hidden and this item is not going to be rendered.
 */

static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":1728
 *         users catch an item getting hidden.
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         # Skip propagating and handlers if already hidden.
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1731
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.set_previous_states()
 */
  __pyx_t_2 = (__pyx_v_self->p_state == NULL);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1732
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:             # <<<<<<<<<<<<<<
 *             self.set_previous_states()
 *             self.update_current_state_as_hidden()
 */
  __pyx_t_1 = __pyx_v_self->p_state->cur.rendered;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":1731
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.set_previous_states()
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1733
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:
 *             self.set_previous_states()             # <<<<<<<<<<<<<<
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_previous_states(__pyx_v_self);

    /* "dearcygui/core.pyx":1734
 *             self.p_state.cur.rendered:
 *             self.set_previous_states()
 *             self.update_current_state_as_hidden()             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(__pyx_v_self);

    /* "dearcygui/core.pyx":1735
 *             self.set_previous_states()
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *             self.run_handlers()
 *         if self._prev_sibling is not None:
 */
    __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1736
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_with_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_run_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1731
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.set_previous_states()
 */
  }

  /* "dearcygui/core.pyx":1737
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_with_handlers()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1738
 *             self.run_handlers()
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_with_handlers()             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers(__pyx_v_self->_prev_sibling);

    /* "dearcygui/core.pyx":1737
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_with_handlers()
 * 
 */
  }

  /* "dearcygui/core.pyx":1721
 * 
 *     @cython.final
 *     cdef void set_hidden_and_propagate_to_siblings_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         A parent item is hidden and this item is not going to be rendered.
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1741
 * 
 *     @cython.final
 *     cdef void set_hidden_and_propagate_to_siblings_no_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Same as above, version without calling handlers:
 */

static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":1767
 *           an item is not rendered anymore.
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         # Skip propagating and handlers if already hidden.
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1770
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  __pyx_t_2 = (__pyx_v_self->p_state == NULL);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1771
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:             # <<<<<<<<<<<<<<
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_no_handlers()
 */
  __pyx_t_1 = __pyx_v_self->p_state->cur.rendered;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":1770
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1772
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_no_handlers()
 *         if self._prev_sibling is not None:
 */
    __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(__pyx_v_self);

    /* "dearcygui/core.pyx":1773
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_no_handlers()             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_no_handlers()
 */
    __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_no_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1770
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  }

  /* "dearcygui/core.pyx":1774
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_no_handlers()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1775
 *             self.propagate_hidden_state_to_children_no_handlers()
 *         if self._prev_sibling is not None:
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
 */
    __pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers(__pyx_v_self->_prev_sibling);

    /* "dearcygui/core.pyx":1774
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_no_handlers()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             self._prev_sibling.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 */
  }

  /* "dearcygui/core.pyx":1741
 * 
 *     @cython.final
 *     cdef void set_hidden_and_propagate_to_siblings_no_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Same as above, version without calling handlers:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1778
 * 
 *     @cython.final
 *     cdef void set_hidden_no_handler_and_propagate_to_children_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         The item is hidden, wants its state to be set to hidden, but
 */

static void __pyx_f_9dearcygui_4core_8baseItem_set_hidden_no_handler_and_propagate_to_children_with_handlers(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":1783
 *         manages itself his previous state and his handlers.
 *         """
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         # Skip propagating and handlers if already hidden.
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":1786
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  __pyx_t_2 = (__pyx_v_self->p_state == NULL);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":1787
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:             # <<<<<<<<<<<<<<
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
  __pyx_t_1 = __pyx_v_self->p_state->cur.rendered;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":1786
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1788
 *         if self.p_state == NULL or \
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 * 
 */
    __pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden(__pyx_v_self);

    /* "dearcygui/core.pyx":1789
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 * 
 *     def lock_mutex(self, wait=False):
 */
    __pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers(__pyx_v_self);

    /* "dearcygui/core.pyx":1786
 * 
 *         # Skip propagating and handlers if already hidden.
 *         if self.p_state == NULL or \             # <<<<<<<<<<<<<<
 *             self.p_state.cur.rendered:
 *             self.update_current_state_as_hidden()
 */
  }

  /* "dearcygui/core.pyx":1778
 * 
 *     @cython.final
 *     cdef void set_hidden_no_handler_and_propagate_to_children_with_handlers(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         The item is hidden, wants its state to be set to hidden, but
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":1791
 *             self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     def lock_mutex(self, wait=False):             # <<<<<<<<<<<<<<
 *         """
 *         Lock the internal item mutex.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_21lock_mutex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_20lock_mutex, "\n        Lock the internal item mutex.\n        **Know what you are doing**\n        Locking the mutex will prevent:\n        . Other threads from reading/writing\n          attributes or calling methods with this item,\n          editing the children/parent of the item\n        . Any rendering of this item and its children.\n          If the viewport attemps to render this item,\n          it will be blocked until the mutex is released.\n          (if the rendering thread is holding the mutex,\n           no blocking occurs)\n        This is useful if you want to edit several attributes\n        in several commands of an item or its subtree,\n        and prevent rendering or other threads from accessing\n        the item until you have finished.\n        If you plan on moving the item position in the rendering\n        tree, to avoid deadlock you must hold the mutex of a\n        parent of all the items involved in the motion (a common\n        parent of the source and target parent). This mutex has to\n        be locked before you lock any mutex of your child item\n        if this item is already in the rendering tree (to avoid\n        deadlock with the rendering thread).\n        If you are unsure and plans to move an item already\n        in the rendering tree, it is thus best to lock the viewport\n        mutex first.\n\n        Input argument:\n        . wait (default = False): if locking the mutex fails (mutex\n          held by another thread), wait it is released\n\n        Returns: True if the mutex is held, False else.\n\n        The mutex is a recursive mutex, thus you can lock it several\n        times in the same thread. Each lock has to be matched to an unlock.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_21lock_mutex = {"lock_mutex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_21lock_mutex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8baseItem_20lock_mutex};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_21lock_mutex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_wait = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lock_mutex (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_wait,0};
    values[0] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_False));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wait);
          if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1791, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lock_mutex") < 0)) __PYX_ERR(1, 1791, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_wait = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lock_mutex", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 1791, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.baseItem.lock_mutex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_20lock_mutex(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_wait);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_20lock_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, PyObject *__pyx_v_wait) {
  int __pyx_v_locked;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lock_mutex", 1);

  /* "dearcygui/core.pyx":1828
 *         times in the same thread. Each lock has to be matched to an unlock.
 *         """
 *         cdef bint locked = False             # <<<<<<<<<<<<<<
 *         locked = self.mutex.try_lock()
 *         if not(locked) and not(wait):
 */
  __pyx_v_locked = 0;

  /* "dearcygui/core.pyx":1829
 *         """
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()             # <<<<<<<<<<<<<<
 *         if not(locked) and not(wait):
 *             return False
 */
  __pyx_v_locked = __pyx_v_self->mutex.try_lock();

  /* "dearcygui/core.pyx":1830
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()
 *         if not(locked) and not(wait):             # <<<<<<<<<<<<<<
 *             return False
 *         if not(locked) and wait:
 */
  __pyx_t_2 = (!__pyx_v_locked);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_wait); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 1830, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1831
 *         locked = self.mutex.try_lock()
 *         if not(locked) and not(wait):
 *             return False             # <<<<<<<<<<<<<<
 *         if not(locked) and wait:
 *             while not(locked):
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1830
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()
 *         if not(locked) and not(wait):             # <<<<<<<<<<<<<<
 *             return False
 *         if not(locked) and wait:
 */
  }

  /* "dearcygui/core.pyx":1832
 *         if not(locked) and not(wait):
 *             return False
 *         if not(locked) and wait:             # <<<<<<<<<<<<<<
 *             while not(locked):
 *                 with nogil:
 */
  __pyx_t_3 = (!__pyx_v_locked);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_wait); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 1832, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1833
 *             return False
 *         if not(locked) and wait:
 *             while not(locked):             # <<<<<<<<<<<<<<
 *                 with nogil:
 *                     # Wait the one holding the lock is done
 */
    while (1) {
      __pyx_t_1 = (!__pyx_v_locked);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":1834
 *         if not(locked) and wait:
 *             while not(locked):
 *                 with nogil:             # <<<<<<<<<<<<<<
 *                     # Wait the one holding the lock is done
 *                     # with it
 */
      {
          #ifdef WITH_THREAD
          PyThreadState *_save;
          _save = NULL;
          Py_UNBLOCK_THREADS
          __Pyx_FastGIL_Remember();
          #endif
          /*try:*/ {

            /* "dearcygui/core.pyx":1837
 *                     # Wait the one holding the lock is done
 *                     # with it
 *                     self.mutex.lock()             # <<<<<<<<<<<<<<
 *                     # Unlock because we do not want to
 *                     # deadlock when acquiring the gil
 */
            __pyx_v_self->mutex.lock();

            /* "dearcygui/core.pyx":1840
 *                     # Unlock because we do not want to
 *                     # deadlock when acquiring the gil
 *                     self.mutex.unlock()             # <<<<<<<<<<<<<<
 *                 locked = self.mutex.try_lock()
 *         self.external_lock += 1
 */
            __pyx_v_self->mutex.unlock();
          }

          /* "dearcygui/core.pyx":1834
 *         if not(locked) and wait:
 *             while not(locked):
 *                 with nogil:             # <<<<<<<<<<<<<<
 *                     # Wait the one holding the lock is done
 *                     # with it
 */
          /*finally:*/ {
            /*normal exit:*/{
              #ifdef WITH_THREAD
              __Pyx_FastGIL_Forget();
              Py_BLOCK_THREADS
              #endif
              goto __pyx_L15;
            }
            __pyx_L15:;
          }
      }

      /* "dearcygui/core.pyx":1841
 *                     # deadlock when acquiring the gil
 *                     self.mutex.unlock()
 *                 locked = self.mutex.try_lock()             # <<<<<<<<<<<<<<
 *         self.external_lock += 1
 *         return True
 */
      __pyx_v_locked = __pyx_v_self->mutex.try_lock();
    }

    /* "dearcygui/core.pyx":1832
 *         if not(locked) and not(wait):
 *             return False
 *         if not(locked) and wait:             # <<<<<<<<<<<<<<
 *             while not(locked):
 *                 with nogil:
 */
  }

  /* "dearcygui/core.pyx":1842
 *                     self.mutex.unlock()
 *                 locked = self.mutex.try_lock()
 *         self.external_lock += 1             # <<<<<<<<<<<<<<
 *         return True
 * 
 */
  __pyx_v_self->external_lock = (__pyx_v_self->external_lock + 1);

  /* "dearcygui/core.pyx":1843
 *                 locked = self.mutex.try_lock()
 *         self.external_lock += 1
 *         return True             # <<<<<<<<<<<<<<
 * 
 *     def unlock_mutex(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_True);
  __pyx_r = Py_True;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1791
 *             self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     def lock_mutex(self, wait=False):             # <<<<<<<<<<<<<<
 *         """
 *         Lock the internal item mutex.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.lock_mutex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1845
 *         return True
 * 
 *     def unlock_mutex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Unlock a previously held mutex on this object by this thread.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_23unlock_mutex(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8baseItem_22unlock_mutex, "\n        Unlock a previously held mutex on this object by this thread.\n        Returns True on success, False if no lock was held by this thread.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_23unlock_mutex = {"unlock_mutex", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_23unlock_mutex, METH_NOARGS, __pyx_doc_9dearcygui_4core_8baseItem_22unlock_mutex};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_23unlock_mutex(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unlock_mutex (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_22unlock_mutex(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_22unlock_mutex(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  int __pyx_v_locked;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("unlock_mutex", 1);

  /* "dearcygui/core.pyx":1850
 *         Returns True on success, False if no lock was held by this thread.
 *         """
 *         cdef bint locked = False             # <<<<<<<<<<<<<<
 *         locked = self.mutex.try_lock()
 *         if locked and self.external_lock > 0:
 */
  __pyx_v_locked = 0;

  /* "dearcygui/core.pyx":1851
 *         """
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()             # <<<<<<<<<<<<<<
 *         if locked and self.external_lock > 0:
 *             # We managed to lock and an external lock is held
 */
  __pyx_v_locked = __pyx_v_self->mutex.try_lock();

  /* "dearcygui/core.pyx":1852
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()
 *         if locked and self.external_lock > 0:             # <<<<<<<<<<<<<<
 *             # We managed to lock and an external lock is held
 *             # thus we are indeed the owning thread
 */
  if (__pyx_v_locked) {
  } else {
    __pyx_t_1 = __pyx_v_locked;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->external_lock > 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":1855
 *             # We managed to lock and an external lock is held
 *             # thus we are indeed the owning thread
 *             self.mutex.unlock()             # <<<<<<<<<<<<<<
 *             self.external_lock -= 1
 *             self.mutex.unlock()
 */
    __pyx_v_self->mutex.unlock();

    /* "dearcygui/core.pyx":1856
 *             # thus we are indeed the owning thread
 *             self.mutex.unlock()
 *             self.external_lock -= 1             # <<<<<<<<<<<<<<
 *             self.mutex.unlock()
 *             return True
 */
    __pyx_v_self->external_lock = (__pyx_v_self->external_lock - 1);

    /* "dearcygui/core.pyx":1857
 *             self.mutex.unlock()
 *             self.external_lock -= 1
 *             self.mutex.unlock()             # <<<<<<<<<<<<<<
 *             return True
 *         return False
 */
    __pyx_v_self->mutex.unlock();

    /* "dearcygui/core.pyx":1858
 *             self.external_lock -= 1
 *             self.mutex.unlock()
 *             return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":1852
 *         cdef bint locked = False
 *         locked = self.mutex.try_lock()
 *         if locked and self.external_lock > 0:             # <<<<<<<<<<<<<<
 *             # We managed to lock and an external lock is held
 *             # thus we are indeed the owning thread
 */
  }

  /* "dearcygui/core.pyx":1859
 *             self.mutex.unlock()
 *             return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1845
 *         return True
 * 
 *     def unlock_mutex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Unlock a previously held mutex on this object by this thread.
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1861
 *         return False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def mutex(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_5mutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_5mutex_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_5mutex___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_5mutex___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1889
 *         In case of doubt use parents_mutex instead.
 *         """
 *         return wrap_mutex(self)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_wrap_mutex); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1861
 *         return False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def mutex(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.baseItem.mutex.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1891
 *         return wrap_mutex(self)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def parents_mutex(self):
 *         """Context manager instance for the item mutex and all its parents
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_13parents_mutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_13parents_mutex_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_13parents_mutex___get__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_13parents_mutex___get__(struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":1902
 *         way that does not deadlock.
 *         """
 *         return wrap_this_and_parents_mutex(self)             # <<<<<<<<<<<<<<
 * 
 * class wrap_mutex:
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_wrap_this_and_parents_mutex); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1891
 *         return wrap_mutex(self)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def parents_mutex(self):
 *         """Context manager instance for the item mutex and all its parents
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.baseItem.parents_mutex.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_25__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_25__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_24__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8baseItem_27__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_27__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8baseItem_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8baseItem_26__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8baseItem_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseItem.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1905
 * 
 * class wrap_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *     def __enter__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10wrap_mutex_1__init__ = {"__init__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10wrap_mutex_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_target = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_target,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1905, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1905, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 1905, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 1905, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_target = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 1905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.wrap_mutex.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10wrap_mutex___init__(__pyx_self, __pyx_v_self, __pyx_v_target);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":1906
 * class wrap_mutex:
 *     def __init__(self, target):
 *         self.target = target             # <<<<<<<<<<<<<<
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_target, __pyx_v_target) < 0) __PYX_ERR(1, 1906, __pyx_L1_error)

  /* "dearcygui/core.pyx":1905
 * 
 * class wrap_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *     def __enter__(self):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.wrap_mutex.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1907
 *     def __init__(self, target):
 *         self.target = target
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10wrap_mutex_3__enter__ = {"__enter__", (PyCFunction)__pyx_pw_9dearcygui_4core_10wrap_mutex_3__enter__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10wrap_mutex_2__enter__(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__enter__", 1);

  /* "dearcygui/core.pyx":1908
 *         self.target = target
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)             # <<<<<<<<<<<<<<
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         self.target.unlock_mutex()
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_lock_mutex); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_wait, Py_True) < 0) __PYX_ERR(1, 1908, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":1907
 *     def __init__(self, target):
 *         self.target = target
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.wrap_mutex.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1909
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.target.unlock_mutex()
 *         return False # Do not catch exceptions
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_5__exit__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10wrap_mutex_5__exit__ = {"__exit__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10wrap_mutex_5__exit__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10wrap_mutex_5__exit__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  CYTHON_UNUSED PyObject *__pyx_v_exc_type = 0;
  CYTHON_UNUSED PyObject *__pyx_v_exc_value = 0;
  CYTHON_UNUSED PyObject *__pyx_v_traceback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_exc_type,&__pyx_n_s_exc_value,&__pyx_n_s_traceback,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1909, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_type)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1909, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 1); __PYX_ERR(1, 1909, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1909, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 2); __PYX_ERR(1, 1909, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_traceback)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1909, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 3); __PYX_ERR(1, 1909, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__exit__") < 0)) __PYX_ERR(1, 1909, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_self = values[0];
    __pyx_v_exc_type = values[1];
    __pyx_v_exc_value = values[2];
    __pyx_v_traceback = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 1909, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.wrap_mutex.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10wrap_mutex_4__exit__(__pyx_self, __pyx_v_self, __pyx_v_exc_type, __pyx_v_exc_value, __pyx_v_traceback);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10wrap_mutex_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__exit__", 1);

  /* "dearcygui/core.pyx":1910
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         self.target.unlock_mutex()             # <<<<<<<<<<<<<<
 *         return False # Do not catch exceptions
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unlock_mutex); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1911
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         self.target.unlock_mutex()
 *         return False # Do not catch exceptions             # <<<<<<<<<<<<<<
 * 
 * class wrap_this_and_parents_mutex:
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1909
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.target.unlock_mutex()
 *         return False # Do not catch exceptions
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.wrap_mutex.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1914
 * 
 * class wrap_this_and_parents_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *         self.locked = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_1__init__ = {"__init__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_target = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_target,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1914, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1914, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 1914, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 1914, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_target = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 1914, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.wrap_this_and_parents_mutex.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex___init__(__pyx_self, __pyx_v_self, __pyx_v_target);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":1915
 * class wrap_this_and_parents_mutex:
 *     def __init__(self, target):
 *         self.target = target             # <<<<<<<<<<<<<<
 *         self.locked = []
 *         self.nlocked = []
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_target, __pyx_v_target) < 0) __PYX_ERR(1, 1915, __pyx_L1_error)

  /* "dearcygui/core.pyx":1916
 *     def __init__(self, target):
 *         self.target = target
 *         self.locked = []             # <<<<<<<<<<<<<<
 *         self.nlocked = []
 *         # TODO: Should we use thread-local here ?
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_locked, __pyx_t_1) < 0) __PYX_ERR(1, 1916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1917
 *         self.target = target
 *         self.locked = []
 *         self.nlocked = []             # <<<<<<<<<<<<<<
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_nlocked, __pyx_t_1) < 0) __PYX_ERR(1, 1917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1914
 * 
 * class wrap_this_and_parents_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *         self.locked = []
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.wrap_this_and_parents_mutex.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1919
 *         self.nlocked = []
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         while True:
 *             locked = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_3__enter__ = {"__enter__", (PyCFunction)__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_3__enter__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_2__enter__(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_locked = 0;
  PyObject *__pyx_v_item = 0;
  PyObject *__pyx_v_success = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__enter__", 1);

  /* "dearcygui/core.pyx":1920
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):
 *         while True:             # <<<<<<<<<<<<<<
 *             locked = []
 *             # try_lock recursively all parents
 */
  while (1) {

    /* "dearcygui/core.pyx":1921
 *     def __enter__(self):
 *         while True:
 *             locked = []             # <<<<<<<<<<<<<<
 *             # try_lock recursively all parents
 *             item = self.target
 */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_locked, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1923
 *             locked = []
 *             # try_lock recursively all parents
 *             item = self.target             # <<<<<<<<<<<<<<
 *             success = True
 *             while item is not None:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":1924
 *             # try_lock recursively all parents
 *             item = self.target
 *             success = True             # <<<<<<<<<<<<<<
 *             while item is not None:
 *                 success = item.lock_mutex(wait=False)
 */
    __Pyx_INCREF(Py_True);
    __Pyx_XDECREF_SET(__pyx_v_success, Py_True);

    /* "dearcygui/core.pyx":1925
 *             item = self.target
 *             success = True
 *             while item is not None:             # <<<<<<<<<<<<<<
 *                 success = item.lock_mutex(wait=False)
 *                 if not(success):
 */
    while (1) {
      __pyx_t_2 = (__pyx_v_item != Py_None);
      if (!__pyx_t_2) break;

      /* "dearcygui/core.pyx":1926
 *             success = True
 *             while item is not None:
 *                 success = item.lock_mutex(wait=False)             # <<<<<<<<<<<<<<
 *                 if not(success):
 *                     break
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_lock_mutex); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1926, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1926, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_wait, Py_False) < 0) __PYX_ERR(1, 1926, __pyx_L1_error)
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1926, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF_SET(__pyx_v_success, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "dearcygui/core.pyx":1927
 *             while item is not None:
 *                 success = item.lock_mutex(wait=False)
 *                 if not(success):             # <<<<<<<<<<<<<<
 *                     break
 *                 locked.append(item)
 */
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_success); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 1927, __pyx_L1_error)
      __pyx_t_5 = (!__pyx_t_2);
      if (__pyx_t_5) {

        /* "dearcygui/core.pyx":1928
 *                 success = item.lock_mutex(wait=False)
 *                 if not(success):
 *                     break             # <<<<<<<<<<<<<<
 *                 locked.append(item)
 *                 # we have a mutex on item, we can
 */
        goto __pyx_L6_break;

        /* "dearcygui/core.pyx":1927
 *             while item is not None:
 *                 success = item.lock_mutex(wait=False)
 *                 if not(success):             # <<<<<<<<<<<<<<
 *                     break
 *                 locked.append(item)
 */
      }

      /* "dearcygui/core.pyx":1929
 *                 if not(success):
 *                     break
 *                 locked.append(item)             # <<<<<<<<<<<<<<
 *                 # we have a mutex on item, we can
 *                 # access its parent field without
 */
      __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_locked, __pyx_v_item); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 1929, __pyx_L1_error)

      /* "dearcygui/core.pyx":1933
 *                 # access its parent field without
 *                 # worrying it could change
 *                 item = item.parent             # <<<<<<<<<<<<<<
 *             if success:
 *                 self.locked += locked
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_parent); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1933, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF_SET(__pyx_v_item, __pyx_t_4);
      __pyx_t_4 = 0;
    }
    __pyx_L6_break:;

    /* "dearcygui/core.pyx":1934
 *                 # worrying it could change
 *                 item = item.parent
 *             if success:             # <<<<<<<<<<<<<<
 *                 self.locked += locked
 *                 self.nlocked.append(len(locked))
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_success); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 1934, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "dearcygui/core.pyx":1935
 *                 item = item.parent
 *             if success:
 *                 self.locked += locked             # <<<<<<<<<<<<<<
 *                 self.nlocked.append(len(locked))
 *                 return
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_locked); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_v_locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_locked, __pyx_t_3) < 0) __PYX_ERR(1, 1935, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":1936
 *             if success:
 *                 self.locked += locked
 *                 self.nlocked.append(len(locked))             # <<<<<<<<<<<<<<
 *                 return
 *             # We failed to lock one of the parent.
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_nlocked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = PyObject_Length(__pyx_v_locked); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1936, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 1936, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "dearcygui/core.pyx":1937
 *                 self.locked += locked
 *                 self.nlocked.append(len(locked))
 *                 return             # <<<<<<<<<<<<<<
 *             # We failed to lock one of the parent.
 *             # We must release our locks and retry
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "dearcygui/core.pyx":1934
 *                 # worrying it could change
 *                 item = item.parent
 *             if success:             # <<<<<<<<<<<<<<
 *                 self.locked += locked
 *                 self.nlocked.append(len(locked))
 */
    }

    /* "dearcygui/core.pyx":1940
 *             # We failed to lock one of the parent.
 *             # We must release our locks and retry
 *             for item in locked:             # <<<<<<<<<<<<<<
 *                 item.unlock_mutex()
 *             # release gil and give a chance to the
 */
    if (likely(PyList_CheckExact(__pyx_v_locked)) || PyTuple_CheckExact(__pyx_v_locked)) {
      __pyx_t_4 = __pyx_v_locked; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_locked); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1940, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 1940, __pyx_L1_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 1940, __pyx_L1_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1940, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 1940, __pyx_L1_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 1940, __pyx_L1_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1940, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_4);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 1940, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF_SET(__pyx_v_item, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":1941
 *             # We must release our locks and retry
 *             for item in locked:
 *                 item.unlock_mutex()             # <<<<<<<<<<<<<<
 *             # release gil and give a chance to the
 *             # thread retaining the lock to run
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_unlock_mutex); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1941, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = NULL;
      __pyx_t_10 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
          __pyx_t_10 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1941, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":1940
 *             # We failed to lock one of the parent.
 *             # We must release our locks and retry
 *             for item in locked:             # <<<<<<<<<<<<<<
 *                 item.unlock_mutex()
 *             # release gil and give a chance to the
 */
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":1944
 *             # release gil and give a chance to the
 *             # thread retaining the lock to run
 *             os.sched_yield()             # <<<<<<<<<<<<<<
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         cdef int N = self.nlocked.pop()
 */
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sched_yield); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    __pyx_t_10 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_10 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1944, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }

  /* "dearcygui/core.pyx":1919
 *         self.nlocked = []
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         while True:
 *             locked = []
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("dearcygui.core.wrap_this_and_parents_mutex.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_locked);
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XDECREF(__pyx_v_success);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1945
 *             # thread retaining the lock to run
 *             os.sched_yield()
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         cdef int N = self.nlocked.pop()
 *         cdef int i
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_5__exit__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_5__exit__ = {"__exit__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_5__exit__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_27wrap_this_and_parents_mutex_5__exit__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  CYTHON_UNUSED PyObject *__pyx_v_exc_type = 0;
  CYTHON_UNUSED PyObject *__pyx_v_exc_value = 0;
  CYTHON_UNUSED PyObject *__pyx_v_traceback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_exc_type,&__pyx_n_s_exc_value,&__pyx_n_s_traceback,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1945, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_type)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1945, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 1); __PYX_ERR(1, 1945, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_exc_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1945, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 2); __PYX_ERR(1, 1945, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_traceback)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1945, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, 3); __PYX_ERR(1, 1945, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__exit__") < 0)) __PYX_ERR(1, 1945, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_self = values[0];
    __pyx_v_exc_type = values[1];
    __pyx_v_exc_value = values[2];
    __pyx_v_traceback = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 1945, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.wrap_this_and_parents_mutex.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_4__exit__(__pyx_self, __pyx_v_self, __pyx_v_exc_type, __pyx_v_exc_value, __pyx_v_traceback);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_27wrap_this_and_parents_mutex_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_value, CYTHON_UNUSED PyObject *__pyx_v_traceback) {
  int __pyx_v_N;
  CYTHON_UNUSED int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__exit__", 1);

  /* "dearcygui/core.pyx":1946
 *             os.sched_yield()
 *     def __exit__(self, exc_type, exc_value, traceback):
 *         cdef int N = self.nlocked.pop()             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(N):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_nlocked); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Pop(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_N = __pyx_t_3;

  /* "dearcygui/core.pyx":1948
 *         cdef int N = self.nlocked.pop()
 *         cdef int i
 *         for i in range(N):             # <<<<<<<<<<<<<<
 *             self.locked.pop().unlock_mutex()
 *         return False # Do not catch exceptions
 */
  __pyx_t_3 = __pyx_v_N;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "dearcygui/core.pyx":1949
 *         cdef int i
 *         for i in range(N):
 *             self.locked.pop().unlock_mutex()             # <<<<<<<<<<<<<<
 *         return False # Do not catch exceptions
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_locked); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_Pop(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_unlock_mutex); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_7 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "dearcygui/core.pyx":1950
 *         for i in range(N):
 *             self.locked.pop().unlock_mutex()
 *         return False # Do not catch exceptions             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":1945
 *             # thread retaining the lock to run
 *             os.sched_yield()
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         cdef int N = self.nlocked.pop()
 *         cdef int i
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.wrap_this_and_parents_mutex.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1964
 *     every item renders itself and its children.
 *     """
 *     def __cinit__(self, context):             # <<<<<<<<<<<<<<
 *         self.resize_callback = None
 *         self.can_have_window_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_context = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1964, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 1964, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 1964, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Viewport.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport___cinit__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), __pyx_v_context);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport___cinit__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PY_LONG_LONG __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":1965
 *     """
 *     def __cinit__(self, context):
 *         self.resize_callback = None             # <<<<<<<<<<<<<<
 *         self.can_have_window_child = True
 *         self.can_have_menubar_child = True
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_resize_callback, Py_None) < 0) __PYX_ERR(1, 1965, __pyx_L1_error)

  /* "dearcygui/core.pyx":1966
 *     def __cinit__(self, context):
 *         self.resize_callback = None
 *         self.can_have_window_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_menubar_child = True
 *         self.can_have_sibling = False
 */
  __pyx_v_self->__pyx_base.can_have_window_child = 1;

  /* "dearcygui/core.pyx":1967
 *         self.resize_callback = None
 *         self.can_have_window_child = True
 *         self.can_have_menubar_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = False
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 */
  __pyx_v_self->__pyx_base.can_have_menubar_child = 1;

  /* "dearcygui/core.pyx":1968
 *         self.can_have_window_child = True
 *         self.can_have_menubar_child = True
 *         self.can_have_sibling = False             # <<<<<<<<<<<<<<
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         self.last_t_before_rendering = self.last_t_before_event_handling
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 0;

  /* "dearcygui/core.pyx":1969
 *         self.can_have_menubar_child = True
 *         self.can_have_sibling = False
 *         self.last_t_before_event_handling = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         self.last_t_before_rendering = self.last_t_before_event_handling
 *         self.last_t_after_rendering = self.last_t_before_event_handling
 */
  __pyx_v_self->last_t_before_event_handling = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":1970
 *         self.can_have_sibling = False
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         self.last_t_before_rendering = self.last_t_before_event_handling             # <<<<<<<<<<<<<<
 *         self.last_t_after_rendering = self.last_t_before_event_handling
 *         self.last_t_after_swapping = self.last_t_before_event_handling
 */
  __pyx_t_1 = __pyx_v_self->last_t_before_event_handling;
  __pyx_v_self->last_t_before_rendering = __pyx_t_1;

  /* "dearcygui/core.pyx":1971
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         self.last_t_before_rendering = self.last_t_before_event_handling
 *         self.last_t_after_rendering = self.last_t_before_event_handling             # <<<<<<<<<<<<<<
 *         self.last_t_after_swapping = self.last_t_before_event_handling
 *         self.frame_count = 0
 */
  __pyx_t_1 = __pyx_v_self->last_t_before_event_handling;
  __pyx_v_self->last_t_after_rendering = __pyx_t_1;

  /* "dearcygui/core.pyx":1972
 *         self.last_t_before_rendering = self.last_t_before_event_handling
 *         self.last_t_after_rendering = self.last_t_before_event_handling
 *         self.last_t_after_swapping = self.last_t_before_event_handling             # <<<<<<<<<<<<<<
 *         self.frame_count = 0
 *         self.state.cur.rendered = True # For compatibility with RenderHandlers
 */
  __pyx_t_1 = __pyx_v_self->last_t_before_event_handling;
  __pyx_v_self->last_t_after_swapping = __pyx_t_1;

  /* "dearcygui/core.pyx":1973
 *         self.last_t_after_rendering = self.last_t_before_event_handling
 *         self.last_t_after_swapping = self.last_t_before_event_handling
 *         self.frame_count = 0             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = True # For compatibility with RenderHandlers
 *         self.p_state = &self.state
 */
  __pyx_v_self->frame_count = 0;

  /* "dearcygui/core.pyx":1974
 *         self.last_t_after_swapping = self.last_t_before_event_handling
 *         self.frame_count = 0
 *         self.state.cur.rendered = True # For compatibility with RenderHandlers             # <<<<<<<<<<<<<<
 *         self.p_state = &self.state
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 */
  __pyx_v_self->state.cur.rendered = 1;

  /* "dearcygui/core.pyx":1975
 *         self.frame_count = 0
 *         self.state.cur.rendered = True # For compatibility with RenderHandlers
 *         self.p_state = &self.state             # <<<<<<<<<<<<<<
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.viewport = mvCreateViewport(internal_render_callback,
 */
  __pyx_v_self->__pyx_base.p_state = (&__pyx_v_self->state);

  /* "dearcygui/core.pyx":1976
 *         self.state.cur.rendered = True # For compatibility with RenderHandlers
 *         self.p_state = &self.state
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow             # <<<<<<<<<<<<<<
 *         self.viewport = mvCreateViewport(internal_render_callback,
 *                                          internal_resize_callback,
 */
  __pyx_v_self->_cursor = ImGuiMouseCursor_Arrow;

  /* "dearcygui/core.pyx":1977
 *         self.p_state = &self.state
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.viewport = mvCreateViewport(internal_render_callback,             # <<<<<<<<<<<<<<
 *                                          internal_resize_callback,
 *                                          internal_close_callback,
 */
  __pyx_v_self->viewport = mvCreateViewport(__pyx_f_9dearcygui_4core_internal_render_callback, __pyx_f_9dearcygui_4core_internal_resize_callback, __pyx_f_9dearcygui_4core_internal_close_callback, ((void *)__pyx_v_self));

  /* "dearcygui/core.pyx":1981
 *                                          internal_close_callback,
 *                                          <void*>self)
 *         if self.viewport == NULL:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Failed to create the viewport")
 * 
 */
  __pyx_t_2 = (__pyx_v_self->viewport == NULL);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":1982
 *                                          <void*>self)
 *         if self.viewport == NULL:
 *             raise RuntimeError("Failed to create the viewport")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 1982, __pyx_L1_error)

    /* "dearcygui/core.pyx":1981
 *                                          internal_close_callback,
 *                                          <void*>self)
 *         if self.viewport == NULL:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Failed to create the viewport")
 * 
 */
  }

  /* "dearcygui/core.pyx":1964
 *     every item renders itself and its children.
 *     """
 *     def __cinit__(self, context):             # <<<<<<<<<<<<<<
 *         self.resize_callback = None
 *         self.can_have_window_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Viewport.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":1984
 *             raise RuntimeError("Failed to create the viewport")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         # NOTE: Called BEFORE the context is released.
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static void __pyx_pw_9dearcygui_4core_8Viewport_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9dearcygui_4core_8Viewport_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9dearcygui_4core_8Viewport_2__dealloc__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9dearcygui_4core_8Viewport_2__dealloc__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__dealloc__", 1);

  /* "dearcygui/core.pyx":1988
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex_backend) # To not release while we render a frame
 *         ensure_correct_im_context(self.context)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":1989
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex_backend) # To not release while we render a frame             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->mutex_backend);

  /* "dearcygui/core.pyx":1990
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex_backend) # To not release while we render a frame
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         if self.initialized:
 *             cleanup_graphics(self.graphics)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":1991
 *         lock_gil_friendly(m2, self.mutex_backend) # To not release while we render a frame
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             cleanup_graphics(self.graphics)
 *         if self.viewport != NULL:
 */
  if (__pyx_v_self->initialized) {

    /* "dearcygui/core.pyx":1992
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:
 *             cleanup_graphics(self.graphics)             # <<<<<<<<<<<<<<
 *         if self.viewport != NULL:
 *             mvCleanupViewport(dereference(self.viewport))
 */
    cleanup_graphics(__pyx_v_self->graphics);

    /* "dearcygui/core.pyx":1991
 *         lock_gil_friendly(m2, self.mutex_backend) # To not release while we render a frame
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             cleanup_graphics(self.graphics)
 *         if self.viewport != NULL:
 */
  }

  /* "dearcygui/core.pyx":1993
 *         if self.initialized:
 *             cleanup_graphics(self.graphics)
 *         if self.viewport != NULL:             # <<<<<<<<<<<<<<
 *             mvCleanupViewport(dereference(self.viewport))
 *             #self.viewport is freed by mvCleanupViewport
 */
  __pyx_t_2 = (__pyx_v_self->viewport != NULL);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":1994
 *             cleanup_graphics(self.graphics)
 *         if self.viewport != NULL:
 *             mvCleanupViewport(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *             #self.viewport is freed by mvCleanupViewport
 *             self.viewport = NULL
 */
    mvCleanupViewport((*__pyx_v_self->viewport));

    /* "dearcygui/core.pyx":1996
 *             mvCleanupViewport(dereference(self.viewport))
 *             #self.viewport is freed by mvCleanupViewport
 *             self.viewport = NULL             # <<<<<<<<<<<<<<
 * 
 *     def initialize(self, minimized=False, maximized=False, **kwargs):
 */
    __pyx_v_self->viewport = NULL;

    /* "dearcygui/core.pyx":1993
 *         if self.initialized:
 *             cleanup_graphics(self.graphics)
 *         if self.viewport != NULL:             # <<<<<<<<<<<<<<
 *             mvCleanupViewport(dereference(self.viewport))
 *             #self.viewport is freed by mvCleanupViewport
 */
  }

  /* "dearcygui/core.pyx":1984
 *             raise RuntimeError("Failed to create the viewport")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         # NOTE: Called BEFORE the context is released.
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":1998
 *             self.viewport = NULL
 * 
 *     def initialize(self, minimized=False, maximized=False, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Initialize the viewport for rendering and show it.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5initialize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8Viewport_4initialize, "\n        Initialize the viewport for rendering and show it.\n        Items can already be created and attached to the viewport\n        before this call.\n        Creates the default font and attaches it to the viewport\n        if None is set already. This font is scaled by\n        the current value of viewport.dpi.\n        In addition all the default style spaces are scaled by\n        the current viewport.dpi.\n        The viewport.dpi content is not read after that, and\n        so changes will have no effect.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_5initialize = {"initialize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_5initialize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8Viewport_4initialize};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5initialize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_minimized = 0;
  PyObject *__pyx_v_maximized = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("initialize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_minimized,&__pyx_n_s_maximized,0};
    values[0] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_False));
    values[1] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_False));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_minimized);
          if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1998, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_maximized);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1998, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "initialize") < 0)) __PYX_ERR(1, 1998, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_minimized = values[0];
    __pyx_v_maximized = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("initialize", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 1998, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.Viewport.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_4initialize(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), __pyx_v_minimized, __pyx_v_maximized, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_4initialize(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_minimized, PyObject *__pyx_v_maximized, PyObject *__pyx_v_kwargs) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_default_font_texture = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  char __pyx_t_4;
  char __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("initialize", 1);

  /* "dearcygui/core.pyx":2014
 *         cdef unique_lock[recursive_mutex] m2
 *         cdef unique_lock[recursive_mutex] m3
 *         self.configure(**kwargs)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_configure); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":2015
 *         cdef unique_lock[recursive_mutex] m3
 *         self.configure(**kwargs)
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2016
 *         self.configure(**kwargs)
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2017
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_self->mutex_backend);

  /* "dearcygui/core.pyx":2018
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         if self.initialized:
 *             raise RuntimeError("Viewport already initialized")
 */
  __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_3));
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":2019
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Viewport already initialized")
 *         ensure_correct_im_context(self.context)
 */
  if (unlikely(__pyx_v_self->initialized)) {

    /* "dearcygui/core.pyx":2020
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:
 *             raise RuntimeError("Viewport already initialized")             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         mvShowViewport(dereference(self.viewport),
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 2020, __pyx_L1_error)

    /* "dearcygui/core.pyx":2019
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Viewport already initialized")
 *         ensure_correct_im_context(self.context)
 */
  }

  /* "dearcygui/core.pyx":2021
 *         if self.initialized:
 *             raise RuntimeError("Viewport already initialized")
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         mvShowViewport(dereference(self.viewport),
 *                        minimized,
 */
  __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_3));
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":2023
 *         ensure_correct_im_context(self.context)
 *         mvShowViewport(dereference(self.viewport),
 *                        minimized,             # <<<<<<<<<<<<<<
 *                        maximized)
 *         self.graphics = setup_graphics(dereference(self.viewport))
 */
  __pyx_t_4 = __Pyx_PyInt_As_char(__pyx_v_minimized); if (unlikely((__pyx_t_4 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 2023, __pyx_L1_error)

  /* "dearcygui/core.pyx":2024
 *         mvShowViewport(dereference(self.viewport),
 *                        minimized,
 *                        maximized)             # <<<<<<<<<<<<<<
 *         self.graphics = setup_graphics(dereference(self.viewport))
 *         imgui.StyleColorsDark()
 */
  __pyx_t_5 = __Pyx_PyInt_As_char(__pyx_v_maximized); if (unlikely((__pyx_t_5 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 2024, __pyx_L1_error)

  /* "dearcygui/core.pyx":2022
 *             raise RuntimeError("Viewport already initialized")
 *         ensure_correct_im_context(self.context)
 *         mvShowViewport(dereference(self.viewport),             # <<<<<<<<<<<<<<
 *                        minimized,
 *                        maximized)
 */
  mvShowViewport((*__pyx_v_self->viewport), __pyx_t_4, __pyx_t_5);

  /* "dearcygui/core.pyx":2025
 *                        minimized,
 *                        maximized)
 *         self.graphics = setup_graphics(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *         imgui.StyleColorsDark()
 *         imgui.GetIO().ConfigWindowsMoveFromTitleBarOnly = True
 */
  __pyx_v_self->graphics = setup_graphics((*__pyx_v_self->viewport));

  /* "dearcygui/core.pyx":2026
 *                        maximized)
 *         self.graphics = setup_graphics(dereference(self.viewport))
 *         imgui.StyleColorsDark()             # <<<<<<<<<<<<<<
 *         imgui.GetIO().ConfigWindowsMoveFromTitleBarOnly = True
 *         imgui.GetStyle().ScaleAllSizes(self.viewport.dpi)
 */
  ImGui::StyleColorsDark();

  /* "dearcygui/core.pyx":2027
 *         self.graphics = setup_graphics(dereference(self.viewport))
 *         imgui.StyleColorsDark()
 *         imgui.GetIO().ConfigWindowsMoveFromTitleBarOnly = True             # <<<<<<<<<<<<<<
 *         imgui.GetStyle().ScaleAllSizes(self.viewport.dpi)
 *         cdef FontTexture default_font_texture
 */
  ImGui::GetIO().ConfigWindowsMoveFromTitleBarOnly = 1;

  /* "dearcygui/core.pyx":2028
 *         imgui.StyleColorsDark()
 *         imgui.GetIO().ConfigWindowsMoveFromTitleBarOnly = True
 *         imgui.GetStyle().ScaleAllSizes(self.viewport.dpi)             # <<<<<<<<<<<<<<
 *         cdef FontTexture default_font_texture
 *         if self._font is None:
 */
  ImGui::GetStyle().ScaleAllSizes(__pyx_v_self->viewport->dpi);

  /* "dearcygui/core.pyx":2030
 *         imgui.GetStyle().ScaleAllSizes(self.viewport.dpi)
 *         cdef FontTexture default_font_texture
 *         if self._font is None:             # <<<<<<<<<<<<<<
 *             default_font_texture = FontTexture(self.context)
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_self->_font) == Py_None);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":2031
 *         cdef FontTexture default_font_texture
 *         if self._font is None:
 *             default_font_texture = FontTexture(self.context)             # <<<<<<<<<<<<<<
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')
 *             default_font_texture.add_font_file(path, size=int(round(13 * self.viewport.dpi)), density_scale=2.)
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_FontTexture), ((PyObject *)__pyx_v_self->__pyx_base.context)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_default_font_texture = ((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":2032
 *         if self._font is None:
 *             default_font_texture = FontTexture(self.context)
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')             # <<<<<<<<<<<<<<
 *             default_font_texture.add_font_file(path, size=int(round(13 * self.viewport.dpi)), density_scale=2.)
 *             default_font_texture.build()
 */
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_os); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_path); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_dirname); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_file); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9 = NULL;
    __pyx_t_10 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
        __pyx_t_10 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2032, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __pyx_t_7 = NULL;
    __pyx_t_10 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_10 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_1, __pyx_kp_u_ProggyClean_ttf};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10);
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2032, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_v_path = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":2033
 *             default_font_texture = FontTexture(self.context)
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')
 *             default_font_texture.add_font_file(path, size=int(round(13 * self.viewport.dpi)), density_scale=2.)             # <<<<<<<<<<<<<<
 *             default_font_texture.build()
 *             self._font = default_font_texture[0]
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_default_font_texture), __pyx_n_s_add_font_file); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_path);
    __Pyx_GIVEREF(__pyx_v_path);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)) __PYX_ERR(1, 2033, __pyx_L1_error);
    __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = PyFloat_FromDouble((13.0 * __pyx_v_self->viewport->dpi)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_round, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyNumber_Int(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_size, __pyx_t_7) < 0) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_density_scale, __pyx_float_2_) < 0) __PYX_ERR(1, 2033, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":2034
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')
 *             default_font_texture.add_font_file(path, size=int(round(13 * self.viewport.dpi)), density_scale=2.)
 *             default_font_texture.build()             # <<<<<<<<<<<<<<
 *             self._font = default_font_texture[0]
 *         self.initialized = True
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_default_font_texture), __pyx_n_s_build); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = NULL;
    __pyx_t_10 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_10 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2034, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":2035
 *             default_font_texture.add_font_file(path, size=int(round(13 * self.viewport.dpi)), density_scale=2.)
 *             default_font_texture.build()
 *             self._font = default_font_texture[0]             # <<<<<<<<<<<<<<
 *         self.initialized = True
 *         """
 */
    __pyx_t_7 = __Pyx_GetItemInt(((PyObject *)__pyx_v_default_font_texture), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_9dearcygui_4core_Font))))) __PYX_ERR(1, 2035, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_7);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_font);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_font);
    __pyx_v_self->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_t_7);
    __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":2030
 *         imgui.GetStyle().ScaleAllSizes(self.viewport.dpi)
 *         cdef FontTexture default_font_texture
 *         if self._font is None:             # <<<<<<<<<<<<<<
 *             default_font_texture = FontTexture(self.context)
 *             path = os.path.join(os.path.dirname(__file__), 'ProggyClean.ttf')
 */
  }

  /* "dearcygui/core.pyx":2036
 *             default_font_texture.build()
 *             self._font = default_font_texture[0]
 *         self.initialized = True             # <<<<<<<<<<<<<<
 *         """
 *             # TODO if (GContext->IO.autoSaveIniFile). if (!GContext->IO.iniFile.empty())
 */
  __pyx_v_self->initialized = 1;

  /* "dearcygui/core.pyx":1998
 *             self.viewport = NULL
 * 
 *     def initialize(self, minimized=False, maximized=False, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Initialize the viewport for rendering and show it.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("dearcygui.core.Viewport.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_default_font_texture);
  __Pyx_XDECREF(__pyx_v_path);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2048
 *         """
 * 
 *     cdef void __check_initialized(self):             # <<<<<<<<<<<<<<
 *         if not(self.initialized):
 *             raise RuntimeError("The viewport must be initialized before being used")
 */

static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_Viewport__check_initialized", 1);

  /* "dearcygui/core.pyx":2049
 * 
 *     cdef void __check_initialized(self):
 *         if not(self.initialized):             # <<<<<<<<<<<<<<
 *             raise RuntimeError("The viewport must be initialized before being used")
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->initialized);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":2050
 *     cdef void __check_initialized(self):
 *         if not(self.initialized):
 *             raise RuntimeError("The viewport must be initialized before being used")             # <<<<<<<<<<<<<<
 * 
 *     cdef void __check_not_initialized(self):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 2050, __pyx_L1_error)

    /* "dearcygui/core.pyx":2049
 * 
 *     cdef void __check_initialized(self):
 *         if not(self.initialized):             # <<<<<<<<<<<<<<
 *             raise RuntimeError("The viewport must be initialized before being used")
 * 
 */
  }

  /* "dearcygui/core.pyx":2048
 *         """
 * 
 *     cdef void __check_initialized(self):             # <<<<<<<<<<<<<<
 *         if not(self.initialized):
 *             raise RuntimeError("The viewport must be initialized before being used")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Viewport._Viewport__check_initialized", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":2052
 *             raise RuntimeError("The viewport must be initialized before being used")
 * 
 *     cdef void __check_not_initialized(self):             # <<<<<<<<<<<<<<
 *         if self.initialized:
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 */

static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_Viewport__check_not_initialized", 1);

  /* "dearcygui/core.pyx":2053
 * 
 *     cdef void __check_not_initialized(self):
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 * 
 */
  if (unlikely(__pyx_v_self->initialized)) {

    /* "dearcygui/core.pyx":2054
 *     cdef void __check_not_initialized(self):
 *         if self.initialized:
 *             raise RuntimeError("The viewport must be not be initialized to set this field")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 2054, __pyx_L1_error)

    /* "dearcygui/core.pyx":2053
 * 
 *     cdef void __check_not_initialized(self):
 *         if self.initialized:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 * 
 */
  }

  /* "dearcygui/core.pyx":2052
 *             raise RuntimeError("The viewport must be initialized before being used")
 * 
 *     cdef void __check_not_initialized(self):             # <<<<<<<<<<<<<<
 *         if self.initialized:
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport._Viewport__check_not_initialized", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":2056
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clear_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_11clear_color_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_11clear_color_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_11clear_color___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_11clear_color___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2059
 *     def clear_color(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.viewport.clearColor.r,
 *                 self.viewport.clearColor.g,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2060
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.viewport.clearColor.r,             # <<<<<<<<<<<<<<
 *                 self.viewport.clearColor.g,
 *                 self.viewport.clearColor.b,
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->viewport->clearColor.r); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "dearcygui/core.pyx":2061
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.viewport.clearColor.r,
 *                 self.viewport.clearColor.g,             # <<<<<<<<<<<<<<
 *                 self.viewport.clearColor.b,
 *                 self.viewport.clearColor.a)
 */
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->viewport->clearColor.g); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "dearcygui/core.pyx":2062
 *         return (self.viewport.clearColor.r,
 *                 self.viewport.clearColor.g,
 *                 self.viewport.clearColor.b,             # <<<<<<<<<<<<<<
 *                 self.viewport.clearColor.a)
 * 
 */
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->viewport->clearColor.b); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "dearcygui/core.pyx":2063
 *                 self.viewport.clearColor.g,
 *                 self.viewport.clearColor.b,
 *                 self.viewport.clearColor.a)             # <<<<<<<<<<<<<<
 * 
 *     @clear_color.setter
 */
  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->viewport->clearColor.a); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "dearcygui/core.pyx":2060
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.viewport.clearColor.r,             # <<<<<<<<<<<<<<
 *                 self.viewport.clearColor.g,
 *                 self.viewport.clearColor.b,
 */
  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1)) __PYX_ERR(1, 2060, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2)) __PYX_ERR(1, 2060, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3)) __PYX_ERR(1, 2060, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4)) __PYX_ERR(1, 2060, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2056
 *             raise RuntimeError("The viewport must be not be initialized to set this field")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clear_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Viewport.clear_color.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2065
 *                 self.viewport.clearColor.a)
 * 
 *     @clear_color.setter             # <<<<<<<<<<<<<<
 *     def clear_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_11clear_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_11clear_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_11clear_color_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_11clear_color_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_r;
  int __pyx_v_g;
  int __pyx_v_b;
  int __pyx_v_a;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  mvColor __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2068
 *     def clear_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int r, g, b, a
 *         (r, g, b, a) = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2070
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int r, g, b, a
 *         (r, g, b, a) = value             # <<<<<<<<<<<<<<
 *         self.viewport.clearColor = colorFromInts(r, g, b, a)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
    PyObject* sequence = __pyx_v_value;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 4)) {
      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(1, 2070, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 2); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 3); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    {
      Py_ssize_t i;
      PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_3,&__pyx_t_4};
      for (i=0; i < 4; i++) {
        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(1, 2070, __pyx_L1_error)
        __Pyx_GOTREF(item);
        *(temps[i]) = item;
      }
    }
    #endif
  } else {
    Py_ssize_t index = -1;
    PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_3,&__pyx_t_4};
    __pyx_t_5 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    for (index=0; index < 4; index++) {
      PyObject* item = __pyx_t_6(__pyx_t_5); if (unlikely(!item)) goto __pyx_L3_unpacking_failed;
      __Pyx_GOTREF(item);
      *(temps[index]) = item;
    }
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 4) < 0) __PYX_ERR(1, 2070, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 2070, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_r = __pyx_t_7;
  __pyx_v_g = __pyx_t_8;
  __pyx_v_b = __pyx_t_9;
  __pyx_v_a = __pyx_t_10;

  /* "dearcygui/core.pyx":2071
 *         cdef int r, g, b, a
 *         (r, g, b, a) = value
 *         self.viewport.clearColor = colorFromInts(r, g, b, a)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_11 = __pyx_f_9dearcygui_8backends_7backend_colorFromInts(__pyx_v_r, __pyx_v_g, __pyx_v_b, __pyx_v_a); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2071, __pyx_L1_error)
  __pyx_v_self->viewport->clearColor = __pyx_t_11;

  /* "dearcygui/core.pyx":2065
 *                 self.viewport.clearColor.a)
 * 
 *     @clear_color.setter             # <<<<<<<<<<<<<<
 *     def clear_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Viewport.clear_color.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2073
 *         self.viewport.clearColor = colorFromInts(r, g, b, a)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def small_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10small_icon_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10small_icon_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10small_icon___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10small_icon___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2076
 *     def small_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self.viewport.small_icon)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2077
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self.viewport.small_icon)             # <<<<<<<<<<<<<<
 * 
 *     @small_icon.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->viewport->small_icon); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2073
 *         self.viewport.clearColor = colorFromInts(r, g, b, a)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def small_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Viewport.small_icon.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2079
 *         return str(self.viewport.small_icon)
 * 
 *     @small_icon.setter             # <<<<<<<<<<<<<<
 *     def small_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_10small_icon_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_10small_icon_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 2080, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10small_icon_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_10small_icon_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::string __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2082
 *     def small_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         self.__check_not_initialized()             # <<<<<<<<<<<<<<
 *         self.viewport.small_icon = value.encode("utf-8")
 * 
 */
  __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2082, __pyx_L1_error)

  /* "dearcygui/core.pyx":2083
 *         cdef unique_lock[recursive_mutex] m
 *         self.__check_not_initialized()
 *         self.viewport.small_icon = value.encode("utf-8")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "encode");
    __PYX_ERR(1, 2083, __pyx_L1_error)
  }
  __pyx_t_1 = PyUnicode_AsUTF8String(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->viewport->small_icon = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

  /* "dearcygui/core.pyx":2079
 *         return str(self.viewport.small_icon)
 * 
 *     @small_icon.setter             # <<<<<<<<<<<<<<
 *     def small_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.small_icon.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2085
 *         self.viewport.small_icon = value.encode("utf-8")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def large_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10large_icon_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10large_icon_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10large_icon___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10large_icon___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2088
 *     def large_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self.viewport.large_icon)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2089
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self.viewport.large_icon)             # <<<<<<<<<<<<<<
 * 
 *     @large_icon.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->viewport->large_icon); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2085
 *         self.viewport.small_icon = value.encode("utf-8")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def large_icon(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Viewport.large_icon.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2091
 *         return str(self.viewport.large_icon)
 * 
 *     @large_icon.setter             # <<<<<<<<<<<<<<
 *     def large_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_10large_icon_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_10large_icon_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 2092, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10large_icon_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_10large_icon_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::string __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2094
 *     def large_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.__check_not_initialized()
 *         self.viewport.large_icon = value.encode("utf-8")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2095
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.__check_not_initialized()             # <<<<<<<<<<<<<<
 *         self.viewport.large_icon = value.encode("utf-8")
 * 
 */
  __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2095, __pyx_L1_error)

  /* "dearcygui/core.pyx":2096
 *         lock_gil_friendly(m, self.mutex)
 *         self.__check_not_initialized()
 *         self.viewport.large_icon = value.encode("utf-8")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "encode");
    __PYX_ERR(1, 2096, __pyx_L1_error)
  }
  __pyx_t_1 = PyUnicode_AsUTF8String(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2096, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->viewport->large_icon = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

  /* "dearcygui/core.pyx":2091
 *         return str(self.viewport.large_icon)
 * 
 *     @large_icon.setter             # <<<<<<<<<<<<<<
 *     def large_icon(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.large_icon.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2098
 *         self.viewport.large_icon = value.encode("utf-8")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def x_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5x_pos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5x_pos_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5x_pos___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5x_pos___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2101
 *     def x_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.xpos
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2102
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.xpos             # <<<<<<<<<<<<<<
 * 
 *     @x_pos.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->viewport->xpos); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2098
 *         self.viewport.large_icon = value.encode("utf-8")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def x_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.x_pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2104
 *         return self.viewport.xpos
 * 
 *     @x_pos.setter             # <<<<<<<<<<<<<<
 *     def x_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5x_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5x_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2105, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.x_pos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5x_pos_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5x_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2107
 *     def x_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.xpos = value
 *         self.viewport.posDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2108
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.xpos = value             # <<<<<<<<<<<<<<
 *         self.viewport.posDirty = 1
 * 
 */
  __pyx_v_self->viewport->xpos = __pyx_v_value;

  /* "dearcygui/core.pyx":2109
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.xpos = value
 *         self.viewport.posDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->posDirty = 1;

  /* "dearcygui/core.pyx":2104
 *         return self.viewport.xpos
 * 
 *     @x_pos.setter             # <<<<<<<<<<<<<<
 *     def x_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2111
 *         self.viewport.posDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def y_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5y_pos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5y_pos_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5y_pos___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5y_pos___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2114
 *     def y_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.ypos
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2115
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.ypos             # <<<<<<<<<<<<<<
 * 
 *     @y_pos.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->viewport->ypos); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2111
 *         self.viewport.posDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def y_pos(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.y_pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2117
 *         return self.viewport.ypos
 * 
 *     @y_pos.setter             # <<<<<<<<<<<<<<
 *     def y_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5y_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5y_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2118, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.y_pos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5y_pos_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5y_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2120
 *     def y_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.ypos = value
 *         self.viewport.posDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2121
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.ypos = value             # <<<<<<<<<<<<<<
 *         self.viewport.posDirty = 1
 * 
 */
  __pyx_v_self->viewport->ypos = __pyx_v_value;

  /* "dearcygui/core.pyx":2122
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.ypos = value
 *         self.viewport.posDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->posDirty = 1;

  /* "dearcygui/core.pyx":2117
 *         return self.viewport.ypos
 * 
 *     @y_pos.setter             # <<<<<<<<<<<<<<
 *     def y_pos(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2124
 *         self.viewport.posDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5width___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2127
 *     def width(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.actualWidth
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2128
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.actualWidth             # <<<<<<<<<<<<<<
 * 
 *     @width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->viewport->actualWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2124
 *         self.viewport.posDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2130
 *         return self.viewport.actualWidth
 * 
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2131, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5width_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2133
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.actualWidth = value
 *         self.viewport.sizeDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2134
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualWidth = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = 1
 * 
 */
  __pyx_v_self->viewport->actualWidth = __pyx_v_value;

  /* "dearcygui/core.pyx":2135
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualWidth = value
 *         self.viewport.sizeDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2130
 *         return self.viewport.actualWidth
 * 
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2137
 *         self.viewport.sizeDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_6height___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2140
 *     def height(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.actualHeight
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2141
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.actualHeight             # <<<<<<<<<<<<<<
 * 
 *     @height.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->viewport->actualHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2137
 *         self.viewport.sizeDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2143
 *         return self.viewport.actualHeight
 * 
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2144, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_6height_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_6height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2146
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.actualHeight = value
 *         self.viewport.sizeDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2147
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualHeight = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = 1
 * 
 */
  __pyx_v_self->viewport->actualHeight = __pyx_v_value;

  /* "dearcygui/core.pyx":2148
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualHeight = value
 *         self.viewport.sizeDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2143
 *         return self.viewport.actualHeight
 * 
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2150
 *         self.viewport.sizeDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9resizable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9resizable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9resizable___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9resizable___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2153
 *     def resizable(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.resizable
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2154
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.resizable             # <<<<<<<<<<<<<<
 * 
 *     @resizable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->resizable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2150
 *         self.viewport.sizeDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.resizable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2156
 *         return self.viewport.resizable
 * 
 *     @resizable.setter             # <<<<<<<<<<<<<<
 *     def resizable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9resizable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9resizable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2157, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.resizable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9resizable_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9resizable_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2159
 *     def resizable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.resizable = value
 *         self.viewport.modesDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2160
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.resizable = value             # <<<<<<<<<<<<<<
 *         self.viewport.modesDirty = 1
 * 
 */
  __pyx_v_self->viewport->resizable = __pyx_v_value;

  /* "dearcygui/core.pyx":2161
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.resizable = value
 *         self.viewport.modesDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->modesDirty = 1;

  /* "dearcygui/core.pyx":2156
 *         return self.viewport.resizable
 * 
 *     @resizable.setter             # <<<<<<<<<<<<<<
 *     def resizable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2163
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def vsync(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5vsync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5vsync_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5vsync___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5vsync___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2166
 *     def vsync(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.vsync
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2167
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.vsync             # <<<<<<<<<<<<<<
 * 
 *     @vsync.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->vsync); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2163
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def vsync(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.vsync.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2169
 *         return self.viewport.vsync
 * 
 *     @vsync.setter             # <<<<<<<<<<<<<<
 *     def vsync(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5vsync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5vsync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2170, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.vsync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5vsync_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5vsync_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2172
 *     def vsync(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.vsync = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2173
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.vsync = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->vsync = __pyx_v_value;

  /* "dearcygui/core.pyx":2169
 *         return self.viewport.vsync
 * 
 *     @vsync.setter             # <<<<<<<<<<<<<<
 *     def vsync(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2175
 *         self.viewport.vsync = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dpi(self) -> float:
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_3dpi_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_3dpi_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_3dpi___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_3dpi___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2186
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.dpi
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2187
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.dpi             # <<<<<<<<<<<<<<
 * 
 *     @dpi.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->viewport->dpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2175
 *         self.viewport.vsync = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dpi(self) -> float:
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.dpi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2189
 *         return self.viewport.dpi
 * 
 *     @dpi.setter             # <<<<<<<<<<<<<<
 *     def dpi(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_3dpi_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_3dpi_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 2190, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.dpi.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_3dpi_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_3dpi_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":2192
 *     def dpi(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.__check_not_initialized()
 *         self.viewport.dpi = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2193
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.__check_not_initialized()             # <<<<<<<<<<<<<<
 *         self.viewport.dpi = value
 * 
 */
  __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2193, __pyx_L1_error)

  /* "dearcygui/core.pyx":2194
 *         lock_gil_friendly(m, self.mutex)
 *         self.__check_not_initialized()
 *         self.viewport.dpi = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->dpi = __pyx_v_value;

  /* "dearcygui/core.pyx":2189
 *         return self.viewport.dpi
 * 
 *     @dpi.setter             # <<<<<<<<<<<<<<
 *     def dpi(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.dpi.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2196
 *         self.viewport.dpi = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9min_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9min_width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9min_width___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9min_width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2199
 *     def min_width(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.minwidth
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2200
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.minwidth             # <<<<<<<<<<<<<<
 * 
 *     @min_width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->viewport->minwidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2196
 *         self.viewport.dpi = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.min_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2202
 *         return self.viewport.minwidth
 * 
 *     @min_width.setter             # <<<<<<<<<<<<<<
 *     def min_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9min_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9min_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2203, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.min_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9min_width_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9min_width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2205
 *     def min_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.minwidth = value
 *         self.viewport.sizeDirty = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2206
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.minwidth = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = True
 * 
 */
  __pyx_v_self->viewport->minwidth = __pyx_v_value;

  /* "dearcygui/core.pyx":2207
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.minwidth = value
 *         self.viewport.sizeDirty = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2202
 *         return self.viewport.minwidth
 * 
 *     @min_width.setter             # <<<<<<<<<<<<<<
 *     def min_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2209
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9max_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9max_width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9max_width___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9max_width___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2212
 *     def max_width(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.maxwidth
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2213
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.maxwidth             # <<<<<<<<<<<<<<
 * 
 *     @max_width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->viewport->maxwidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2209
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_width(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.max_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2215
 *         return self.viewport.maxwidth
 * 
 *     @max_width.setter             # <<<<<<<<<<<<<<
 *     def max_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9max_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9max_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2216, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.max_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9max_width_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9max_width_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2218
 *     def max_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.maxwidth = value
 *         self.viewport.sizeDirty = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2219
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.maxwidth = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = True
 * 
 */
  __pyx_v_self->viewport->maxwidth = __pyx_v_value;

  /* "dearcygui/core.pyx":2220
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.maxwidth = value
 *         self.viewport.sizeDirty = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2215
 *         return self.viewport.maxwidth
 * 
 *     @max_width.setter             # <<<<<<<<<<<<<<
 *     def max_width(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2222
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10min_height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10min_height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10min_height___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10min_height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2225
 *     def min_height(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.minheight
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2226
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.minheight             # <<<<<<<<<<<<<<
 * 
 *     @min_height.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->viewport->minheight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2222
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.min_height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2228
 *         return self.viewport.minheight
 * 
 *     @min_height.setter             # <<<<<<<<<<<<<<
 *     def min_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_10min_height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_10min_height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2229, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.min_height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10min_height_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_10min_height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2231
 *     def min_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.minheight = value
 *         self.viewport.sizeDirty = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2232
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.minheight = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = True
 * 
 */
  __pyx_v_self->viewport->minheight = __pyx_v_value;

  /* "dearcygui/core.pyx":2233
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.minheight = value
 *         self.viewport.sizeDirty = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2228
 *         return self.viewport.minheight
 * 
 *     @min_height.setter             # <<<<<<<<<<<<<<
 *     def min_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2235
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10max_height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10max_height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10max_height___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10max_height___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2238
 *     def max_height(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.maxheight
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2239
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.maxheight             # <<<<<<<<<<<<<<
 * 
 *     @max_height.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->viewport->maxheight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2235
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_height(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.max_height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2241
 *         return self.viewport.maxheight
 * 
 *     @max_height.setter             # <<<<<<<<<<<<<<
 *     def max_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_10max_height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_10max_height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2242, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.max_height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10max_height_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_10max_height_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, unsigned int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2244
 *     def max_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.maxheight = value
 *         self.viewport.sizeDirty = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2245
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.maxheight = value             # <<<<<<<<<<<<<<
 *         self.viewport.sizeDirty = True
 * 
 */
  __pyx_v_self->viewport->maxheight = __pyx_v_value;

  /* "dearcygui/core.pyx":2246
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.maxheight = value
 *         self.viewport.sizeDirty = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->sizeDirty = 1;

  /* "dearcygui/core.pyx":2241
 *         return self.viewport.maxheight
 * 
 *     @max_height.setter             # <<<<<<<<<<<<<<
 *     def max_height(self, unsigned value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2248
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_on_top(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_13always_on_top___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_13always_on_top___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2251
 *     def always_on_top(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.alwaysOnTop
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2252
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.alwaysOnTop             # <<<<<<<<<<<<<<
 * 
 *     @always_on_top.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->alwaysOnTop); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2248
 *         self.viewport.sizeDirty = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_on_top(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.always_on_top.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2254
 *         return self.viewport.alwaysOnTop
 * 
 *     @always_on_top.setter             # <<<<<<<<<<<<<<
 *     def always_on_top(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2255, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.always_on_top.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_13always_on_top_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_13always_on_top_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2257
 *     def always_on_top(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.alwaysOnTop = value
 *         self.viewport.modesDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2258
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.alwaysOnTop = value             # <<<<<<<<<<<<<<
 *         self.viewport.modesDirty = 1
 * 
 */
  __pyx_v_self->viewport->alwaysOnTop = __pyx_v_value;

  /* "dearcygui/core.pyx":2259
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.alwaysOnTop = value
 *         self.viewport.modesDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->modesDirty = 1;

  /* "dearcygui/core.pyx":2254
 *         return self.viewport.alwaysOnTop
 * 
 *     @always_on_top.setter             # <<<<<<<<<<<<<<
 *     def always_on_top(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2261
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decorated(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9decorated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9decorated_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9decorated___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9decorated___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2264
 *     def decorated(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.decorated
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2265
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.decorated             # <<<<<<<<<<<<<<
 * 
 *     @decorated.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->decorated); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2261
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decorated(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.decorated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2267
 *         return self.viewport.decorated
 * 
 *     @decorated.setter             # <<<<<<<<<<<<<<
 *     def decorated(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9decorated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9decorated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2268, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.decorated.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9decorated_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9decorated_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2270
 *     def decorated(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.decorated = value
 *         self.viewport.modesDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2271
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.decorated = value             # <<<<<<<<<<<<<<
 *         self.viewport.modesDirty = 1
 * 
 */
  __pyx_v_self->viewport->decorated = __pyx_v_value;

  /* "dearcygui/core.pyx":2272
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.decorated = value
 *         self.viewport.modesDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->modesDirty = 1;

  /* "dearcygui/core.pyx":2267
 *         return self.viewport.decorated
 * 
 *     @decorated.setter             # <<<<<<<<<<<<<<
 *     def decorated(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2274
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_8handlers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_8handlers_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_8handlers___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_8handlers___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2283
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2284
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef baseHandler handler
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2287
 *         cdef int i
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 */
  __pyx_t_2 = ((int)__pyx_v_self->__pyx_base._handlers.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":2288
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]             # <<<<<<<<<<<<<<
 *             result.append(handler)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->__pyx_base._handlers[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":2289
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_handler)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 2289, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":2290
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @handlers.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2274
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.handlers.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_handler);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2292
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_8handlers_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":2295
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2296
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2298
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":2299
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2299, __pyx_L1_error)

    /* "dearcygui/core.pyx":2300
 *         if value is None:
 *             clear_obj_vector(self._handlers)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":2298
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  }

  /* "dearcygui/core.pyx":2301
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2301, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":2302
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 2302, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":2301
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  }

  /* "dearcygui/core.pyx":2303
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2303, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":2304
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseHandler); 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = (!__pyx_t_3);
    if (unlikely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":2305
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")             # <<<<<<<<<<<<<<
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 */
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u_is_not_a_handler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 2305, __pyx_L1_error)

      /* "dearcygui/core.pyx":2304
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    }

    /* "dearcygui/core.pyx":2307
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)             # <<<<<<<<<<<<<<
 *             items.append(value[i])
 *         # Success: bind
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2307, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":2308
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 *             items.append(value[i])             # <<<<<<<<<<<<<<
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 2308, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":2310
 *             items.append(value[i])
 *         # Success: bind
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._handlers, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2310, __pyx_L1_error)

  /* "dearcygui/core.pyx":2311
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 *         append_obj_vector(self._handlers, items)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->__pyx_base._handlers, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2311, __pyx_L1_error)

  /* "dearcygui/core.pyx":2292
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.Viewport.handlers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2313
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cursor(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_6cursor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_6cursor_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_6cursor___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6cursor___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2320
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <mouse_cursor>self._cursor
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2321
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <mouse_cursor>self._cursor             # <<<<<<<<<<<<<<
 * 
 *     @cursor.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_2ee729__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(((enum __pyx_t_9dearcygui_4core_mouse_cursor)__pyx_v_self->_cursor)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2313
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def cursor(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.cursor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2323
 *         return <mouse_cursor>self._cursor
 * 
 *     @cursor.setter             # <<<<<<<<<<<<<<
 *     def cursor(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_6cursor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_6cursor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2324, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.cursor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_6cursor_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_6cursor_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2326
 *     def cursor(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < imgui.ImGuiMouseCursor_None or \
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2327
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiMouseCursor_None or \             # <<<<<<<<<<<<<<
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")
 */
  __pyx_t_2 = (__pyx_v_value < ImGuiMouseCursor_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":2328
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiMouseCursor_None or \
 *            value >= imgui.ImGuiMouseCursor_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid cursor type {value}")
 *         self._cursor = value
 */
  __pyx_t_2 = (__pyx_v_value >= ImGuiMouseCursor_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":2327
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiMouseCursor_None or \             # <<<<<<<<<<<<<<
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")
 */
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":2329
 *         if value < imgui.ImGuiMouseCursor_None or \
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")             # <<<<<<<<<<<<<<
 *         self._cursor = value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 2329, __pyx_L1_error)

    /* "dearcygui/core.pyx":2327
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiMouseCursor_None or \             # <<<<<<<<<<<<<<
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")
 */
  }

  /* "dearcygui/core.pyx":2330
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")
 *         self._cursor = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_cursor = __pyx_v_value;

  /* "dearcygui/core.pyx":2323
 *         return <mouse_cursor>self._cursor
 * 
 *     @cursor.setter             # <<<<<<<<<<<<<<
 *     def cursor(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Viewport.cursor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2332
 *         self._cursor = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_4font_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_4font_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_4font___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_4font___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2338
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._font
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2339
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._font             # <<<<<<<<<<<<<<
 * 
 *     @font.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_font);
  __pyx_r = ((PyObject *)__pyx_v_self->_font);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2332
 *         self._cursor = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2341
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_Font, 1, "value", 0))) __PYX_ERR(1, 2342, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_4font_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_4font_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2344
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._font = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2345
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._font = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_font);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_font);
  __pyx_v_self->_font = __pyx_v_value;

  /* "dearcygui/core.pyx":2341
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2347
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5theme_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5theme_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5theme___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5theme___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2353
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._theme
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2354
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._theme             # <<<<<<<<<<<<<<
 * 
 *     @theme.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_theme);
  __pyx_r = ((PyObject *)__pyx_v_self->_theme);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2347
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2356
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_baseTheme, 1, "value", 0))) __PYX_ERR(1, 2357, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5theme_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2359
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._theme = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2360
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._theme = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_theme);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_theme);
  __pyx_v_self->_theme = __pyx_v_value;

  /* "dearcygui/core.pyx":2356
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2362
 *         self._theme = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def title(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5title_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5title_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5title___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5title___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2365
 *     def title(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self.viewport.title)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2366
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self.viewport.title)             # <<<<<<<<<<<<<<
 * 
 *     @title.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->viewport->title); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2362
 *         self._theme = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def title(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Viewport.title.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2368
 *         return str(self.viewport.title)
 * 
 *     @title.setter             # <<<<<<<<<<<<<<
 *     def title(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_5title_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_5title_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 2369, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5title_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_5title_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::string __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2371
 *     def title(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.title = value.encode("utf-8")
 *         self.viewport.titleDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2372
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.title = value.encode("utf-8")             # <<<<<<<<<<<<<<
 *         self.viewport.titleDirty = 1
 * 
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "encode");
    __PYX_ERR(1, 2372, __pyx_L1_error)
  }
  __pyx_t_1 = PyUnicode_AsUTF8String(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->viewport->title = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

  /* "dearcygui/core.pyx":2373
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.title = value.encode("utf-8")
 *         self.viewport.titleDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->titleDirty = 1;

  /* "dearcygui/core.pyx":2368
 *         return str(self.viewport.title)
 * 
 *     @title.setter             # <<<<<<<<<<<<<<
 *     def title(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.title.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2375
 *         self.viewport.titleDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disable_close(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13disable_close_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13disable_close_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_13disable_close___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_13disable_close___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2378
 *     def disable_close(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.disableClose
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2379
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.disableClose             # <<<<<<<<<<<<<<
 * 
 *     @disable_close.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->disableClose); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2375
 *         self.viewport.titleDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disable_close(self) -> bool:
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.disable_close.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2381
 *         return self.viewport.disableClose
 * 
 *     @disable_close.setter             # <<<<<<<<<<<<<<
 *     def disable_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_13disable_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_13disable_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2382, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.disable_close.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_13disable_close_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_13disable_close_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2384
 *     def disable_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.disableClose = value
 *         self.viewport.modesDirty = 1
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2385
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.disableClose = value             # <<<<<<<<<<<<<<
 *         self.viewport.modesDirty = 1
 * 
 */
  __pyx_v_self->viewport->disableClose = __pyx_v_value;

  /* "dearcygui/core.pyx":2386
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.disableClose = value
 *         self.viewport.modesDirty = 1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->modesDirty = 1;

  /* "dearcygui/core.pyx":2381
 *         return self.viewport.disableClose
 * 
 *     @disable_close.setter             # <<<<<<<<<<<<<<
 *     def disable_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2388
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fullscreen(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10fullscreen___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10fullscreen___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2391
 *     def fullscreen(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.viewport.fullScreen
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2392
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.viewport.fullScreen             # <<<<<<<<<<<<<<
 * 
 *     @fullscreen.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->fullScreen); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2388
 *         self.viewport.modesDirty = 1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fullscreen(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.fullscreen.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2394
 *         return self.viewport.fullScreen
 * 
 *     @fullscreen.setter             # <<<<<<<<<<<<<<
 *     def fullscreen(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2395, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.fullscreen.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10fullscreen_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_10fullscreen_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2399
 *         cdef unique_lock[recursive_mutex] m2
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2400
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2401
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         if value and not(self.viewport.fullScreen):
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_self->mutex_backend);

  /* "dearcygui/core.pyx":2402
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         if value and not(self.viewport.fullScreen):
 *             mvToggleFullScreen(dereference(self.viewport))
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2403
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value and not(self.viewport.fullScreen):             # <<<<<<<<<<<<<<
 *             mvToggleFullScreen(dereference(self.viewport))
 *         elif not(value) and (self.viewport.fullScreen):
 */
  if (__pyx_v_value) {
  } else {
    __pyx_t_2 = __pyx_v_value;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_self->viewport->fullScreen);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":2404
 *         ensure_correct_im_context(self.context)
 *         if value and not(self.viewport.fullScreen):
 *             mvToggleFullScreen(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *         elif not(value) and (self.viewport.fullScreen):
 *             # Same call
 */
    mvToggleFullScreen((*__pyx_v_self->viewport));

    /* "dearcygui/core.pyx":2403
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value and not(self.viewport.fullScreen):             # <<<<<<<<<<<<<<
 *             mvToggleFullScreen(dereference(self.viewport))
 *         elif not(value) and (self.viewport.fullScreen):
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":2405
 *         if value and not(self.viewport.fullScreen):
 *             mvToggleFullScreen(dereference(self.viewport))
 *         elif not(value) and (self.viewport.fullScreen):             # <<<<<<<<<<<<<<
 *             # Same call
 *             mvToggleFullScreen(dereference(self.viewport))
 */
  __pyx_t_3 = (!__pyx_v_value);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_2 = __pyx_v_self->viewport->fullScreen;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":2407
 *         elif not(value) and (self.viewport.fullScreen):
 *             # Same call
 *             mvToggleFullScreen(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *     @property
 *     def minimized(self):
 */
    mvToggleFullScreen((*__pyx_v_self->viewport));

    /* "dearcygui/core.pyx":2405
 *         if value and not(self.viewport.fullScreen):
 *             mvToggleFullScreen(dereference(self.viewport))
 *         elif not(value) and (self.viewport.fullScreen):             # <<<<<<<<<<<<<<
 *             # Same call
 *             mvToggleFullScreen(dereference(self.viewport))
 */
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":2394
 *         return self.viewport.fullScreen
 * 
 *     @fullscreen.setter             # <<<<<<<<<<<<<<
 *     def fullscreen(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2408
 *             # Same call
 *             mvToggleFullScreen(dereference(self.viewport))
 *     @property             # <<<<<<<<<<<<<<
 *     def minimized(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9minimized_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9minimized_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9minimized___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9minimized___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2411
 *     def minimized(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return None #TODO
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2412
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return None #TODO             # <<<<<<<<<<<<<<
 * 
 *     @minimized.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2408
 *             # Same call
 *             mvToggleFullScreen(dereference(self.viewport))
 *     @property             # <<<<<<<<<<<<<<
 *     def minimized(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2414
 *         return None #TODO
 * 
 *     @minimized.setter             # <<<<<<<<<<<<<<
 *     def minimized(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9minimized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9minimized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2415, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.minimized.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9minimized_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9minimized_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2419
 *         cdef unique_lock[recursive_mutex] m2
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2420
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2421
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_self->mutex_backend);

  /* "dearcygui/core.pyx":2422
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         if value:
 *             mvMinimizeViewport(dereference(self.viewport))
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2423
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value:             # <<<<<<<<<<<<<<
 *             mvMinimizeViewport(dereference(self.viewport))
 *         else:
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":2424
 *         ensure_correct_im_context(self.context)
 *         if value:
 *             mvMinimizeViewport(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *         else:
 *             mvRestoreViewport(dereference(self.viewport))
 */
    mvMinimizeViewport((*__pyx_v_self->viewport));

    /* "dearcygui/core.pyx":2423
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value:             # <<<<<<<<<<<<<<
 *             mvMinimizeViewport(dereference(self.viewport))
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":2426
 *             mvMinimizeViewport(dereference(self.viewport))
 *         else:
 *             mvRestoreViewport(dereference(self.viewport))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    mvRestoreViewport((*__pyx_v_self->viewport));
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":2414
 *         return None #TODO
 * 
 *     @minimized.setter             # <<<<<<<<<<<<<<
 *     def minimized(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2428
 *             mvRestoreViewport(dereference(self.viewport))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def maximized(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9maximized_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9maximized_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9maximized___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_9maximized___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2431
 *     def maximized(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return None #TODO
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2432
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return None #TODO             # <<<<<<<<<<<<<<
 * 
 *     @maximized.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2428
 *             mvRestoreViewport(dereference(self.viewport))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def maximized(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2434
 *         return None #TODO
 * 
 *     @maximized.setter             # <<<<<<<<<<<<<<
 *     def maximized(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_9maximized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_9maximized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2435, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.maximized.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_9maximized_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_9maximized_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2439
 *         cdef unique_lock[recursive_mutex] m2
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2440
 *         cdef unique_lock[recursive_mutex] m3
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2441
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_self->mutex_backend);

  /* "dearcygui/core.pyx":2442
 *         lock_gil_friendly(m2, self.mutex)
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *         if value:
 *             mvMaximizeViewport(dereference(self.viewport))
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_f_9dearcygui_4core_ensure_correct_im_context(((struct __pyx_obj_9dearcygui_4core_Context *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2443
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value:             # <<<<<<<<<<<<<<
 *             mvMaximizeViewport(dereference(self.viewport))
 *         else:
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":2444
 *         ensure_correct_im_context(self.context)
 *         if value:
 *             mvMaximizeViewport(dereference(self.viewport))             # <<<<<<<<<<<<<<
 *         else:
 *             mvRestoreViewport(dereference(self.viewport))
 */
    mvMaximizeViewport((*__pyx_v_self->viewport));

    /* "dearcygui/core.pyx":2443
 *         lock_gil_friendly(m3, self.mutex_backend)
 *         ensure_correct_im_context(self.context)
 *         if value:             # <<<<<<<<<<<<<<
 *             mvMaximizeViewport(dereference(self.viewport))
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":2446
 *             mvMaximizeViewport(dereference(self.viewport))
 *         else:
 *             mvRestoreViewport(dereference(self.viewport))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    mvRestoreViewport((*__pyx_v_self->viewport));
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":2434
 *         return None #TODO
 * 
 *     @maximized.setter             # <<<<<<<<<<<<<<
 *     def maximized(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2448
 *             mvRestoreViewport(dereference(self.viewport))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wait_for_input(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2458
 *         for one frame.
 *         """
 *         return self.viewport.waitForEvents             # <<<<<<<<<<<<<<
 * 
 *     @wait_for_input.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->viewport->waitForEvents); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2448
 *             mvRestoreViewport(dereference(self.viewport))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wait_for_input(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.wait_for_input.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2460
 *         return self.viewport.waitForEvents
 * 
 *     @wait_for_input.setter             # <<<<<<<<<<<<<<
 *     def wait_for_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2461, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.wait_for_input.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_14wait_for_input_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":2463
 *     def wait_for_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.waitForEvents = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2464
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.waitForEvents = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->viewport->waitForEvents = __pyx_v_value;

  /* "dearcygui/core.pyx":2460
 *         return self.viewport.waitForEvents
 * 
 *     @wait_for_input.setter             # <<<<<<<<<<<<<<
 *     def wait_for_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":2466
 *         self.viewport.waitForEvents = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shown(self) -> bool:
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5shown_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_5shown_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_5shown___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_5shown___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2473
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.initialized
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2474
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.initialized             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->initialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2466
 *         self.viewport.waitForEvents = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shown(self) -> bool:
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Viewport.shown.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2476
 *         return self.initialized
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resize_callback(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_15resize_callback___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_15resize_callback___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2482
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._resize_callback
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2483
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._resize_callback             # <<<<<<<<<<<<<<
 * 
 *     @resize_callback.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_resize_callback);
  __pyx_r = ((PyObject *)__pyx_v_self->_resize_callback);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2476
 *         return self.initialized
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resize_callback(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2485
 *         return self._resize_callback
 * 
 *     @resize_callback.setter             # <<<<<<<<<<<<<<
 *     def resize_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_15resize_callback_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_15resize_callback_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2488
 *     def resize_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._resize_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2489
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._resize_callback = value if isinstance(value, Callback) or value is None else Callback(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_value == Py_None);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L3_bool_binop_done:;
  if (__pyx_t_2) {
    if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback))))) __PYX_ERR(1, 2489, __pyx_L1_error)
    __Pyx_INCREF(__pyx_v_value);
    __pyx_t_1 = __pyx_v_value;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Callback), __pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_resize_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_resize_callback);
  __pyx_v_self->_resize_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2485
 *         return self._resize_callback
 * 
 *     @resize_callback.setter             # <<<<<<<<<<<<<<
 *     def resize_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Viewport.resize_callback.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2491
 *         self._resize_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def close_callback(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_14close_callback_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_14close_callback_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_14close_callback___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14close_callback___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2497
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._close_callback
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2498
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._close_callback             # <<<<<<<<<<<<<<
 * 
 *     @close_callback.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_close_callback);
  __pyx_r = ((PyObject *)__pyx_v_self->_close_callback);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2491
 *         self._resize_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def close_callback(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2500
 *         return self._close_callback
 * 
 *     @close_callback.setter             # <<<<<<<<<<<<<<
 *     def close_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Viewport_14close_callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Viewport_14close_callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_14close_callback_2__set__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Viewport_14close_callback_2__set__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":2503
 *     def close_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2504
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._close_callback = value if isinstance(value, Callback) or value is None else Callback(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_value == Py_None);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L3_bool_binop_done:;
  if (__pyx_t_2) {
    if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback))))) __PYX_ERR(1, 2504, __pyx_L1_error)
    __Pyx_INCREF(__pyx_v_value);
    __pyx_t_1 = __pyx_v_value;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Callback), __pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_close_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_close_callback);
  __pyx_v_self->_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2500
 *         return self._close_callback
 * 
 *     @close_callback.setter             # <<<<<<<<<<<<<<
 *     def close_callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Viewport.close_callback.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2506
 *         self._close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def metrics(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_7metrics_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_7metrics_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_7metrics___get__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_7metrics___get__(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":2510
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2511
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         """
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2530
 *         the data refers to.
 *         """
 *         return {             # <<<<<<<<<<<<<<
 *             "last_time_before_event_handling" : self.last_t_before_event_handling,
 *             "last_time_before_rendering" : self.last_t_before_rendering,
 */
  __Pyx_XDECREF(__pyx_r);

  /* "dearcygui/core.pyx":2531
 *         """
 *         return {
 *             "last_time_before_event_handling" : self.last_t_before_event_handling,             # <<<<<<<<<<<<<<
 *             "last_time_before_rendering" : self.last_t_before_rendering,
 *             "last_time_after_rendering" : self.last_t_after_rendering,
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(13); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->last_t_before_event_handling); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_last_time_before_event_handling, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2532
 *         return {
 *             "last_time_before_event_handling" : self.last_t_before_event_handling,
 *             "last_time_before_rendering" : self.last_t_before_rendering,             # <<<<<<<<<<<<<<
 *             "last_time_after_rendering" : self.last_t_after_rendering,
 *             "last_time_after_swapping": self.last_t_after_swapping,
 */
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->last_t_before_rendering); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_last_time_before_rendering, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2533
 *             "last_time_before_event_handling" : self.last_t_before_event_handling,
 *             "last_time_before_rendering" : self.last_t_before_rendering,
 *             "last_time_after_rendering" : self.last_t_after_rendering,             # <<<<<<<<<<<<<<
 *             "last_time_after_swapping": self.last_t_after_swapping,
 *             "delta_event_handling": self.delta_event_handling,
 */
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->last_t_after_rendering); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_last_time_after_rendering, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2534
 *             "last_time_before_rendering" : self.last_t_before_rendering,
 *             "last_time_after_rendering" : self.last_t_after_rendering,
 *             "last_time_after_swapping": self.last_t_after_swapping,             # <<<<<<<<<<<<<<
 *             "delta_event_handling": self.delta_event_handling,
 *             "delta_rendering": self.delta_rendering,
 */
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->last_t_after_swapping); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_last_time_after_swapping, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2535
 *             "last_time_after_rendering" : self.last_t_after_rendering,
 *             "last_time_after_swapping": self.last_t_after_swapping,
 *             "delta_event_handling": self.delta_event_handling,             # <<<<<<<<<<<<<<
 *             "delta_rendering": self.delta_rendering,
 *             "delta_presenting": self.delta_swapping,
 */
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->delta_event_handling); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_delta_event_handling, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2536
 *             "last_time_after_swapping": self.last_t_after_swapping,
 *             "delta_event_handling": self.delta_event_handling,
 *             "delta_rendering": self.delta_rendering,             # <<<<<<<<<<<<<<
 *             "delta_presenting": self.delta_swapping,
 *             "delta_whole_frame": self.delta_frame,
 */
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->delta_rendering); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_delta_rendering, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2537
 *             "delta_event_handling": self.delta_event_handling,
 *             "delta_rendering": self.delta_rendering,
 *             "delta_presenting": self.delta_swapping,             # <<<<<<<<<<<<<<
 *             "delta_whole_frame": self.delta_frame,
 *             "rendered_vertices": imgui.GetIO().MetricsRenderVertices,
 */
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->delta_swapping); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_delta_presenting, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2538
 *             "delta_rendering": self.delta_rendering,
 *             "delta_presenting": self.delta_swapping,
 *             "delta_whole_frame": self.delta_frame,             # <<<<<<<<<<<<<<
 *             "rendered_vertices": imgui.GetIO().MetricsRenderVertices,
 *             "rendered_indices": imgui.GetIO().MetricsRenderIndices,
 */
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->delta_frame); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_delta_whole_frame, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2539
 *             "delta_presenting": self.delta_swapping,
 *             "delta_whole_frame": self.delta_frame,
 *             "rendered_vertices": imgui.GetIO().MetricsRenderVertices,             # <<<<<<<<<<<<<<
 *             "rendered_indices": imgui.GetIO().MetricsRenderIndices,
 *             "rendered_windows": imgui.GetIO().MetricsRenderWindows,
 */
  __pyx_t_2 = __Pyx_PyInt_From_int(ImGui::GetIO().MetricsRenderVertices); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_rendered_vertices, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2540
 *             "delta_whole_frame": self.delta_frame,
 *             "rendered_vertices": imgui.GetIO().MetricsRenderVertices,
 *             "rendered_indices": imgui.GetIO().MetricsRenderIndices,             # <<<<<<<<<<<<<<
 *             "rendered_windows": imgui.GetIO().MetricsRenderWindows,
 *             "active_windows": imgui.GetIO().MetricsActiveWindows,
 */
  __pyx_t_2 = __Pyx_PyInt_From_int(ImGui::GetIO().MetricsRenderIndices); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_rendered_indices, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2541
 *             "rendered_vertices": imgui.GetIO().MetricsRenderVertices,
 *             "rendered_indices": imgui.GetIO().MetricsRenderIndices,
 *             "rendered_windows": imgui.GetIO().MetricsRenderWindows,             # <<<<<<<<<<<<<<
 *             "active_windows": imgui.GetIO().MetricsActiveWindows,
 *             "frame_count" : self.frame_count-1,
 */
  __pyx_t_2 = __Pyx_PyInt_From_int(ImGui::GetIO().MetricsRenderWindows); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_rendered_windows, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2542
 *             "rendered_indices": imgui.GetIO().MetricsRenderIndices,
 *             "rendered_windows": imgui.GetIO().MetricsRenderWindows,
 *             "active_windows": imgui.GetIO().MetricsActiveWindows,             # <<<<<<<<<<<<<<
 *             "frame_count" : self.frame_count-1,
 *         }
 */
  __pyx_t_2 = __Pyx_PyInt_From_int(ImGui::GetIO().MetricsActiveWindows); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_active_windows, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2543
 *             "rendered_windows": imgui.GetIO().MetricsRenderWindows,
 *             "active_windows": imgui.GetIO().MetricsActiveWindows,
 *             "frame_count" : self.frame_count-1,             # <<<<<<<<<<<<<<
 *         }
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_From_long((__pyx_v_self->frame_count - 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_frame_count, __pyx_t_2) < 0) __PYX_ERR(1, 2531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2506
 *         self._close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def metrics(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Viewport.metrics.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2546
 *         }
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         for (key, value) in kwargs.items():
 *             setattr(self, key, value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_7configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_7configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_7configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_7configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_6configure(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_6configure(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_key = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":2547
 * 
 *     def configure(self, **kwargs):
 *         for (key, value) in kwargs.items():             # <<<<<<<<<<<<<<
 *             setattr(self, key, value)
 * 
 */
  __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_kwargs, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(1, 2547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "dearcygui/core.pyx":2548
 *     def configure(self, **kwargs):
 *         for (key, value) in kwargs.items():
 *             setattr(self, key, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef void __on_resize(self, int width, int height):
 */
    __pyx_t_8 = PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 2548, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2546
 *         }
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         for (key, value) in kwargs.items():
 *             setattr(self, key, value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.Viewport.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2550
 *             setattr(self, key, value)
 * 
 *     cdef void __on_resize(self, int width, int height):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_resize(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_width, int __pyx_v_height) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_Viewport__on_resize", 1);

  /* "dearcygui/core.pyx":2552
 *     cdef void __on_resize(self, int width, int height):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.viewport.actualHeight = height
 *         self.viewport.clientHeight = height
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2553
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualHeight = height             # <<<<<<<<<<<<<<
 *         self.viewport.clientHeight = height
 *         self.viewport.actualWidth = width
 */
  __pyx_v_self->viewport->actualHeight = __pyx_v_height;

  /* "dearcygui/core.pyx":2554
 *         lock_gil_friendly(m, self.mutex)
 *         self.viewport.actualHeight = height
 *         self.viewport.clientHeight = height             # <<<<<<<<<<<<<<
 *         self.viewport.actualWidth = width
 *         self.viewport.clientWidth = width
 */
  __pyx_v_self->viewport->clientHeight = __pyx_v_height;

  /* "dearcygui/core.pyx":2555
 *         self.viewport.actualHeight = height
 *         self.viewport.clientHeight = height
 *         self.viewport.actualWidth = width             # <<<<<<<<<<<<<<
 *         self.viewport.clientWidth = width
 *         self.viewport.resized = True
 */
  __pyx_v_self->viewport->actualWidth = __pyx_v_width;

  /* "dearcygui/core.pyx":2556
 *         self.viewport.clientHeight = height
 *         self.viewport.actualWidth = width
 *         self.viewport.clientWidth = width             # <<<<<<<<<<<<<<
 *         self.viewport.resized = True
 *         self.context.queue_callback_arg4int(self._resize_callback,
 */
  __pyx_v_self->viewport->clientWidth = __pyx_v_width;

  /* "dearcygui/core.pyx":2557
 *         self.viewport.actualWidth = width
 *         self.viewport.clientWidth = width
 *         self.viewport.resized = True             # <<<<<<<<<<<<<<
 *         self.context.queue_callback_arg4int(self._resize_callback,
 *                                             self,
 */
  __pyx_v_self->viewport->resized = 1;

  /* "dearcygui/core.pyx":2558
 *         self.viewport.clientWidth = width
 *         self.viewport.resized = True
 *         self.context.queue_callback_arg4int(self._resize_callback,             # <<<<<<<<<<<<<<
 *                                             self,
 *                                             self,
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_self->_resize_callback);
  __Pyx_INCREF(__pyx_t_1);

  /* "dearcygui/core.pyx":2564
 *                                             self.viewport.actualHeight,
 *                                             self.viewport.clientWidth,
 *                                             self.viewport.clientHeight)             # <<<<<<<<<<<<<<
 * 
 *     cdef void __on_close(self):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.context->__pyx_vtab)->queue_callback_arg4int(__pyx_v_self->__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_self->viewport->actualWidth, __pyx_v_self->viewport->actualHeight, __pyx_v_self->viewport->clientWidth, __pyx_v_self->viewport->clientHeight);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":2550
 *             setattr(self, key, value)
 * 
 *     cdef void __on_resize(self, int width, int height):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":2566
 *                                             self.viewport.clientHeight)
 * 
 *     cdef void __on_close(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__on_close(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("_Viewport__on_close", 1);

  /* "dearcygui/core.pyx":2568
 *     cdef void __on_close(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(<bint>self.viewport.disableClose):
 *             self.context.started = False
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2569
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(<bint>self.viewport.disableClose):             # <<<<<<<<<<<<<<
 *             self.context.started = False
 *         self.context.queue_callback_noarg(self._close_callback, self, self)
 */
  __pyx_t_1 = (!__pyx_v_self->viewport->disableClose);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2570
 *         lock_gil_friendly(m, self.mutex)
 *         if not(<bint>self.viewport.disableClose):
 *             self.context.started = False             # <<<<<<<<<<<<<<
 *         self.context.queue_callback_noarg(self._close_callback, self, self)
 * 
 */
    __pyx_v_self->__pyx_base.context->started = 0;

    /* "dearcygui/core.pyx":2569
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(<bint>self.viewport.disableClose):             # <<<<<<<<<<<<<<
 *             self.context.started = False
 *         self.context.queue_callback_noarg(self._close_callback, self, self)
 */
  }

  /* "dearcygui/core.pyx":2571
 *         if not(<bint>self.viewport.disableClose):
 *             self.context.started = False
 *         self.context.queue_callback_noarg(self._close_callback, self, self)             # <<<<<<<<<<<<<<
 * 
 *     cdef void __render(self) noexcept nogil:
 */
  __pyx_t_2 = ((PyObject *)__pyx_v_self->_close_callback);
  __Pyx_INCREF(__pyx_t_2);
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.context->__pyx_vtab)->queue_callback_noarg(__pyx_v_self->__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_2), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":2566
 *                                             self.viewport.clientHeight)
 * 
 *     cdef void __on_close(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":2573
 *         self.context.queue_callback_noarg(self._close_callback, self, self)
 * 
 *     cdef void __render(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint any_change = False
 */

static void __pyx_f_9dearcygui_4core_8Viewport__Viewport__render(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  CYTHON_UNUSED int __pyx_v_any_change;
  int __pyx_t_1;
  double __pyx_t_2[2];
  double __pyx_t_3[2];

  /* "dearcygui/core.pyx":2574
 * 
 *     cdef void __render(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint any_change = False
 *         self.last_t_before_rendering = ctime.monotonic_ns()
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2575
 *     cdef void __render(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint any_change = False             # <<<<<<<<<<<<<<
 *         self.last_t_before_rendering = ctime.monotonic_ns()
 *         # Initialize drawing state
 */
  __pyx_v_any_change = 0;

  /* "dearcygui/core.pyx":2576
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint any_change = False
 *         self.last_t_before_rendering = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         # Initialize drawing state
 *         imgui.SetMouseCursor(self._cursor)
 */
  __pyx_v_self->last_t_before_rendering = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":2578
 *         self.last_t_before_rendering = ctime.monotonic_ns()
 *         # Initialize drawing state
 *         imgui.SetMouseCursor(self._cursor)             # <<<<<<<<<<<<<<
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.set_previous_states()
 */
  ImGui::SetMouseCursor(__pyx_v_self->_cursor);

  /* "dearcygui/core.pyx":2579
 *         # Initialize drawing state
 *         imgui.SetMouseCursor(self._cursor)
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow             # <<<<<<<<<<<<<<
 *         self.set_previous_states()
 *         if self._font is not None:
 */
  __pyx_v_self->_cursor = ImGuiMouseCursor_Arrow;

  /* "dearcygui/core.pyx":2580
 *         imgui.SetMouseCursor(self._cursor)
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 *         if self._font is not None:
 *             self._font.push()
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Viewport *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":2581
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.set_previous_states()
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 *         if self._theme is not None: # maybe apply in render_frame instead ?
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2582
 *         self.set_previous_states()
 *         if self._font is not None:
 *             self._font.push()             # <<<<<<<<<<<<<<
 *         if self._theme is not None: # maybe apply in render_frame instead ?
 *             self._theme.push()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->push(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":2581
 *         self._cursor = imgui.ImGuiMouseCursor_Arrow
 *         self.set_previous_states()
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 *         if self._theme is not None: # maybe apply in render_frame instead ?
 */
  }

  /* "dearcygui/core.pyx":2583
 *         if self._font is not None:
 *             self._font.push()
 *         if self._theme is not None: # maybe apply in render_frame instead ?             # <<<<<<<<<<<<<<
 *             self._theme.push()
 *         self.shifts = [0., 0.]
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2584
 *             self._font.push()
 *         if self._theme is not None: # maybe apply in render_frame instead ?
 *             self._theme.push()             # <<<<<<<<<<<<<<
 *         self.shifts = [0., 0.]
 *         self.scales = [1., 1.]
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->_theme->__pyx_base.__pyx_vtab)->push(__pyx_v_self->_theme);

    /* "dearcygui/core.pyx":2583
 *         if self._font is not None:
 *             self._font.push()
 *         if self._theme is not None: # maybe apply in render_frame instead ?             # <<<<<<<<<<<<<<
 *             self._theme.push()
 *         self.shifts = [0., 0.]
 */
  }

  /* "dearcygui/core.pyx":2585
 *         if self._theme is not None: # maybe apply in render_frame instead ?
 *             self._theme.push()
 *         self.shifts = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.scales = [1., 1.]
 *         self.in_plot = False
 */
  __pyx_t_2[0] = 0.;
  __pyx_t_2[1] = 0.;
  memcpy(&(__pyx_v_self->shifts[0]), __pyx_t_2, sizeof(__pyx_v_self->shifts[0]) * (2));

  /* "dearcygui/core.pyx":2586
 *             self._theme.push()
 *         self.shifts = [0., 0.]
 *         self.scales = [1., 1.]             # <<<<<<<<<<<<<<
 *         self.in_plot = False
 *         self.start_pending_theme_actions = 0
 */
  __pyx_t_3[0] = 1.;
  __pyx_t_3[1] = 1.;
  memcpy(&(__pyx_v_self->scales[0]), __pyx_t_3, sizeof(__pyx_v_self->scales[0]) * (2));

  /* "dearcygui/core.pyx":2587
 *         self.shifts = [0., 0.]
 *         self.scales = [1., 1.]
 *         self.in_plot = False             # <<<<<<<<<<<<<<
 *         self.start_pending_theme_actions = 0
 *         #if self.filedialogRoots is not None:
 */
  __pyx_v_self->in_plot = 0;

  /* "dearcygui/core.pyx":2588
 *         self.scales = [1., 1.]
 *         self.in_plot = False
 *         self.start_pending_theme_actions = 0             # <<<<<<<<<<<<<<
 *         #if self.filedialogRoots is not None:
 *         #    self.filedialogRoots.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 */
  __pyx_v_self->start_pending_theme_actions = 0;

  /* "dearcygui/core.pyx":2591
 *         #if self.filedialogRoots is not None:
 *         #    self.filedialogRoots.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 *         self.parent_pos = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         self.window_pos = imgui.ImVec2(0., 0.)
 *         if self.last_window_child is not None:
 */
  __pyx_v_self->parent_pos = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":2592
 *         #    self.filedialogRoots.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 *         self.parent_pos = imgui.ImVec2(0., 0.)
 *         self.window_pos = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         if self.last_window_child is not None:
 *             self.last_window_child.draw()
 */
  __pyx_v_self->window_pos = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":2593
 *         self.parent_pos = imgui.ImVec2(0., 0.)
 *         self.window_pos = imgui.ImVec2(0., 0.)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_window_child.draw()
 *         #if self.last_viewport_drawlist_child is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.last_window_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2594
 *         self.window_pos = imgui.ImVec2(0., 0.)
 *         if self.last_window_child is not None:
 *             self.last_window_child.draw()             # <<<<<<<<<<<<<<
 *         #if self.last_viewport_drawlist_child is not None:
 *         #    self.last_viewport_drawlist_child.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.last_window_child->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.last_window_child));

    /* "dearcygui/core.pyx":2593
 *         self.parent_pos = imgui.ImVec2(0., 0.)
 *         self.window_pos = imgui.ImVec2(0., 0.)
 *         if self.last_window_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_window_child.draw()
 *         #if self.last_viewport_drawlist_child is not None:
 */
  }

  /* "dearcygui/core.pyx":2597
 *         #if self.last_viewport_drawlist_child is not None:
 *         #    self.last_viewport_drawlist_child.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_menubar_child.draw()
 *         if self._theme is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.last_menubar_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2598
 *         #    self.last_viewport_drawlist_child.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 *         if self.last_menubar_child is not None:
 *             self.last_menubar_child.draw()             # <<<<<<<<<<<<<<
 *         if self._theme is not None:
 *             self._theme.pop()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.last_menubar_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.last_menubar_child);

    /* "dearcygui/core.pyx":2597
 *         #if self.last_viewport_drawlist_child is not None:
 *         #    self.last_viewport_drawlist_child.draw(<imgui.ImDrawList*>NULL, 0., 0.)
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_menubar_child.draw()
 *         if self._theme is not None:
 */
  }

  /* "dearcygui/core.pyx":2599
 *         if self.last_menubar_child is not None:
 *             self.last_menubar_child.draw()
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         if self._font is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2600
 *             self.last_menubar_child.draw()
 *         if self._theme is not None:
 *             self._theme.pop()             # <<<<<<<<<<<<<<
 *         if self._font is not None:
 *             self._font.pop()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->_theme->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->_theme);

    /* "dearcygui/core.pyx":2599
 *         if self.last_menubar_child is not None:
 *             self.last_menubar_child.draw()
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         if self._font is not None:
 */
  }

  /* "dearcygui/core.pyx":2601
 *         if self._theme is not None:
 *             self._theme.pop()
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 *         self.run_handlers()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2602
 *             self._theme.pop()
 *         if self._font is not None:
 *             self._font.pop()             # <<<<<<<<<<<<<<
 *         self.run_handlers()
 *         self.last_t_after_rendering = ctime.monotonic_ns()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":2601
 *         if self._theme is not None:
 *             self._theme.pop()
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 *         self.run_handlers()
 */
  }

  /* "dearcygui/core.pyx":2603
 *         if self._font is not None:
 *             self._font.pop()
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 *         self.last_t_after_rendering = ctime.monotonic_ns()
 *         return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Viewport *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":2604
 *             self._font.pop()
 *         self.run_handlers()
 *         self.last_t_after_rendering = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         return
 * 
 */
  __pyx_v_self->last_t_after_rendering = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":2605
 *         self.run_handlers()
 *         self.last_t_after_rendering = ctime.monotonic_ns()
 *         return             # <<<<<<<<<<<<<<
 * 
 *     cdef void apply_current_transform(self, float *dst_p, double[2] src_p) noexcept nogil:
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2573
 *         self.context.queue_callback_noarg(self._close_callback, self, self)
 * 
 *     cdef void __render(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint any_change = False
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":2607
 *         return
 * 
 *     cdef void apply_current_transform(self, float *dst_p, double[2] src_p) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used during rendering as helper to convert drawing coordinates to pixel coordinates
 */

static void __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, float *__pyx_v_dst_p, double *__pyx_v_src_p) {
  ImVec2 __pyx_v_plot_transformed;
  double __pyx_v_p[2];
  float __pyx_t_1;

  /* "dearcygui/core.pyx":2615
 *         cdef imgui.ImVec2 plot_transformed
 *         cdef double[2] p
 *         p[0] = src_p[0] * self.scales[0] + self.shifts[0]             # <<<<<<<<<<<<<<
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]
 *         if self.in_plot:
 */
  (__pyx_v_p[0]) = (((__pyx_v_src_p[0]) * (__pyx_v_self->scales[0])) + (__pyx_v_self->shifts[0]));

  /* "dearcygui/core.pyx":2616
 *         cdef double[2] p
 *         p[0] = src_p[0] * self.scales[0] + self.shifts[0]
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]             # <<<<<<<<<<<<<<
 *         if self.in_plot:
 *             if self.plot_fit:
 */
  (__pyx_v_p[1]) = (((__pyx_v_src_p[1]) * (__pyx_v_self->scales[1])) + (__pyx_v_self->shifts[1]));

  /* "dearcygui/core.pyx":2617
 *         p[0] = src_p[0] * self.scales[0] + self.shifts[0]
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]
 *         if self.in_plot:             # <<<<<<<<<<<<<<
 *             if self.plot_fit:
 *                 implot.FitPointX(src_p[0])
 */
  if (__pyx_v_self->in_plot) {

    /* "dearcygui/core.pyx":2618
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]
 *         if self.in_plot:
 *             if self.plot_fit:             # <<<<<<<<<<<<<<
 *                 implot.FitPointX(src_p[0])
 *                 implot.FitPointY(src_p[1])
 */
    if (__pyx_v_self->plot_fit) {

      /* "dearcygui/core.pyx":2619
 *         if self.in_plot:
 *             if self.plot_fit:
 *                 implot.FitPointX(src_p[0])             # <<<<<<<<<<<<<<
 *                 implot.FitPointY(src_p[1])
 *             plot_transformed = \
 */
      ImPlot::FitPointX((__pyx_v_src_p[0]));

      /* "dearcygui/core.pyx":2620
 *             if self.plot_fit:
 *                 implot.FitPointX(src_p[0])
 *                 implot.FitPointY(src_p[1])             # <<<<<<<<<<<<<<
 *             plot_transformed = \
 *                 implot.PlotToPixels(src_p[0],
 */
      ImPlot::FitPointY((__pyx_v_src_p[1]));

      /* "dearcygui/core.pyx":2618
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]
 *         if self.in_plot:
 *             if self.plot_fit:             # <<<<<<<<<<<<<<
 *                 implot.FitPointX(src_p[0])
 *                 implot.FitPointY(src_p[1])
 */
    }

    /* "dearcygui/core.pyx":2622
 *                 implot.FitPointY(src_p[1])
 *             plot_transformed = \
 *                 implot.PlotToPixels(src_p[0],             # <<<<<<<<<<<<<<
 *                                     src_p[1],
 *                                     -1,
 */
    __pyx_v_plot_transformed = ImPlot::PlotToPixels((__pyx_v_src_p[0]), (__pyx_v_src_p[1]), -1, -1);

    /* "dearcygui/core.pyx":2626
 *                                     -1,
 *                                     -1)
 *             dst_p[0] = plot_transformed.x             # <<<<<<<<<<<<<<
 *             dst_p[1] = plot_transformed.y
 *         else:
 */
    __pyx_t_1 = __pyx_v_plot_transformed.x;
    (__pyx_v_dst_p[0]) = __pyx_t_1;

    /* "dearcygui/core.pyx":2627
 *                                     -1)
 *             dst_p[0] = plot_transformed.x
 *             dst_p[1] = plot_transformed.y             # <<<<<<<<<<<<<<
 *         else:
 *             # When in a plot, PlotToPixel already handles that.
 */
    __pyx_t_1 = __pyx_v_plot_transformed.y;
    (__pyx_v_dst_p[1]) = __pyx_t_1;

    /* "dearcygui/core.pyx":2617
 *         p[0] = src_p[0] * self.scales[0] + self.shifts[0]
 *         p[1] = src_p[1] * self.scales[1] + self.shifts[1]
 *         if self.in_plot:             # <<<<<<<<<<<<<<
 *             if self.plot_fit:
 *                 implot.FitPointX(src_p[0])
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":2630
 *         else:
 *             # When in a plot, PlotToPixel already handles that.
 *             dst_p[0] = <float>p[0]             # <<<<<<<<<<<<<<
 *             dst_p[1] = <float>p[1]
 * 
 */
  /*else*/ {
    (__pyx_v_dst_p[0]) = ((float)(__pyx_v_p[0]));

    /* "dearcygui/core.pyx":2631
 *             # When in a plot, PlotToPixel already handles that.
 *             dst_p[0] = <float>p[0]
 *             dst_p[1] = <float>p[1]             # <<<<<<<<<<<<<<
 * 
 *     cdef void push_pending_theme_actions(self,
 */
    (__pyx_v_dst_p[1]) = ((float)(__pyx_v_p[1]));
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":2607
 *         return
 * 
 *     cdef void apply_current_transform(self, float *dst_p, double[2] src_p) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used during rendering as helper to convert drawing coordinates to pixel coordinates
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":2633
 *             dst_p[1] = <float>p[1]
 * 
 *     cdef void push_pending_theme_actions(self,             # <<<<<<<<<<<<<<
 *                                          theme_enablers theme_activation_condition_enabled,
 *                                          theme_categories theme_activation_condition_category) noexcept nogil:
 */

static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, enum __pyx_t_9dearcygui_4core_theme_enablers __pyx_v_theme_activation_condition_enabled, enum __pyx_t_9dearcygui_4core_theme_categories __pyx_v_theme_activation_condition_category) {

  /* "dearcygui/core.pyx":2642
 *         should be returned to pop_applied_pending_theme_actions
 *         """
 *         self.current_theme_activation_condition_enabled = theme_activation_condition_enabled             # <<<<<<<<<<<<<<
 *         self.current_theme_activation_condition_category = theme_activation_condition_category
 *         self.push_pending_theme_actions_on_subset(self.start_pending_theme_actions,
 */
  __pyx_v_self->current_theme_activation_condition_enabled = __pyx_v_theme_activation_condition_enabled;

  /* "dearcygui/core.pyx":2643
 *         """
 *         self.current_theme_activation_condition_enabled = theme_activation_condition_enabled
 *         self.current_theme_activation_condition_category = theme_activation_condition_category             # <<<<<<<<<<<<<<
 *         self.push_pending_theme_actions_on_subset(self.start_pending_theme_actions,
 *                                                   <int>self.pending_theme_actions.size())
 */
  __pyx_v_self->current_theme_activation_condition_category = __pyx_v_theme_activation_condition_category;

  /* "dearcygui/core.pyx":2644
 *         self.current_theme_activation_condition_enabled = theme_activation_condition_enabled
 *         self.current_theme_activation_condition_category = theme_activation_condition_category
 *         self.push_pending_theme_actions_on_subset(self.start_pending_theme_actions,             # <<<<<<<<<<<<<<
 *                                                   <int>self.pending_theme_actions.size())
 * 
 */
  __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions_on_subset(__pyx_v_self, __pyx_v_self->start_pending_theme_actions, ((int)__pyx_v_self->pending_theme_actions.size()));

  /* "dearcygui/core.pyx":2633
 *             dst_p[1] = <float>p[1]
 * 
 *     cdef void push_pending_theme_actions(self,             # <<<<<<<<<<<<<<
 *                                          theme_enablers theme_activation_condition_enabled,
 *                                          theme_categories theme_activation_condition_category) noexcept nogil:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":2647
 *                                                   <int>self.pending_theme_actions.size())
 * 
 *     cdef void push_pending_theme_actions_on_subset(self,             # <<<<<<<<<<<<<<
 *                                                    int start,
 *                                                    int end) noexcept nogil:
 */

static void __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions_on_subset(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_start, int __pyx_v_end) {
  int __pyx_v_i;
  int __pyx_v_size_init;
  __pyx_t_9dearcygui_4core_theme_action __pyx_v_action;
  ImVec2 __pyx_v_value_float2;
  enum __pyx_t_9dearcygui_4core_theme_enablers __pyx_v_theme_activation_condition_enabled;
  enum __pyx_t_9dearcygui_4core_theme_categories __pyx_v_theme_activation_condition_category;
  bool __pyx_v_apply;
  enum __pyx_t_9dearcygui_4core_theme_enablers __pyx_t_1;
  enum __pyx_t_9dearcygui_4core_theme_categories __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":2651
 *                                                    int end) noexcept nogil:
 *         cdef int i
 *         cdef int size_init = self.applied_theme_actions.size()             # <<<<<<<<<<<<<<
 *         cdef theme_action action
 *         cdef imgui.ImVec2 value_float2
 */
  __pyx_v_size_init = __pyx_v_self->applied_theme_actions.size();

  /* "dearcygui/core.pyx":2654
 *         cdef theme_action action
 *         cdef imgui.ImVec2 value_float2
 *         cdef theme_enablers theme_activation_condition_enabled = self.current_theme_activation_condition_enabled             # <<<<<<<<<<<<<<
 *         cdef theme_categories theme_activation_condition_category = self.current_theme_activation_condition_category
 * 
 */
  __pyx_t_1 = __pyx_v_self->current_theme_activation_condition_enabled;
  __pyx_v_theme_activation_condition_enabled = __pyx_t_1;

  /* "dearcygui/core.pyx":2655
 *         cdef imgui.ImVec2 value_float2
 *         cdef theme_enablers theme_activation_condition_enabled = self.current_theme_activation_condition_enabled
 *         cdef theme_categories theme_activation_condition_category = self.current_theme_activation_condition_category             # <<<<<<<<<<<<<<
 * 
 *         cdef bool apply
 */
  __pyx_t_2 = __pyx_v_self->current_theme_activation_condition_category;
  __pyx_v_theme_activation_condition_category = __pyx_t_2;

  /* "dearcygui/core.pyx":2658
 * 
 *         cdef bool apply
 *         for i in range(start, end):             # <<<<<<<<<<<<<<
 *             apply = True
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \
 */
  __pyx_t_3 = __pyx_v_end;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = __pyx_v_start; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "dearcygui/core.pyx":2659
 *         cdef bool apply
 *         for i in range(start, end):
 *             apply = True             # <<<<<<<<<<<<<<
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 */
    __pyx_v_apply = 1;

    /* "dearcygui/core.pyx":2660
 *         for i in range(start, end):
 *             apply = True
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \             # <<<<<<<<<<<<<<
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 */
    __pyx_t_7 = ((__pyx_v_self->pending_theme_actions[__pyx_v_i]).activation_condition_enabled != __pyx_e_9dearcygui_4core_t_enabled_any);
    if (__pyx_t_7) {
    } else {
      __pyx_t_6 = __pyx_t_7;
      goto __pyx_L6_bool_binop_done;
    }

    /* "dearcygui/core.pyx":2661
 *             apply = True
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \             # <<<<<<<<<<<<<<
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 *                 apply = False
 */
    __pyx_t_7 = (__pyx_v_theme_activation_condition_enabled != __pyx_e_9dearcygui_4core_t_enabled_any);
    if (__pyx_t_7) {
    } else {
      __pyx_t_6 = __pyx_t_7;
      goto __pyx_L6_bool_binop_done;
    }

    /* "dearcygui/core.pyx":2662
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:             # <<<<<<<<<<<<<<
 *                 apply = False
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \
 */
    __pyx_t_7 = ((__pyx_v_self->pending_theme_actions[__pyx_v_i]).activation_condition_enabled != __pyx_v_theme_activation_condition_enabled);
    __pyx_t_6 = __pyx_t_7;
    __pyx_L6_bool_binop_done:;

    /* "dearcygui/core.pyx":2660
 *         for i in range(start, end):
 *             apply = True
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \             # <<<<<<<<<<<<<<
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 */
    if (__pyx_t_6) {

      /* "dearcygui/core.pyx":2663
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 *                 apply = False             # <<<<<<<<<<<<<<
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 */
      __pyx_v_apply = 0;

      /* "dearcygui/core.pyx":2660
 *         for i in range(start, end):
 *             apply = True
 *             if self.pending_theme_actions[i].activation_condition_enabled != theme_enablers.t_enabled_any and \             # <<<<<<<<<<<<<<
 *                theme_activation_condition_enabled != theme_enablers.t_enabled_any and \
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 */
    }

    /* "dearcygui/core.pyx":2664
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 *                 apply = False
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \             # <<<<<<<<<<<<<<
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False
 */
    __pyx_t_7 = ((__pyx_v_self->pending_theme_actions[__pyx_v_i]).activation_condition_category != __pyx_v_theme_activation_condition_category);
    if (__pyx_t_7) {
    } else {
      __pyx_t_6 = __pyx_t_7;
      goto __pyx_L10_bool_binop_done;
    }

    /* "dearcygui/core.pyx":2665
 *                 apply = False
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:             # <<<<<<<<<<<<<<
 *                 apply = False
 *             if apply:
 */
    __pyx_t_7 = ((__pyx_v_self->pending_theme_actions[__pyx_v_i]).activation_condition_category != __pyx_e_9dearcygui_4core_t_any);
    __pyx_t_6 = __pyx_t_7;
    __pyx_L10_bool_binop_done:;

    /* "dearcygui/core.pyx":2664
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 *                 apply = False
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \             # <<<<<<<<<<<<<<
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False
 */
    if (__pyx_t_6) {

      /* "dearcygui/core.pyx":2666
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False             # <<<<<<<<<<<<<<
 *             if apply:
 *                 action = self.pending_theme_actions[i]
 */
      __pyx_v_apply = 0;

      /* "dearcygui/core.pyx":2664
 *                self.pending_theme_actions[i].activation_condition_enabled != theme_activation_condition_enabled:
 *                 apply = False
 *             if self.pending_theme_actions[i].activation_condition_category != theme_activation_condition_category and \             # <<<<<<<<<<<<<<
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False
 */
    }

    /* "dearcygui/core.pyx":2667
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False
 *             if apply:             # <<<<<<<<<<<<<<
 *                 action = self.pending_theme_actions[i]
 *                 self.applied_theme_actions.push_back(action)
 */
    __pyx_t_6 = (__pyx_v_apply != 0);
    if (__pyx_t_6) {

      /* "dearcygui/core.pyx":2668
 *                 apply = False
 *             if apply:
 *                 action = self.pending_theme_actions[i]             # <<<<<<<<<<<<<<
 *                 self.applied_theme_actions.push_back(action)
 *                 if action.backend == theme_backends.t_imgui:
 */
      __pyx_v_action = (__pyx_v_self->pending_theme_actions[__pyx_v_i]);

      /* "dearcygui/core.pyx":2669
 *             if apply:
 *                 action = self.pending_theme_actions[i]
 *                 self.applied_theme_actions.push_back(action)             # <<<<<<<<<<<<<<
 *                 if action.backend == theme_backends.t_imgui:
 *                     if action.type == theme_types.t_color:
 */
      try {
        __pyx_v_self->applied_theme_actions.push_back(__pyx_v_action);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 2669, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":2670
 *                 action = self.pending_theme_actions[i]
 *                 self.applied_theme_actions.push_back(action)
 *                 if action.backend == theme_backends.t_imgui:             # <<<<<<<<<<<<<<
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 */
      switch (__pyx_v_action.backend) {
        case __pyx_e_9dearcygui_4core_t_imgui:

        /* "dearcygui/core.pyx":2671
 *                 self.applied_theme_actions.push_back(action)
 *                 if action.backend == theme_backends.t_imgui:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         imgui.PushStyleColor(<imgui.ImGuiCol>action.theme_index,
 */
        switch (__pyx_v_action.type) {
          case __pyx_e_9dearcygui_4core_t_color:

          /* "dearcygui/core.pyx":2673
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 *                         imgui.PushStyleColor(<imgui.ImGuiCol>action.theme_index,             # <<<<<<<<<<<<<<
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 */
          ImGui::PushStyleColor(((ImGuiCol)__pyx_v_action.theme_index), __pyx_v_action.value.value_u32);

          /* "dearcygui/core.pyx":2671
 *                 self.applied_theme_actions.push_back(action)
 *                 if action.backend == theme_backends.t_imgui:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         imgui.PushStyleColor(<imgui.ImGuiCol>action.theme_index,
 */
          break;
          case __pyx_e_9dearcygui_4core_t_style:

          /* "dearcygui/core.pyx":2676
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
          switch (__pyx_v_action.value_type) {
            case __pyx_e_9dearcygui_4core_t_float:

            /* "dearcygui/core.pyx":2677
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:
 */
            ImGui::PushStyleVar(((ImGuiStyleVar)__pyx_v_action.theme_index), __pyx_v_action.value.value_float);

            /* "dearcygui/core.pyx":2676
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
            break;
            case __pyx_e_9dearcygui_4core_t_float2:

            /* "dearcygui/core.pyx":2680
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],             # <<<<<<<<<<<<<<
 *                                                         action.value.value_float2[1])
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 */
            __pyx_v_value_float2 = ImVec2((__pyx_v_action.value.value_float2[0]), (__pyx_v_action.value.value_float2[1]));

            /* "dearcygui/core.pyx":2682
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_implot:
 */
            ImGui::PushStyleVar(((ImGuiStyleVar)__pyx_v_action.theme_index), __pyx_v_value_float2);

            /* "dearcygui/core.pyx":2679
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:             # <<<<<<<<<<<<<<
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 */
            break;
            default: break;
          }

          /* "dearcygui/core.pyx":2675
 *                         imgui.PushStyleColor(<imgui.ImGuiCol>action.theme_index,
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                         if action.value_type == theme_value_types.t_float:
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 */
          break;
          default: break;
        }

        /* "dearcygui/core.pyx":2670
 *                 action = self.pending_theme_actions[i]
 *                 self.applied_theme_actions.push_back(action)
 *                 if action.backend == theme_backends.t_imgui:             # <<<<<<<<<<<<<<
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 */
        break;
        case __pyx_e_9dearcygui_4core_t_implot:

        /* "dearcygui/core.pyx":2685
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_implot:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         implot.PushStyleColor(<implot.ImPlotCol>action.theme_index,
 */
        switch (__pyx_v_action.type) {
          case __pyx_e_9dearcygui_4core_t_color:

          /* "dearcygui/core.pyx":2687
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 *                         implot.PushStyleColor(<implot.ImPlotCol>action.theme_index,             # <<<<<<<<<<<<<<
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 */
          ImPlot::PushStyleColor(((ImPlotCol)__pyx_v_action.theme_index), __pyx_v_action.value.value_u32);

          /* "dearcygui/core.pyx":2685
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_implot:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         implot.PushStyleColor(<implot.ImPlotCol>action.theme_index,
 */
          break;
          case __pyx_e_9dearcygui_4core_t_style:

          /* "dearcygui/core.pyx":2690
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
          switch (__pyx_v_action.value_type) {
            case __pyx_e_9dearcygui_4core_t_float:

            /* "dearcygui/core.pyx":2691
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_int:
 */
            ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_action.theme_index), __pyx_v_action.value.value_float);

            /* "dearcygui/core.pyx":2690
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
            break;
            case __pyx_e_9dearcygui_4core_t_int:

            /* "dearcygui/core.pyx":2694
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_int:
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                action.value.value_int)
 *                         elif action.value_type == theme_value_types.t_float2:
 */
            ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_action.theme_index), __pyx_v_action.value.value_int);

            /* "dearcygui/core.pyx":2693
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_int:             # <<<<<<<<<<<<<<
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                action.value.value_int)
 */
            break;
            case __pyx_e_9dearcygui_4core_t_float2:

            /* "dearcygui/core.pyx":2697
 *                                                action.value.value_int)
 *                         elif action.value_type == theme_value_types.t_float2:
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],             # <<<<<<<<<<<<<<
 *                                                         action.value.value_float2[1])
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 */
            __pyx_v_value_float2 = ImVec2((__pyx_v_action.value.value_float2[0]), (__pyx_v_action.value.value_float2[1]));

            /* "dearcygui/core.pyx":2699
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_imnodes:
 */
            ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_action.theme_index), __pyx_v_value_float2);

            /* "dearcygui/core.pyx":2696
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                action.value.value_int)
 *                         elif action.value_type == theme_value_types.t_float2:             # <<<<<<<<<<<<<<
 *                             value_float2 = imgui.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 */
            break;
            default: break;
          }

          /* "dearcygui/core.pyx":2689
 *                         implot.PushStyleColor(<implot.ImPlotCol>action.theme_index,
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                         if action.value_type == theme_value_types.t_float:
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 */
          break;
          default: break;
        }

        /* "dearcygui/core.pyx":2684
 *                             imgui.PushStyleVar(<imgui.ImGuiStyleVar>action.theme_index,
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_implot:             # <<<<<<<<<<<<<<
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 */
        break;
        case __pyx_e_9dearcygui_4core_t_imnodes:

        /* "dearcygui/core.pyx":2702
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_imnodes:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         imnodes.PushColorStyle(<imnodes.ImNodesCol>action.theme_index,
 */
        switch (__pyx_v_action.type) {
          case __pyx_e_9dearcygui_4core_t_color:

          /* "dearcygui/core.pyx":2704
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 *                         imnodes.PushColorStyle(<imnodes.ImNodesCol>action.theme_index,             # <<<<<<<<<<<<<<
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 */
          ImNodes::PushColorStyle(((ImNodesCol)__pyx_v_action.theme_index), __pyx_v_action.value.value_u32);

          /* "dearcygui/core.pyx":2702
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_imnodes:
 *                     if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                         # can only be theme_value_types.t_u32
 *                         imnodes.PushColorStyle(<imnodes.ImNodesCol>action.theme_index,
 */
          break;
          case __pyx_e_9dearcygui_4core_t_style:

          /* "dearcygui/core.pyx":2707
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
          switch (__pyx_v_action.value_type) {
            case __pyx_e_9dearcygui_4core_t_float:

            /* "dearcygui/core.pyx":2708
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:
 */
            ImNodes::PushStyleVar(((ImNodesStyleVar)__pyx_v_action.theme_index), __pyx_v_action.value.value_float);

            /* "dearcygui/core.pyx":2707
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:
 *                         if action.value_type == theme_value_types.t_float:             # <<<<<<<<<<<<<<
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 *                                                action.value.value_float)
 */
            break;
            case __pyx_e_9dearcygui_4core_t_float2:

            /* "dearcygui/core.pyx":2711
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:
 *                             value_float2 = imnodes.ImVec2(action.value.value_float2[0],             # <<<<<<<<<<<<<<
 *                                                         action.value.value_float2[1])
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 */
            __pyx_v_value_float2 = ImVec2((__pyx_v_action.value.value_float2[0]), (__pyx_v_action.value.value_float2[1]));

            /* "dearcygui/core.pyx":2713
 *                             value_float2 = imnodes.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,             # <<<<<<<<<<<<<<
 *                                                value_float2)
 *         self.applied_theme_actions_count.push_back(self.applied_theme_actions.size() - size_init)
 */
            ImNodes::PushStyleVar(((ImNodesStyleVar)__pyx_v_action.theme_index), __pyx_v_value_float2);

            /* "dearcygui/core.pyx":2710
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 *                                                action.value.value_float)
 *                         elif action.value_type == theme_value_types.t_float2:             # <<<<<<<<<<<<<<
 *                             value_float2 = imnodes.ImVec2(action.value.value_float2[0],
 *                                                         action.value.value_float2[1])
 */
            break;
            default: break;
          }

          /* "dearcygui/core.pyx":2706
 *                         imnodes.PushColorStyle(<imnodes.ImNodesCol>action.theme_index,
 *                                              action.value.value_u32)
 *                     elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                         if action.value_type == theme_value_types.t_float:
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 */
          break;
          default: break;
        }

        /* "dearcygui/core.pyx":2701
 *                             implot.PushStyleVar(<implot.ImPlotStyleVar>action.theme_index,
 *                                                value_float2)
 *                 elif action.backend == theme_backends.t_imnodes:             # <<<<<<<<<<<<<<
 *                     if action.type == theme_types.t_color:
 *                         # can only be theme_value_types.t_u32
 */
        break;
        default: break;
      }

      /* "dearcygui/core.pyx":2667
 *                self.pending_theme_actions[i].activation_condition_category != theme_categories.t_any:
 *                 apply = False
 *             if apply:             # <<<<<<<<<<<<<<
 *                 action = self.pending_theme_actions[i]
 *                 self.applied_theme_actions.push_back(action)
 */
    }
  }

  /* "dearcygui/core.pyx":2715
 *                             imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>action.theme_index,
 *                                                value_float2)
 *         self.applied_theme_actions_count.push_back(self.applied_theme_actions.size() - size_init)             # <<<<<<<<<<<<<<
 * 
 *     cdef void pop_applied_pending_theme_actions(self) noexcept nogil:
 */
  try {
    __pyx_v_self->applied_theme_actions_count.push_back((__pyx_v_self->applied_theme_actions.size() - __pyx_v_size_init));
  } catch(...) {
    #ifdef WITH_THREAD
    PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
    #endif
    __Pyx_CppExn2PyErr();
    #ifdef WITH_THREAD
    __Pyx_PyGILState_Release(__pyx_gilstate_save);
    #endif
    __PYX_ERR(1, 2715, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":2647
 *                                                   <int>self.pending_theme_actions.size())
 * 
 *     cdef void push_pending_theme_actions_on_subset(self,             # <<<<<<<<<<<<<<
 *                                                    int start,
 *                                                    int end) noexcept nogil:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.Viewport.push_pending_theme_actions_on_subset", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "dearcygui/core.pyx":2717
 *         self.applied_theme_actions_count.push_back(self.applied_theme_actions.size() - size_init)
 * 
 *     cdef void pop_applied_pending_theme_actions(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used during rendering to pop what push_pending_theme_actions did
 */

static void __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  int __pyx_v_count;
  int __pyx_v_i;
  int __pyx_v_size;
  __pyx_t_9dearcygui_4core_theme_action __pyx_v_action;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":2721
 *         Used during rendering to pop what push_pending_theme_actions did
 *         """
 *         cdef int count = self.applied_theme_actions_count.back()             # <<<<<<<<<<<<<<
 *         self.applied_theme_actions_count.pop_back()
 *         if count == 0:
 */
  __pyx_v_count = __pyx_v_self->applied_theme_actions_count.back();

  /* "dearcygui/core.pyx":2722
 *         """
 *         cdef int count = self.applied_theme_actions_count.back()
 *         self.applied_theme_actions_count.pop_back()             # <<<<<<<<<<<<<<
 *         if count == 0:
 *             return
 */
  __pyx_v_self->applied_theme_actions_count.pop_back();

  /* "dearcygui/core.pyx":2723
 *         cdef int count = self.applied_theme_actions_count.back()
 *         self.applied_theme_actions_count.pop_back()
 *         if count == 0:             # <<<<<<<<<<<<<<
 *             return
 *         cdef int i
 */
  __pyx_t_1 = (__pyx_v_count == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2724
 *         self.applied_theme_actions_count.pop_back()
 *         if count == 0:
 *             return             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef int size = self.applied_theme_actions.size()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":2723
 *         cdef int count = self.applied_theme_actions_count.back()
 *         self.applied_theme_actions_count.pop_back()
 *         if count == 0:             # <<<<<<<<<<<<<<
 *             return
 *         cdef int i
 */
  }

  /* "dearcygui/core.pyx":2726
 *             return
 *         cdef int i
 *         cdef int size = self.applied_theme_actions.size()             # <<<<<<<<<<<<<<
 *         cdef theme_action action
 *         for i in range(count):
 */
  __pyx_v_size = __pyx_v_self->applied_theme_actions.size();

  /* "dearcygui/core.pyx":2728
 *         cdef int size = self.applied_theme_actions.size()
 *         cdef theme_action action
 *         for i in range(count):             # <<<<<<<<<<<<<<
 *             action = self.applied_theme_actions[size-i-1]
 *             if action.backend == theme_backends.t_imgui:
 */
  __pyx_t_2 = __pyx_v_count;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":2729
 *         cdef theme_action action
 *         for i in range(count):
 *             action = self.applied_theme_actions[size-i-1]             # <<<<<<<<<<<<<<
 *             if action.backend == theme_backends.t_imgui:
 *                 if action.type == theme_types.t_color:
 */
    __pyx_v_action = (__pyx_v_self->applied_theme_actions[((__pyx_v_size - __pyx_v_i) - 1)]);

    /* "dearcygui/core.pyx":2730
 *         for i in range(count):
 *             action = self.applied_theme_actions[size-i-1]
 *             if action.backend == theme_backends.t_imgui:             # <<<<<<<<<<<<<<
 *                 if action.type == theme_types.t_color:
 *                     imgui.PopStyleColor(1)
 */
    switch (__pyx_v_action.backend) {
      case __pyx_e_9dearcygui_4core_t_imgui:

      /* "dearcygui/core.pyx":2731
 *             action = self.applied_theme_actions[size-i-1]
 *             if action.backend == theme_backends.t_imgui:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     imgui.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 */
      switch (__pyx_v_action.type) {
        case __pyx_e_9dearcygui_4core_t_color:

        /* "dearcygui/core.pyx":2732
 *             if action.backend == theme_backends.t_imgui:
 *                 if action.type == theme_types.t_color:
 *                     imgui.PopStyleColor(1)             # <<<<<<<<<<<<<<
 *                 elif action.type == theme_types.t_style:
 *                     imgui.PopStyleVar(1)
 */
        ImGui::PopStyleColor(1);

        /* "dearcygui/core.pyx":2731
 *             action = self.applied_theme_actions[size-i-1]
 *             if action.backend == theme_backends.t_imgui:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     imgui.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 */
        break;
        case __pyx_e_9dearcygui_4core_t_style:

        /* "dearcygui/core.pyx":2734
 *                     imgui.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 *                     imgui.PopStyleVar(1)             # <<<<<<<<<<<<<<
 *             elif action.backend == theme_backends.t_implot:
 *                 if action.type == theme_types.t_color:
 */
        ImGui::PopStyleVar(1);

        /* "dearcygui/core.pyx":2733
 *                 if action.type == theme_types.t_color:
 *                     imgui.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                     imgui.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_implot:
 */
        break;
        default: break;
      }

      /* "dearcygui/core.pyx":2730
 *         for i in range(count):
 *             action = self.applied_theme_actions[size-i-1]
 *             if action.backend == theme_backends.t_imgui:             # <<<<<<<<<<<<<<
 *                 if action.type == theme_types.t_color:
 *                     imgui.PopStyleColor(1)
 */
      break;
      case __pyx_e_9dearcygui_4core_t_implot:

      /* "dearcygui/core.pyx":2736
 *                     imgui.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_implot:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     implot.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 */
      switch (__pyx_v_action.type) {
        case __pyx_e_9dearcygui_4core_t_color:

        /* "dearcygui/core.pyx":2737
 *             elif action.backend == theme_backends.t_implot:
 *                 if action.type == theme_types.t_color:
 *                     implot.PopStyleColor(1)             # <<<<<<<<<<<<<<
 *                 elif action.type == theme_types.t_style:
 *                     implot.PopStyleVar(1)
 */
        ImPlot::PopStyleColor(1);

        /* "dearcygui/core.pyx":2736
 *                     imgui.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_implot:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     implot.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 */
        break;
        case __pyx_e_9dearcygui_4core_t_style:

        /* "dearcygui/core.pyx":2739
 *                     implot.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:
 *                     implot.PopStyleVar(1)             # <<<<<<<<<<<<<<
 *             elif action.backend == theme_backends.t_imnodes:
 *                 if action.type == theme_types.t_color:
 */
        ImPlot::PopStyleVar(1);

        /* "dearcygui/core.pyx":2738
 *                 if action.type == theme_types.t_color:
 *                     implot.PopStyleColor(1)
 *                 elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                     implot.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_imnodes:
 */
        break;
        default: break;
      }

      /* "dearcygui/core.pyx":2735
 *                 elif action.type == theme_types.t_style:
 *                     imgui.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_implot:             # <<<<<<<<<<<<<<
 *                 if action.type == theme_types.t_color:
 *                     implot.PopStyleColor(1)
 */
      break;
      case __pyx_e_9dearcygui_4core_t_imnodes:

      /* "dearcygui/core.pyx":2741
 *                     implot.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_imnodes:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     imnodes.PopColorStyle()
 *                 elif action.type == theme_types.t_style:
 */
      switch (__pyx_v_action.type) {
        case __pyx_e_9dearcygui_4core_t_color:

        /* "dearcygui/core.pyx":2742
 *             elif action.backend == theme_backends.t_imnodes:
 *                 if action.type == theme_types.t_color:
 *                     imnodes.PopColorStyle()             # <<<<<<<<<<<<<<
 *                 elif action.type == theme_types.t_style:
 *                     imnodes.PopStyleVar(1)
 */
        ImNodes::PopColorStyle();

        /* "dearcygui/core.pyx":2741
 *                     implot.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_imnodes:
 *                 if action.type == theme_types.t_color:             # <<<<<<<<<<<<<<
 *                     imnodes.PopColorStyle()
 *                 elif action.type == theme_types.t_style:
 */
        break;
        case __pyx_e_9dearcygui_4core_t_style:

        /* "dearcygui/core.pyx":2744
 *                     imnodes.PopColorStyle()
 *                 elif action.type == theme_types.t_style:
 *                     imnodes.PopStyleVar(1)             # <<<<<<<<<<<<<<
 *         for i in range(count):
 *             self.applied_theme_actions.pop_back()
 */
        ImNodes::PopStyleVar(1);

        /* "dearcygui/core.pyx":2743
 *                 if action.type == theme_types.t_color:
 *                     imnodes.PopColorStyle()
 *                 elif action.type == theme_types.t_style:             # <<<<<<<<<<<<<<
 *                     imnodes.PopStyleVar(1)
 *         for i in range(count):
 */
        break;
        default: break;
      }

      /* "dearcygui/core.pyx":2740
 *                 elif action.type == theme_types.t_style:
 *                     implot.PopStyleVar(1)
 *             elif action.backend == theme_backends.t_imnodes:             # <<<<<<<<<<<<<<
 *                 if action.type == theme_types.t_color:
 *                     imnodes.PopColorStyle()
 */
      break;
      default: break;
    }
  }

  /* "dearcygui/core.pyx":2745
 *                 elif action.type == theme_types.t_style:
 *                     imnodes.PopStyleVar(1)
 *         for i in range(count):             # <<<<<<<<<<<<<<
 *             self.applied_theme_actions.pop_back()
 * 
 */
  __pyx_t_2 = __pyx_v_count;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":2746
 *                     imnodes.PopStyleVar(1)
 *         for i in range(count):
 *             self.applied_theme_actions.pop_back()             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_self->applied_theme_actions.pop_back();
  }

  /* "dearcygui/core.pyx":2717
 *         self.applied_theme_actions_count.push_back(self.applied_theme_actions.size() - size_init)
 * 
 *     cdef void pop_applied_pending_theme_actions(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Used during rendering to pop what push_pending_theme_actions did
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":2749
 * 
 * 
 *     def render_frame(self, bint can_skip_presenting=False):             # <<<<<<<<<<<<<<
 *         """
 *         Render one frame.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9render_frame(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8Viewport_8render_frame, "\n        Render one frame.\n\n        Rendering occurs in several separated steps:\n        . Mouse/Keyboard events are processed. it's there\n          that wait_for_input has an effect.\n        . The viewport item, and then all the rendering tree are\n          walked through to query their state and prepare the rendering\n          commands using ImGui, ImPlot and ImNodes\n        . The rendering commands are submitted to the GPU.\n        . The submission is passed to the operating system to handle the\n          window update. It's usually at this step that the system will\n          apply vsync by making the application wait if it rendered faster\n          than the screen refresh rate.\n\n        can_skip_presenting: rendering will occur (handlers checked, etc),\n            but the backend might decide, if this flag is set, to not\n            submit the rendering commands to the GPU and refresh the\n            window. Can be used to avoid using the GPU in response\n            to a simple mouse motion.\n            Fast checks are used to determine if presenting should occur\n            or not. Thus set this only if you haven't updated any content\n            on the screen.\n            Note wake() will automatically force a redraw the next frame.\n\n        Returns True if the frame was presented to the screen,\n            False else (can_skip_presenting)\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_9render_frame = {"render_frame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_9render_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8Viewport_8render_frame};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_9render_frame(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_can_skip_presenting;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("render_frame (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_can_skip_presenting,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_can_skip_presenting);
          if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2749, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "render_frame") < 0)) __PYX_ERR(1, 2749, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_can_skip_presenting = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_can_skip_presenting == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2749, __pyx_L3_error)
    } else {
      __pyx_v_can_skip_presenting = ((int)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("render_frame", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 2749, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Viewport.render_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_8render_frame(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), __pyx_v_can_skip_presenting);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_8render_frame(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, int __pyx_v_can_skip_presenting) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_imgui_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_self_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_backend_m;
  int __pyx_v_should_present;
  PY_LONG_LONG __pyx_v_current_time;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("render_frame", 1);

  /* "dearcygui/core.pyx":2779
 *         """
 *         # to lock in this order
 *         cdef unique_lock[recursive_mutex] imgui_m = unique_lock[recursive_mutex](self.context.imgui_mutex, defer_lock_t())             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] self_m
 *         cdef unique_lock[recursive_mutex] backend_m = unique_lock[recursive_mutex](self.mutex_backend, defer_lock_t())
 */
  __pyx_v_imgui_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.context->imgui_mutex, std::defer_lock_t());

  /* "dearcygui/core.pyx":2781
 *         cdef unique_lock[recursive_mutex] imgui_m = unique_lock[recursive_mutex](self.context.imgui_mutex, defer_lock_t())
 *         cdef unique_lock[recursive_mutex] self_m
 *         cdef unique_lock[recursive_mutex] backend_m = unique_lock[recursive_mutex](self.mutex_backend, defer_lock_t())             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(self_m, self.mutex)
 *         self.__check_initialized()
 */
  __pyx_v_backend_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex_backend, std::defer_lock_t());

  /* "dearcygui/core.pyx":2782
 *         cdef unique_lock[recursive_mutex] self_m
 *         cdef unique_lock[recursive_mutex] backend_m = unique_lock[recursive_mutex](self.mutex_backend, defer_lock_t())
 *         lock_gil_friendly(self_m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.__check_initialized()
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_self_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2783
 *         cdef unique_lock[recursive_mutex] backend_m = unique_lock[recursive_mutex](self.mutex_backend, defer_lock_t())
 *         lock_gil_friendly(self_m, self.mutex)
 *         self.__check_initialized()             # <<<<<<<<<<<<<<
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         cdef bint should_present
 */
  __pyx_f_9dearcygui_4core_8Viewport__Viewport__check_initialized(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2783, __pyx_L1_error)

  /* "dearcygui/core.pyx":2784
 *         lock_gil_friendly(self_m, self.mutex)
 *         self.__check_initialized()
 *         self.last_t_before_event_handling = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         cdef bint should_present
 *         with nogil:
 */
  __pyx_v_self->last_t_before_event_handling = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":2786
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         cdef bint should_present
 *         with nogil:             # <<<<<<<<<<<<<<
 *             backend_m.lock()
 *             self_m.unlock()
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":2787
 *         cdef bint should_present
 *         with nogil:
 *             backend_m.lock()             # <<<<<<<<<<<<<<
 *             self_m.unlock()
 *             # Process input events.
 */
        __pyx_v_backend_m.lock();

        /* "dearcygui/core.pyx":2788
 *         with nogil:
 *             backend_m.lock()
 *             self_m.unlock()             # <<<<<<<<<<<<<<
 *             # Process input events.
 *             # Doesn't need imgui mutex.
 */
        __pyx_v_self_m.unlock();

        /* "dearcygui/core.pyx":2792
 *             # Doesn't need imgui mutex.
 *             # if wait_for_input is set, can take a long time
 *             mvProcessEvents(self.viewport)             # <<<<<<<<<<<<<<
 *             backend_m.unlock() # important to respect lock order
 *             # Core rendering - uses imgui and viewport
 */
        mvProcessEvents(__pyx_v_self->viewport);

        /* "dearcygui/core.pyx":2793
 *             # if wait_for_input is set, can take a long time
 *             mvProcessEvents(self.viewport)
 *             backend_m.unlock() # important to respect lock order             # <<<<<<<<<<<<<<
 *             # Core rendering - uses imgui and viewport
 *             imgui_m.lock()
 */
        __pyx_v_backend_m.unlock();

        /* "dearcygui/core.pyx":2795
 *             backend_m.unlock() # important to respect lock order
 *             # Core rendering - uses imgui and viewport
 *             imgui_m.lock()             # <<<<<<<<<<<<<<
 *             self_m.lock()
 *             backend_m.lock()
 */
        __pyx_v_imgui_m.lock();

        /* "dearcygui/core.pyx":2796
 *             # Core rendering - uses imgui and viewport
 *             imgui_m.lock()
 *             self_m.lock()             # <<<<<<<<<<<<<<
 *             backend_m.lock()
 *             #self.last_t_before_rendering = ctime.monotonic_ns()
 */
        __pyx_v_self_m.lock();

        /* "dearcygui/core.pyx":2797
 *             imgui_m.lock()
 *             self_m.lock()
 *             backend_m.lock()             # <<<<<<<<<<<<<<
 *             #self.last_t_before_rendering = ctime.monotonic_ns()
 *             ensure_correct_im_context(self.context)
 */
        __pyx_v_backend_m.lock();

        /* "dearcygui/core.pyx":2799
 *             backend_m.lock()
 *             #self.last_t_before_rendering = ctime.monotonic_ns()
 *             ensure_correct_im_context(self.context)             # <<<<<<<<<<<<<<
 *             #imgui.GetMainViewport().DpiScale = self.viewport.dpi
 *             #imgui.GetIO().FontGlobalScale = self.viewport.dpi
 */
        __pyx_f_9dearcygui_4core_ensure_correct_im_context(__pyx_v_self->__pyx_base.context);

        /* "dearcygui/core.pyx":2803
 *             #imgui.GetIO().FontGlobalScale = self.viewport.dpi
 *             should_present = \
 *                 mvRenderFrame(dereference(self.viewport),             # <<<<<<<<<<<<<<
 *                               self.graphics,
 *                               can_skip_presenting)
 */
        __pyx_v_should_present = mvRenderFrame((*__pyx_v_self->viewport), __pyx_v_self->graphics, __pyx_v_can_skip_presenting);

        /* "dearcygui/core.pyx":2807
 *                               can_skip_presenting)
 *             #self.last_t_after_rendering = ctime.monotonic_ns()
 *             backend_m.unlock()             # <<<<<<<<<<<<<<
 *             self_m.unlock()
 *             imgui_m.unlock()
 */
        __pyx_v_backend_m.unlock();

        /* "dearcygui/core.pyx":2808
 *             #self.last_t_after_rendering = ctime.monotonic_ns()
 *             backend_m.unlock()
 *             self_m.unlock()             # <<<<<<<<<<<<<<
 *             imgui_m.unlock()
 *             # Present doesn't use imgui but can take time (vsync)
 */
        __pyx_v_self_m.unlock();

        /* "dearcygui/core.pyx":2809
 *             backend_m.unlock()
 *             self_m.unlock()
 *             imgui_m.unlock()             # <<<<<<<<<<<<<<
 *             # Present doesn't use imgui but can take time (vsync)
 *             backend_m.lock()
 */
        __pyx_v_imgui_m.unlock();

        /* "dearcygui/core.pyx":2811
 *             imgui_m.unlock()
 *             # Present doesn't use imgui but can take time (vsync)
 *             backend_m.lock()             # <<<<<<<<<<<<<<
 *             if should_present:
 *                 mvPresent(self.viewport)
 */
        __pyx_v_backend_m.lock();

        /* "dearcygui/core.pyx":2812
 *             # Present doesn't use imgui but can take time (vsync)
 *             backend_m.lock()
 *             if should_present:             # <<<<<<<<<<<<<<
 *                 mvPresent(self.viewport)
 *             backend_m.unlock()
 */
        if (__pyx_v_should_present) {

          /* "dearcygui/core.pyx":2813
 *             backend_m.lock()
 *             if should_present:
 *                 mvPresent(self.viewport)             # <<<<<<<<<<<<<<
 *             backend_m.unlock()
 *         if not(should_present) and self.viewport.vsync:
 */
          mvPresent(__pyx_v_self->viewport);

          /* "dearcygui/core.pyx":2812
 *             # Present doesn't use imgui but can take time (vsync)
 *             backend_m.lock()
 *             if should_present:             # <<<<<<<<<<<<<<
 *                 mvPresent(self.viewport)
 *             backend_m.unlock()
 */
        }

        /* "dearcygui/core.pyx":2814
 *             if should_present:
 *                 mvPresent(self.viewport)
 *             backend_m.unlock()             # <<<<<<<<<<<<<<
 *         if not(should_present) and self.viewport.vsync:
 *             # cap 'cpu' framerate when not presenting
 */
        __pyx_v_backend_m.unlock();
      }

      /* "dearcygui/core.pyx":2786
 *         self.last_t_before_event_handling = ctime.monotonic_ns()
 *         cdef bint should_present
 *         with nogil:             # <<<<<<<<<<<<<<
 *             backend_m.lock()
 *             self_m.unlock()
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "dearcygui/core.pyx":2815
 *                 mvPresent(self.viewport)
 *             backend_m.unlock()
 *         if not(should_present) and self.viewport.vsync:             # <<<<<<<<<<<<<<
 *             # cap 'cpu' framerate when not presenting
 *             python_time.sleep(0.005)
 */
  __pyx_t_2 = (!__pyx_v_should_present);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->viewport->vsync;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":2817
 *         if not(should_present) and self.viewport.vsync:
 *             # cap 'cpu' framerate when not presenting
 *             python_time.sleep(0.005)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(self_m, self.mutex)
 *         cdef long long current_time = ctime.monotonic_ns()
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_python_time); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sleep); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_float_0_005};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":2815
 *                 mvPresent(self.viewport)
 *             backend_m.unlock()
 *         if not(should_present) and self.viewport.vsync:             # <<<<<<<<<<<<<<
 *             # cap 'cpu' framerate when not presenting
 *             python_time.sleep(0.005)
 */
  }

  /* "dearcygui/core.pyx":2818
 *             # cap 'cpu' framerate when not presenting
 *             python_time.sleep(0.005)
 *         lock_gil_friendly(self_m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef long long current_time = ctime.monotonic_ns()
 *         self.delta_frame = 1e-9 * <float>(current_time - self.last_t_after_swapping)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_self_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2819
 *             python_time.sleep(0.005)
 *         lock_gil_friendly(self_m, self.mutex)
 *         cdef long long current_time = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         self.delta_frame = 1e-9 * <float>(current_time - self.last_t_after_swapping)
 *         self.last_t_after_swapping = current_time
 */
  __pyx_v_current_time = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":2820
 *         lock_gil_friendly(self_m, self.mutex)
 *         cdef long long current_time = ctime.monotonic_ns()
 *         self.delta_frame = 1e-9 * <float>(current_time - self.last_t_after_swapping)             # <<<<<<<<<<<<<<
 *         self.last_t_after_swapping = current_time
 *         self.delta_swapping = 1e-9 * <float>(current_time - self.last_t_after_rendering)
 */
  __pyx_v_self->delta_frame = (1e-9 * ((float)(__pyx_v_current_time - __pyx_v_self->last_t_after_swapping)));

  /* "dearcygui/core.pyx":2821
 *         cdef long long current_time = ctime.monotonic_ns()
 *         self.delta_frame = 1e-9 * <float>(current_time - self.last_t_after_swapping)
 *         self.last_t_after_swapping = current_time             # <<<<<<<<<<<<<<
 *         self.delta_swapping = 1e-9 * <float>(current_time - self.last_t_after_rendering)
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)
 */
  __pyx_v_self->last_t_after_swapping = __pyx_v_current_time;

  /* "dearcygui/core.pyx":2822
 *         self.delta_frame = 1e-9 * <float>(current_time - self.last_t_after_swapping)
 *         self.last_t_after_swapping = current_time
 *         self.delta_swapping = 1e-9 * <float>(current_time - self.last_t_after_rendering)             # <<<<<<<<<<<<<<
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)
 */
  __pyx_v_self->delta_swapping = (1e-9 * ((float)(__pyx_v_current_time - __pyx_v_self->last_t_after_rendering)));

  /* "dearcygui/core.pyx":2823
 *         self.last_t_after_swapping = current_time
 *         self.delta_swapping = 1e-9 * <float>(current_time - self.last_t_after_rendering)
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)             # <<<<<<<<<<<<<<
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)
 *         if self.viewport.resized:
 */
  __pyx_v_self->delta_rendering = (1e-9 * ((float)(__pyx_v_self->last_t_after_rendering - __pyx_v_self->last_t_before_rendering)));

  /* "dearcygui/core.pyx":2824
 *         self.delta_swapping = 1e-9 * <float>(current_time - self.last_t_after_rendering)
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)             # <<<<<<<<<<<<<<
 *         if self.viewport.resized:
 *             self.context.queue_callback_arg4int(self._resize_callback,
 */
  __pyx_v_self->delta_event_handling = (1e-9 * ((float)(__pyx_v_self->last_t_before_rendering - __pyx_v_self->last_t_before_event_handling)));

  /* "dearcygui/core.pyx":2825
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)
 *         if self.viewport.resized:             # <<<<<<<<<<<<<<
 *             self.context.queue_callback_arg4int(self._resize_callback,
 *                                                 self,
 */
  if (__pyx_v_self->viewport->resized) {

    /* "dearcygui/core.pyx":2826
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)
 *         if self.viewport.resized:
 *             self.context.queue_callback_arg4int(self._resize_callback,             # <<<<<<<<<<<<<<
 *                                                 self,
 *                                                 self,
 */
    __pyx_t_3 = ((PyObject *)__pyx_v_self->_resize_callback);
    __Pyx_INCREF(__pyx_t_3);

    /* "dearcygui/core.pyx":2832
 *                                                 self.viewport.actualHeight,
 *                                                 self.viewport.clientWidth,
 *                                                 self.viewport.clientHeight)             # <<<<<<<<<<<<<<
 *             self.viewport.resized = False
 *         self.frame_count += 1
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.context->__pyx_vtab)->queue_callback_arg4int(__pyx_v_self->__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_3), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_self->viewport->actualWidth, __pyx_v_self->viewport->actualHeight, __pyx_v_self->viewport->clientWidth, __pyx_v_self->viewport->clientHeight);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":2833
 *                                                 self.viewport.clientWidth,
 *                                                 self.viewport.clientHeight)
 *             self.viewport.resized = False             # <<<<<<<<<<<<<<
 *         self.frame_count += 1
 *         assert(self.pending_theme_actions.empty())
 */
    __pyx_v_self->viewport->resized = 0;

    /* "dearcygui/core.pyx":2825
 *         self.delta_rendering = 1e-9 * <float>(self.last_t_after_rendering - self.last_t_before_rendering)
 *         self.delta_event_handling = 1e-9 * <float>(self.last_t_before_rendering - self.last_t_before_event_handling)
 *         if self.viewport.resized:             # <<<<<<<<<<<<<<
 *             self.context.queue_callback_arg4int(self._resize_callback,
 *                                                 self,
 */
  }

  /* "dearcygui/core.pyx":2834
 *                                                 self.viewport.clientHeight)
 *             self.viewport.resized = False
 *         self.frame_count += 1             # <<<<<<<<<<<<<<
 *         assert(self.pending_theme_actions.empty())
 *         assert(self.applied_theme_actions.empty())
 */
  __pyx_v_self->frame_count = (__pyx_v_self->frame_count + 1);

  /* "dearcygui/core.pyx":2835
 *             self.viewport.resized = False
 *         self.frame_count += 1
 *         assert(self.pending_theme_actions.empty())             # <<<<<<<<<<<<<<
 *         assert(self.applied_theme_actions.empty())
 *         assert(self.start_pending_theme_actions == 0)
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __pyx_v_self->pending_theme_actions.empty();
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 2835, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 2835, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":2836
 *         self.frame_count += 1
 *         assert(self.pending_theme_actions.empty())
 *         assert(self.applied_theme_actions.empty())             # <<<<<<<<<<<<<<
 *         assert(self.start_pending_theme_actions == 0)
 *         return should_present
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __pyx_v_self->applied_theme_actions.empty();
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 2836, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 2836, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":2837
 *         assert(self.pending_theme_actions.empty())
 *         assert(self.applied_theme_actions.empty())
 *         assert(self.start_pending_theme_actions == 0)             # <<<<<<<<<<<<<<
 *         return should_present
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->start_pending_theme_actions == 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 2837, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 2837, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":2838
 *         assert(self.applied_theme_actions.empty())
 *         assert(self.start_pending_theme_actions == 0)
 *         return should_present             # <<<<<<<<<<<<<<
 * 
 *     def wake(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_should_present); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":2749
 * 
 * 
 *     def render_frame(self, bint can_skip_presenting=False):             # <<<<<<<<<<<<<<
 *         """
 *         Render one frame.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Viewport.render_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2840
 *         return should_present
 * 
 *     def wake(self):             # <<<<<<<<<<<<<<
 *         """
 *         In case rendering is waiting for an input (waitForInputs),
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_11wake(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_8Viewport_10wake, "\n        In case rendering is waiting for an input (waitForInputs),\n        generate a fake input to force rendering.\n\n        This is useful if you have updated the content asynchronously\n        and want to show the update\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_11wake = {"wake", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_11wake, METH_NOARGS, __pyx_doc_9dearcygui_4core_8Viewport_10wake};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_11wake(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("wake (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_10wake(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_10wake(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("wake", 1);

  /* "dearcygui/core.pyx":2850
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         mvWakeRendering(dereference(self.viewport))
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2851
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         mvWakeRendering(dereference(self.viewport))
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2852
 *         lock_gil_friendly(m, self.context.imgui_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         mvWakeRendering(dereference(self.viewport))             # <<<<<<<<<<<<<<
 * 
 *     cdef void cwake(self) noexcept nogil:
 */
  mvWakeRendering((*__pyx_v_self->viewport));

  /* "dearcygui/core.pyx":2840
 *         return should_present
 * 
 *     def wake(self):             # <<<<<<<<<<<<<<
 *         """
 *         In case rendering is waiting for an input (waitForInputs),
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2854
 *         mvWakeRendering(dereference(self.viewport))
 * 
 *     cdef void cwake(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.context.imgui_mutex)
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_8Viewport_cwake(struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m2;

  /* "dearcygui/core.pyx":2855
 * 
 *     cdef void cwake(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.mutex)
 *         mvWakeRendering(dereference(self.viewport))
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.context->imgui_mutex);

  /* "dearcygui/core.pyx":2856
 *     cdef void cwake(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.context.imgui_mutex)
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         mvWakeRendering(dereference(self.viewport))
 * 
 */
  __pyx_v_m2 = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":2857
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.context.imgui_mutex)
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.mutex)
 *         mvWakeRendering(dereference(self.viewport))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  mvWakeRendering((*__pyx_v_self->viewport));

  /* "dearcygui/core.pyx":2854
 *         mvWakeRendering(dereference(self.viewport))
 * 
 *     cdef void cwake(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.context.imgui_mutex)
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_13__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_12__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Viewport_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_15__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Viewport_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Viewport_14__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Viewport *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Viewport_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Viewport *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Viewport.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2871
 *     . call_info: If applicable information about the call (key button, etc)
 *     """
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Callback_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Callback_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Callback___init__(((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Callback___init__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":2872
 *     """
 *     def __init__(self, *args, **kwargs):
 *         if self.num_args > 3:             # <<<<<<<<<<<<<<
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):
 */
  __pyx_t_1 = (__pyx_v_self->num_args > 3);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":2873
 *     def __init__(self, *args, **kwargs):
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")             # <<<<<<<<<<<<<<
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 2873, __pyx_L1_error)

    /* "dearcygui/core.pyx":2872
 *     """
 *     def __init__(self, *args, **kwargs):
 *         if self.num_args > 3:             # <<<<<<<<<<<<<<
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):
 */
  }

  /* "dearcygui/core.pyx":2871
 *     . call_info: If applicable information about the call (key button, etc)
 *     """
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Callback.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2874
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if not(callable(callback)):
 *             raise TypeError("Callback requires a callable object")
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Callback_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Callback_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_callback = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2874, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 2874, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_callback = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 2874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.Callback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Callback_2__cinit__(((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_v_self), __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Callback_2__cinit__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, PyObject *__pyx_v_callback, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_v_num_defaults;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":2875
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):             # <<<<<<<<<<<<<<
 *             raise TypeError("Callback requires a callable object")
 *         self.callback = callback
 */
  __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_v_callback); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 2875, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":2876
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):
 *             raise TypeError("Callback requires a callable object")             # <<<<<<<<<<<<<<
 *         self.callback = callback
 *         cdef int num_defaults = 0
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 2876, __pyx_L1_error)

    /* "dearcygui/core.pyx":2875
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):             # <<<<<<<<<<<<<<
 *             raise TypeError("Callback requires a callable object")
 *         self.callback = callback
 */
  }

  /* "dearcygui/core.pyx":2877
 *         if not(callable(callback)):
 *             raise TypeError("Callback requires a callable object")
 *         self.callback = callback             # <<<<<<<<<<<<<<
 *         cdef int num_defaults = 0
 *         if callback.__defaults__ is not None:
 */
  __Pyx_INCREF(__pyx_v_callback);
  __Pyx_GIVEREF(__pyx_v_callback);
  __Pyx_GOTREF(__pyx_v_self->callback);
  __Pyx_DECREF(__pyx_v_self->callback);
  __pyx_v_self->callback = __pyx_v_callback;

  /* "dearcygui/core.pyx":2878
 *             raise TypeError("Callback requires a callable object")
 *         self.callback = callback
 *         cdef int num_defaults = 0             # <<<<<<<<<<<<<<
 *         if callback.__defaults__ is not None:
 *             num_defaults = len(callback.__defaults__)
 */
  __pyx_v_num_defaults = 0;

  /* "dearcygui/core.pyx":2879
 *         self.callback = callback
 *         cdef int num_defaults = 0
 *         if callback.__defaults__ is not None:             # <<<<<<<<<<<<<<
 *             num_defaults = len(callback.__defaults__)
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_callback, __pyx_n_s_defaults); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = (__pyx_t_3 != Py_None);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":2880
 *         cdef int num_defaults = 0
 *         if callback.__defaults__ is not None:
 *             num_defaults = len(callback.__defaults__)             # <<<<<<<<<<<<<<
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 *         if hasattr(callback, '__self__'):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_callback, __pyx_n_s_defaults); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2880, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_num_defaults = __pyx_t_4;

    /* "dearcygui/core.pyx":2879
 *         self.callback = callback
 *         cdef int num_defaults = 0
 *         if callback.__defaults__ is not None:             # <<<<<<<<<<<<<<
 *             num_defaults = len(callback.__defaults__)
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 */
  }

  /* "dearcygui/core.pyx":2881
 *         if callback.__defaults__ is not None:
 *             num_defaults = len(callback.__defaults__)
 *         self.num_args = callback.__code__.co_argcount - num_defaults             # <<<<<<<<<<<<<<
 *         if hasattr(callback, '__self__'):
 *             self.num_args -= 1
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_callback, __pyx_n_s_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_argcount); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_num_defaults); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_self->num_args = __pyx_t_7;

  /* "dearcygui/core.pyx":2882
 *             num_defaults = len(callback.__defaults__)
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 *         if hasattr(callback, '__self__'):             # <<<<<<<<<<<<<<
 *             self.num_args -= 1
 * 
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_callback, __pyx_n_u_self_2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2882, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":2883
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 *         if hasattr(callback, '__self__'):
 *             self.num_args -= 1             # <<<<<<<<<<<<<<
 * 
 *     def __call__(self, source_item, target_item, call_info):
 */
    __pyx_v_self->num_args = (__pyx_v_self->num_args - 1);

    /* "dearcygui/core.pyx":2882
 *             num_defaults = len(callback.__defaults__)
 *         self.num_args = callback.__code__.co_argcount - num_defaults
 *         if hasattr(callback, '__self__'):             # <<<<<<<<<<<<<<
 *             self.num_args -= 1
 * 
 */
  }

  /* "dearcygui/core.pyx":2874
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")
 *     def __cinit__(self, callback, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if not(callable(callback)):
 *             raise TypeError("Callback requires a callable object")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.Callback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2885
 *             self.num_args -= 1
 * 
 *     def __call__(self, source_item, target_item, call_info):             # <<<<<<<<<<<<<<
 *         try:
 *             if self.num_args == 3:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_source_item = 0;
  PyObject *__pyx_v_target_item = 0;
  PyObject *__pyx_v_call_info = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source_item,&__pyx_n_s_target_item,&__pyx_n_s_call_info,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_source_item)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2885, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target_item)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2885, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 1); __PYX_ERR(1, 2885, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_call_info)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2885, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 2); __PYX_ERR(1, 2885, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(1, 2885, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
      values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
    }
    __pyx_v_source_item = values[0];
    __pyx_v_target_item = values[1];
    __pyx_v_call_info = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 2885, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.Callback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Callback_4__call__(((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_v_self), __pyx_v_source_item, __pyx_v_target_item, __pyx_v_call_info);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Callback_4__call__(struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, PyObject *__pyx_v_source_item, PyObject *__pyx_v_target_item, PyObject *__pyx_v_call_info) {
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  Py_UCS4 __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  char const *__pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__call__", 1);

  /* "dearcygui/core.pyx":2886
 * 
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 self.callback(source_item, target_item, call_info)
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "dearcygui/core.pyx":2887
 *     def __call__(self, source_item, target_item, call_info):
 *         try:
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item, target_item, call_info)
 *             elif self.num_args == 2:
 */
      switch (__pyx_v_self->num_args) {
        case 3:

        /* "dearcygui/core.pyx":2888
 *         try:
 *             if self.num_args == 3:
 *                 self.callback(source_item, target_item, call_info)             # <<<<<<<<<<<<<<
 *             elif self.num_args == 2:
 *                 self.callback(source_item, target_item)
 */
        __Pyx_INCREF(__pyx_v_self->callback);
        __pyx_t_5 = __pyx_v_self->callback; __pyx_t_6 = NULL;
        __pyx_t_7 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_6)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
            __pyx_t_7 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_v_source_item, __pyx_v_target_item, __pyx_v_call_info};
          __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7);
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2888, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "dearcygui/core.pyx":2887
 *     def __call__(self, source_item, target_item, call_info):
 *         try:
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item, target_item, call_info)
 *             elif self.num_args == 2:
 */
        break;
        case 2:

        /* "dearcygui/core.pyx":2890
 *                 self.callback(source_item, target_item, call_info)
 *             elif self.num_args == 2:
 *                 self.callback(source_item, target_item)             # <<<<<<<<<<<<<<
 *             elif self.num_args == 1:
 *                 self.callback(source_item)
 */
        __Pyx_INCREF(__pyx_v_self->callback);
        __pyx_t_5 = __pyx_v_self->callback; __pyx_t_6 = NULL;
        __pyx_t_7 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_6)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
            __pyx_t_7 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_source_item, __pyx_v_target_item};
          __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2890, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "dearcygui/core.pyx":2889
 *             if self.num_args == 3:
 *                 self.callback(source_item, target_item, call_info)
 *             elif self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item, target_item)
 *             elif self.num_args == 1:
 */
        break;
        case 1:

        /* "dearcygui/core.pyx":2892
 *                 self.callback(source_item, target_item)
 *             elif self.num_args == 1:
 *                 self.callback(source_item)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.callback()
 */
        __Pyx_INCREF(__pyx_v_self->callback);
        __pyx_t_5 = __pyx_v_self->callback; __pyx_t_6 = NULL;
        __pyx_t_7 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_6)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
            __pyx_t_7 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_source_item};
          __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2892, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "dearcygui/core.pyx":2891
 *             elif self.num_args == 2:
 *                 self.callback(source_item, target_item)
 *             elif self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item)
 *             else:
 */
        break;
        default:

        /* "dearcygui/core.pyx":2894
 *                 self.callback(source_item)
 *             else:
 *                 self.callback()             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 */
        __Pyx_INCREF(__pyx_v_self->callback);
        __pyx_t_5 = __pyx_v_self->callback; __pyx_t_6 = NULL;
        __pyx_t_7 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_6)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
            __pyx_t_7 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
          __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2894, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        break;
      }

      /* "dearcygui/core.pyx":2886
 * 
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 self.callback(source_item, target_item, call_info)
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "dearcygui/core.pyx":2895
 *             else:
 *                 self.callback()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_8) {
      __Pyx_AddTraceback("dearcygui.core.Callback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 2895, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_v_e = __pyx_t_5;
      /*try:*/ {

        /* "dearcygui/core.pyx":2896
 *                 self.callback()
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 */
        __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2896, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = 0;
        __pyx_t_11 = 127;
        __Pyx_INCREF(__pyx_kp_u_Callback);
        __pyx_t_10 += 9;
        __Pyx_GIVEREF(__pyx_kp_u_Callback);
        PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Callback);
        __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_self->callback, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2896, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
        __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12);
        __pyx_t_12 = 0;
        __Pyx_INCREF(__pyx_kp_u_raised_exception);
        __pyx_t_10 += 18;
        __Pyx_GIVEREF(__pyx_kp_u_raised_exception);
        PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u_raised_exception);
        __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2896, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
        __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_12);
        __pyx_t_12 = 0;
        __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 4, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2896, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2896, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

        /* "dearcygui/core.pyx":2897
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 *             if self.num_args == 2:
 */
        __pyx_t_13 = (__pyx_v_self->num_args == 3);
        if (__pyx_t_13) {

          /* "dearcygui/core.pyx":2898
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 */
          __pyx_t_9 = PyTuple_New(6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_10 = 0;
          __pyx_t_11 = 127;
          __Pyx_INCREF(__pyx_kp_u_Callback_arguments_were);
          __pyx_t_10 += 25;
          __Pyx_GIVEREF(__pyx_kp_u_Callback_arguments_were);
          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Callback_arguments_were);
          __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
          __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12);
          __pyx_t_12 = 0;
          __Pyx_INCREF(__pyx_kp_u__42);
          __pyx_t_10 += 2;
          __Pyx_GIVEREF(__pyx_kp_u__42);
          PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__42);
          __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_target_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
          __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_12);
          __pyx_t_12 = 0;
          __Pyx_INCREF(__pyx_kp_u__42);
          __pyx_t_10 += 2;
          __Pyx_GIVEREF(__pyx_kp_u__42);
          PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_kp_u__42);
          __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_call_info, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
          __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_12);
          __pyx_t_12 = 0;
          __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 6, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2898, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":2897
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 *             if self.num_args == 2:
 */
        }

        /* "dearcygui/core.pyx":2899
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 *             if self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 *             if self.num_args == 1:
 */
        __pyx_t_13 = (__pyx_v_self->num_args == 2);
        if (__pyx_t_13) {

          /* "dearcygui/core.pyx":2900
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item}, {target_item}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 1:
 *                 print(f"Callback argument was: {source_item}")
 */
          __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2900, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_10 = 0;
          __pyx_t_11 = 127;
          __Pyx_INCREF(__pyx_kp_u_Callback_arguments_were);
          __pyx_t_10 += 25;
          __Pyx_GIVEREF(__pyx_kp_u_Callback_arguments_were);
          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Callback_arguments_were);
          __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2900, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
          __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12);
          __pyx_t_12 = 0;
          __Pyx_INCREF(__pyx_kp_u__42);
          __pyx_t_10 += 2;
          __Pyx_GIVEREF(__pyx_kp_u__42);
          PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__42);
          __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_target_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2900, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11;
          __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_12);
          __pyx_t_12 = 0;
          __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 4, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2900, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2900, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":2899
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item}, {target_item}, {call_info}")
 *             if self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 *             if self.num_args == 1:
 */
        }

        /* "dearcygui/core.pyx":2901
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 *             if self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 print(f"Callback argument was: {source_item}")
 *             else:
 */
        __pyx_t_13 = (__pyx_v_self->num_args == 1);
        if (__pyx_t_13) {

          /* "dearcygui/core.pyx":2902
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 *             if self.num_args == 1:
 *                 print(f"Callback argument was: {source_item}")             # <<<<<<<<<<<<<<
 *             else:
 *                 print("Callback called without arguments")
 */
          __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2902, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Callback_argument_was, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2902, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2902, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

          /* "dearcygui/core.pyx":2901
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item}, {target_item}")
 *             if self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 print(f"Callback argument was: {source_item}")
 *             else:
 */
          goto __pyx_L18;
        }

        /* "dearcygui/core.pyx":2904
 *                 print(f"Callback argument was: {source_item}")
 *             else:
 *                 print("Callback called without arguments")             # <<<<<<<<<<<<<<
 *             print(traceback.format_exc())
 * 
 */
        /*else*/ {
          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2904, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        }
        __pyx_L18:;

        /* "dearcygui/core.pyx":2905
 *             else:
 *                 print("Callback called without arguments")
 *             print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * cdef class DPGCallback(Callback):
 */
        __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_traceback); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2905, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2905, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_12 = NULL;
        __pyx_t_7 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_14))) {
          __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_14);
          if (likely(__pyx_t_12)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_14, function);
            __pyx_t_7 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
          __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2905, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2905, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      }

      /* "dearcygui/core.pyx":2895
 *             else:
 *                 self.callback()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __Pyx_XGOTREF(__pyx_t_22);
          __pyx_t_8 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_XGIVEREF(__pyx_t_22);
            __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22);
          }
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_XGIVEREF(__pyx_t_19);
          __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19);
          __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0;
          __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "dearcygui/core.pyx":2886
 * 
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 self.callback(source_item, target_item, call_info)
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "dearcygui/core.pyx":2885
 *             self.num_args -= 1
 * 
 *     def __call__(self, source_item, target_item, call_info):             # <<<<<<<<<<<<<<
 *         try:
 *             if self.num_args == 3:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("dearcygui.core.Callback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Callback_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Callback_7__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Callback_6__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Callback_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Callback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Callback_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Callback_9__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Callback_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Callback_8__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Callback_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Callback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2911
 *     Used to run callbacks created for DPG
 *     """
 *     def __call__(self, source_item, target_item, call_info):             # <<<<<<<<<<<<<<
 *         try:
 *             if source_item is not target_item:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_1__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_1__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_source_item = 0;
  PyObject *__pyx_v_target_item = 0;
  PyObject *__pyx_v_call_info = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source_item,&__pyx_n_s_target_item,&__pyx_n_s_call_info,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_source_item)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2911, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target_item)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2911, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 1); __PYX_ERR(1, 2911, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_call_info)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2911, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 2); __PYX_ERR(1, 2911, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(1, 2911, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
      values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2);
    }
    __pyx_v_source_item = values[0];
    __pyx_v_target_item = values[1];
    __pyx_v_call_info = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 2911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.DPGCallback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11DPGCallback___call__(((struct __pyx_obj_9dearcygui_4core_DPGCallback *)__pyx_v_self), __pyx_v_source_item, __pyx_v_target_item, __pyx_v_call_info);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback___call__(struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self, PyObject *__pyx_v_source_item, PyObject *__pyx_v_target_item, PyObject *__pyx_v_call_info) {
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  unsigned int __pyx_t_10;
  int __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  Py_UCS4 __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  char const *__pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__call__", 0);
  __Pyx_INCREF(__pyx_v_call_info);

  /* "dearcygui/core.pyx":2912
 *     """
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "dearcygui/core.pyx":2913
 *     def __call__(self, source_item, target_item, call_info):
 *         try:
 *             if source_item is not target_item:             # <<<<<<<<<<<<<<
 *                 if isinstance(call_info, tuple):
 *                     call_info = tuple(list(call_info) + [target_item])
 */
      __pyx_t_4 = (__pyx_v_source_item != __pyx_v_target_item);
      if (__pyx_t_4) {

        /* "dearcygui/core.pyx":2914
 *         try:
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):             # <<<<<<<<<<<<<<
 *                     call_info = tuple(list(call_info) + [target_item])
 *             if self.num_args == 3:
 */
        __pyx_t_4 = PyTuple_Check(__pyx_v_call_info); 
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":2915
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):
 *                     call_info = tuple(list(call_info) + [target_item])             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)
 */
          __pyx_t_5 = PySequence_List(__pyx_v_call_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2915, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2915, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_INCREF(__pyx_v_target_item);
          __Pyx_GIVEREF(__pyx_v_target_item);
          if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_target_item)) __PYX_ERR(1, 2915, __pyx_L3_error);
          __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2915, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_7)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2915, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF_SET(__pyx_v_call_info, __pyx_t_6);
          __pyx_t_6 = 0;

          /* "dearcygui/core.pyx":2914
 *         try:
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):             # <<<<<<<<<<<<<<
 *                     call_info = tuple(list(call_info) + [target_item])
 *             if self.num_args == 3:
 */
        }

        /* "dearcygui/core.pyx":2913
 *     def __call__(self, source_item, target_item, call_info):
 *         try:
 *             if source_item is not target_item:             # <<<<<<<<<<<<<<
 *                 if isinstance(call_info, tuple):
 *                     call_info = tuple(list(call_info) + [target_item])
 */
      }

      /* "dearcygui/core.pyx":2916
 *                 if isinstance(call_info, tuple):
 *                     call_info = tuple(list(call_info) + [target_item])
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)
 *             elif self.num_args == 2:
 */
      switch (__pyx_v_self->__pyx_base.num_args) {
        case 3:

        /* "dearcygui/core.pyx":2917
 *                     call_info = tuple(list(call_info) + [target_item])
 *             if self.num_args == 3:
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)             # <<<<<<<<<<<<<<
 *             elif self.num_args == 2:
 *                 self.callback(source_item.uuid, call_info)
 */
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2917, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_user_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2917, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_v_self->__pyx_base.callback);
        __pyx_t_8 = __pyx_v_self->__pyx_base.callback; __pyx_t_9 = NULL;
        __pyx_t_10 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
            __pyx_t_10 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[4] = {__pyx_t_9, __pyx_t_7, __pyx_v_call_info, __pyx_t_5};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10);
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2917, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "dearcygui/core.pyx":2916
 *                 if isinstance(call_info, tuple):
 *                     call_info = tuple(list(call_info) + [target_item])
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)
 *             elif self.num_args == 2:
 */
        break;
        case 2:

        /* "dearcygui/core.pyx":2919
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)
 *             elif self.num_args == 2:
 *                 self.callback(source_item.uuid, call_info)             # <<<<<<<<<<<<<<
 *             elif self.num_args == 1:
 *                 self.callback(source_item.uuid)
 */
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2919, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_v_self->__pyx_base.callback);
        __pyx_t_5 = __pyx_v_self->__pyx_base.callback; __pyx_t_7 = NULL;
        __pyx_t_10 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_7)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_7);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
            __pyx_t_10 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_8, __pyx_v_call_info};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10);
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2919, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "dearcygui/core.pyx":2918
 *             if self.num_args == 3:
 *                 self.callback(source_item.uuid, call_info, source_item.user_data)
 *             elif self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item.uuid, call_info)
 *             elif self.num_args == 1:
 */
        break;
        case 1:

        /* "dearcygui/core.pyx":2921
 *                 self.callback(source_item.uuid, call_info)
 *             elif self.num_args == 1:
 *                 self.callback(source_item.uuid)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.callback()
 */
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2921, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_v_self->__pyx_base.callback);
        __pyx_t_8 = __pyx_v_self->__pyx_base.callback; __pyx_t_7 = NULL;
        __pyx_t_10 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_7)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_7);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
            __pyx_t_10 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2921, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "dearcygui/core.pyx":2920
 *             elif self.num_args == 2:
 *                 self.callback(source_item.uuid, call_info)
 *             elif self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 self.callback(source_item.uuid)
 *             else:
 */
        break;
        default:

        /* "dearcygui/core.pyx":2923
 *                 self.callback(source_item.uuid)
 *             else:
 *                 self.callback()             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 */
        __Pyx_INCREF(__pyx_v_self->__pyx_base.callback);
        __pyx_t_8 = __pyx_v_self->__pyx_base.callback; __pyx_t_5 = NULL;
        __pyx_t_10 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
            __pyx_t_10 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
          __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2923, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        break;
      }

      /* "dearcygui/core.pyx":2912
 *     """
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "dearcygui/core.pyx":2924
 *             else:
 *                 self.callback()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 */
    __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_11) {
      __Pyx_AddTraceback("dearcygui.core.DPGCallback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_5) < 0) __PYX_ERR(1, 2924, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_8);
      __pyx_v_e = __pyx_t_8;
      /*try:*/ {

        /* "dearcygui/core.pyx":2925
 *                 self.callback()
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 */
        __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2925, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = 0;
        __pyx_t_13 = 127;
        __Pyx_INCREF(__pyx_kp_u_Callback);
        __pyx_t_12 += 9;
        __Pyx_GIVEREF(__pyx_kp_u_Callback);
        PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Callback);
        __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_self->__pyx_base.callback, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2925, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_13;
        __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_9);
        __pyx_t_9 = 0;
        __Pyx_INCREF(__pyx_kp_u_raised_exception);
        __pyx_t_12 += 18;
        __Pyx_GIVEREF(__pyx_kp_u_raised_exception);
        PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_raised_exception);
        __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2925, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_13;
        __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_9);
        __pyx_t_9 = 0;
        __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_7, 4, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2925, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2925, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

        /* "dearcygui/core.pyx":2926
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 *             if self.num_args == 2:
 */
        __pyx_t_4 = (__pyx_v_self->__pyx_base.num_args == 3);
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":2927
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 */
          __pyx_t_7 = PyTuple_New(8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_12 = 0;
          __pyx_t_13 = 127;
          __Pyx_INCREF(__pyx_kp_u_Callback_arguments_were);
          __pyx_t_12 += 25;
          __Pyx_GIVEREF(__pyx_kp_u_Callback_arguments_were);
          PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Callback_arguments_were);
          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_14);
          __pyx_t_14 = 0;
          __Pyx_INCREF(__pyx_kp_u_for);
          __pyx_t_12 += 6;
          __Pyx_GIVEREF(__pyx_kp_u_for);
          PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_for);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_14);
          __pyx_t_14 = 0;
          __Pyx_INCREF(__pyx_kp_u__44);
          __pyx_t_12 += 3;
          __Pyx_GIVEREF(__pyx_kp_u__44);
          PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_kp_u__44);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_call_info, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_14);
          __pyx_t_14 = 0;
          __Pyx_INCREF(__pyx_kp_u__42);
          __pyx_t_12 += 2;
          __Pyx_GIVEREF(__pyx_kp_u__42);
          PyTuple_SET_ITEM(__pyx_t_7, 6, __pyx_kp_u__42);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_user_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_7, 7, __pyx_t_9);
          __pyx_t_9 = 0;
          __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_7, 8, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2927, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":2926
 *         except Exception as e:
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 *             if self.num_args == 2:
 */
        }

        /* "dearcygui/core.pyx":2928
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 *             if self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 *             if self.num_args == 1:
 */
        __pyx_t_4 = (__pyx_v_self->__pyx_base.num_args == 2);
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":2929
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")             # <<<<<<<<<<<<<<
 *             if self.num_args == 1:
 *                 print(f"Callback argument was: {source_item.uuid} (for {source_item})")
 */
          __pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_12 = 0;
          __pyx_t_13 = 127;
          __Pyx_INCREF(__pyx_kp_u_Callback_arguments_were);
          __pyx_t_12 += 25;
          __Pyx_GIVEREF(__pyx_kp_u_Callback_arguments_were);
          PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Callback_arguments_were);
          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_14);
          __pyx_t_14 = 0;
          __Pyx_INCREF(__pyx_kp_u_for);
          __pyx_t_12 += 6;
          __Pyx_GIVEREF(__pyx_kp_u_for);
          PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_for);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_14);
          __pyx_t_14 = 0;
          __Pyx_INCREF(__pyx_kp_u__44);
          __pyx_t_12 += 3;
          __Pyx_GIVEREF(__pyx_kp_u__44);
          PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_kp_u__44);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_call_info, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14);
          __Pyx_GIVEREF(__pyx_t_14);
          PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_14);
          __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_7, 6, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2929, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":2928
 *             if self.num_args == 3:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}, {source_item.user_data}")
 *             if self.num_args == 2:             # <<<<<<<<<<<<<<
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 *             if self.num_args == 1:
 */
        }

        /* "dearcygui/core.pyx":2930
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 *             if self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 print(f"Callback argument was: {source_item.uuid} (for {source_item})")
 *             else:
 */
        __pyx_t_4 = (__pyx_v_self->__pyx_base.num_args == 1);
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":2931
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 *             if self.num_args == 1:
 *                 print(f"Callback argument was: {source_item.uuid} (for {source_item})")             # <<<<<<<<<<<<<<
 *             else:
 *                 print("Callback called without arguments")
 */
          __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_12 = 0;
          __pyx_t_13 = 127;
          __Pyx_INCREF(__pyx_kp_u_Callback_argument_was);
          __pyx_t_12 += 23;
          __Pyx_GIVEREF(__pyx_kp_u_Callback_argument_was);
          PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Callback_argument_was);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_item, __pyx_n_s_uuid); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_9);
          __pyx_t_9 = 0;
          __Pyx_INCREF(__pyx_kp_u_for);
          __pyx_t_12 += 6;
          __Pyx_GIVEREF(__pyx_kp_u_for);
          PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_for);
          __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_source_item, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_13;
          __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9);
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_9);
          __pyx_t_9 = 0;
          __Pyx_INCREF(__pyx_kp_u__9);
          __pyx_t_12 += 1;
          __Pyx_GIVEREF(__pyx_kp_u__9);
          PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_kp_u__9);
          __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_7, 5, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2931, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":2930
 *             if self.num_args == 2:
 *                 print(f"Callback arguments were: {source_item.uuid} (for {source_item}), {call_info}")
 *             if self.num_args == 1:             # <<<<<<<<<<<<<<
 *                 print(f"Callback argument was: {source_item.uuid} (for {source_item})")
 *             else:
 */
          goto __pyx_L20;
        }

        /* "dearcygui/core.pyx":2933
 *                 print(f"Callback argument was: {source_item.uuid} (for {source_item})")
 *             else:
 *                 print("Callback called without arguments")             # <<<<<<<<<<<<<<
 *             print(traceback.format_exc())
 * 
 */
        /*else*/ {
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2933, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
        __pyx_L20:;

        /* "dearcygui/core.pyx":2934
 *             else:
 *                 print("Callback called without arguments")
 *             print(traceback.format_exc())             # <<<<<<<<<<<<<<
 * 
 * """
 */
        __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_traceback); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2934, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format_exc); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2934, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_9 = NULL;
        __pyx_t_10 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_14))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_14);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_14, function);
            __pyx_t_10 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
          __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2934, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2934, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      }

      /* "dearcygui/core.pyx":2924
 *             else:
 *                 self.callback()
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             print(f"Callback {self.callback} raised exception {e}")
 *             if self.num_args == 3:
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
          goto __pyx_L17;
        }
        __pyx_L16_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0;
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __Pyx_XGOTREF(__pyx_t_22);
          __pyx_t_11 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_XGIVEREF(__pyx_t_22);
            __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22);
          }
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_XGIVEREF(__pyx_t_19);
          __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19);
          __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0;
          __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16;
          goto __pyx_L5_except_error;
        }
        __pyx_L17:;
      }
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "dearcygui/core.pyx":2912
 *     """
 *     def __call__(self, source_item, target_item, call_info):
 *         try:             # <<<<<<<<<<<<<<
 *             if source_item is not target_item:
 *                 if isinstance(call_info, tuple):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "dearcygui/core.pyx":2911
 *     Used to run callbacks created for DPG
 *     """
 *     def __call__(self, source_item, target_item, call_info):             # <<<<<<<<<<<<<<
 *         try:
 *             if source_item is not target_item:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("dearcygui.core.DPGCallback.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XDECREF(__pyx_v_call_info);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DPGCallback_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DPGCallback_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DPGCallback_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DPGCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DPGCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DPGCallback_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DPGCallback_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DPGCallback_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DPGCallback_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DPGCallback *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DPGCallback_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DPGCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DPGCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2943
 * """
 * cdef class PlaceHolderParent(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self.can_have_handler_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17PlaceHolderParent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_17PlaceHolderParent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_17PlaceHolderParent___cinit__(((struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17PlaceHolderParent___cinit__(struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":2944
 * cdef class PlaceHolderParent(baseItem):
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_handler_child = True
 *         self.can_have_menubar_child = True
 */
  __pyx_v_self->__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":2945
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True
 *         self.can_have_handler_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_menubar_child = True
 *         self.can_have_payload_child = True
 */
  __pyx_v_self->__pyx_base.can_have_handler_child = 1;

  /* "dearcygui/core.pyx":2946
 *         self.can_have_drawing_child = True
 *         self.can_have_handler_child = True
 *         self.can_have_menubar_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_payload_child = True
 *         self.can_have_tab_child = True
 */
  __pyx_v_self->__pyx_base.can_have_menubar_child = 1;

  /* "dearcygui/core.pyx":2947
 *         self.can_have_handler_child = True
 *         self.can_have_menubar_child = True
 *         self.can_have_payload_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_tab_child = True
 *         self.can_have_theme_child = True
 */
  __pyx_v_self->__pyx_base.can_have_payload_child = 1;

  /* "dearcygui/core.pyx":2948
 *         self.can_have_menubar_child = True
 *         self.can_have_payload_child = True
 *         self.can_have_tab_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_theme_child = True
 *         self.can_have_widget_child = True
 */
  __pyx_v_self->__pyx_base.can_have_tab_child = 1;

  /* "dearcygui/core.pyx":2949
 *         self.can_have_payload_child = True
 *         self.can_have_tab_child = True
 *         self.can_have_theme_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.can_have_window_child = True
 */
  __pyx_v_self->__pyx_base.can_have_theme_child = 1;

  /* "dearcygui/core.pyx":2950
 *         self.can_have_tab_child = True
 *         self.can_have_theme_child = True
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_window_child = True
 * 
 */
  __pyx_v_self->__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":2951
 *         self.can_have_theme_child = True
 *         self.can_have_widget_child = True
 *         self.can_have_window_child = True             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->__pyx_base.can_have_window_child = 1;

  /* "dearcygui/core.pyx":2943
 * """
 * cdef class PlaceHolderParent(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self.can_have_handler_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17PlaceHolderParent_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17PlaceHolderParent_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlaceHolderParent.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17PlaceHolderParent_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17PlaceHolderParent_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlaceHolderParent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":2958
 * """
 * 
 * cdef void update_current_mouse_states(itemState& state) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Helper to fill common states. Must be called after the hovered state is updated
 */

static void __pyx_f_9dearcygui_4core_update_current_mouse_states(struct __pyx_t_9dearcygui_4core_itemState &__pyx_v_state) {
  int __pyx_v_i;
  int __pyx_v_dragging;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":2963
 *     """
 *     cdef int i
 *     if state.cap.can_be_clicked:             # <<<<<<<<<<<<<<
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  if (__pyx_v_state.cap.can_be_clicked) {

    /* "dearcygui/core.pyx":2964
 *     cdef int i
 *     if state.cap.can_be_clicked:
 *         if state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 */
    if (__pyx_v_state.cur.hovered) {

      /* "dearcygui/core.pyx":2965
 *     if state.cap.can_be_clicked:
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 *                 state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 */
      __pyx_t_1 = ((int)ImGuiMouseButton_COUNT);
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

        /* "dearcygui/core.pyx":2966
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = imgui.IsMouseClicked(i, False)             # <<<<<<<<<<<<<<
 *                 state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 *         else:
 */
        (__pyx_v_state.cur.clicked[__pyx_v_i]) = ImGui::IsMouseClicked(__pyx_v_i, 0);

        /* "dearcygui/core.pyx":2967
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 *                 state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
        (__pyx_v_state.cur.double_clicked[__pyx_v_i]) = ImGui::IsMouseDoubleClicked(__pyx_v_i);
      }

      /* "dearcygui/core.pyx":2964
 *     cdef int i
 *     if state.cap.can_be_clicked:
 *         if state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":2969
 *                 state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 state.cur.clicked[i] = False
 *                 state.cur.double_clicked[i] = False
 */
    /*else*/ {
      __pyx_t_1 = ((int)ImGuiMouseButton_COUNT);
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

        /* "dearcygui/core.pyx":2970
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = False             # <<<<<<<<<<<<<<
 *                 state.cur.double_clicked[i] = False
 *     cdef bint dragging
 */
        (__pyx_v_state.cur.clicked[__pyx_v_i]) = 0;

        /* "dearcygui/core.pyx":2971
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.clicked[i] = False
 *                 state.cur.double_clicked[i] = False             # <<<<<<<<<<<<<<
 *     cdef bint dragging
 *     if state.cap.can_be_dragged:
 */
        (__pyx_v_state.cur.double_clicked[__pyx_v_i]) = 0;
      }
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":2963
 *     """
 *     cdef int i
 *     if state.cap.can_be_clicked:             # <<<<<<<<<<<<<<
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":2973
 *                 state.cur.double_clicked[i] = False
 *     cdef bint dragging
 *     if state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  if (__pyx_v_state.cap.can_be_dragged) {

    /* "dearcygui/core.pyx":2974
 *     cdef bint dragging
 *     if state.cap.can_be_dragged:
 *         if state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 */
    if (__pyx_v_state.cur.hovered) {

      /* "dearcygui/core.pyx":2975
 *     if state.cap.can_be_dragged:
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 *                 state.cur.dragging[i] = dragging
 */
      __pyx_t_1 = ((int)ImGuiMouseButton_COUNT);
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

        /* "dearcygui/core.pyx":2976
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 dragging = imgui.IsMouseDragging(i, -1.)             # <<<<<<<<<<<<<<
 *                 state.cur.dragging[i] = dragging
 *                 if dragging:
 */
        __pyx_v_dragging = ImGui::IsMouseDragging(__pyx_v_i, -1.);

        /* "dearcygui/core.pyx":2977
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 *                 state.cur.dragging[i] = dragging             # <<<<<<<<<<<<<<
 *                 if dragging:
 *                     state.cur.drag_deltas[i] = imgui.GetMouseDragDelta(i, -1.)
 */
        (__pyx_v_state.cur.dragging[__pyx_v_i]) = __pyx_v_dragging;

        /* "dearcygui/core.pyx":2978
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 *                 state.cur.dragging[i] = dragging
 *                 if dragging:             # <<<<<<<<<<<<<<
 *                     state.cur.drag_deltas[i] = imgui.GetMouseDragDelta(i, -1.)
 *         else:
 */
        if (__pyx_v_dragging) {

          /* "dearcygui/core.pyx":2979
 *                 state.cur.dragging[i] = dragging
 *                 if dragging:
 *                     state.cur.drag_deltas[i] = imgui.GetMouseDragDelta(i, -1.)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
          (__pyx_v_state.cur.drag_deltas[__pyx_v_i]) = ImGui::GetMouseDragDelta(__pyx_v_i, -1.);

          /* "dearcygui/core.pyx":2978
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 *                 state.cur.dragging[i] = dragging
 *                 if dragging:             # <<<<<<<<<<<<<<
 *                     state.cur.drag_deltas[i] = imgui.GetMouseDragDelta(i, -1.)
 *         else:
 */
        }
      }

      /* "dearcygui/core.pyx":2974
 *     cdef bint dragging
 *     if state.cap.can_be_dragged:
 *         if state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 dragging = imgui.IsMouseDragging(i, -1.)
 */
      goto __pyx_L10;
    }

    /* "dearcygui/core.pyx":2981
 *                     state.cur.drag_deltas[i] = imgui.GetMouseDragDelta(i, -1.)
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 state.cur.dragging[i] = False
 * 
 */
    /*else*/ {
      __pyx_t_1 = ((int)ImGuiMouseButton_COUNT);
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

        /* "dearcygui/core.pyx":2982
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 state.cur.dragging[i] = False             # <<<<<<<<<<<<<<
 * 
 * """
 */
        (__pyx_v_state.cur.dragging[__pyx_v_i]) = 0;
      }
    }
    __pyx_L10:;

    /* "dearcygui/core.pyx":2973
 *                 state.cur.double_clicked[i] = False
 *     cdef bint dragging
 *     if state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *         if state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":2958
 * """
 * 
 * cdef void update_current_mouse_states(itemState& state) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     Helper to fill common states. Must be called after the hovered state is updated
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":2995
 *     parent
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self.element_child_category = child_type.cat_drawing
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11drawingItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11drawingItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11drawingItem___cinit__(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11drawingItem___cinit__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":2996
 *     """
 *     def __cinit__(self):
 *         self._show = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_drawing
 *         self.can_have_sibling = True
 */
  __pyx_v_self->_show = 1;

  /* "dearcygui/core.pyx":2997
 *     def __cinit__(self):
 *         self._show = True
 *         self.element_child_category = child_type.cat_drawing             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = True
 * 
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_drawing;

  /* "dearcygui/core.pyx":2998
 *         self._show = True
 *         self.element_child_category = child_type.cat_drawing
 *         self.can_have_sibling = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 1;

  /* "dearcygui/core.pyx":2995
 *     parent
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self.element_child_category = child_type.cat_drawing
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3000
 *         self.can_have_sibling = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_4show_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_4show_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11drawingItem_4show___get__(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_4show___get__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3011
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._show
 *     @show.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3012
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._show             # <<<<<<<<<<<<<<
 *     @show.setter
 *     def show(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_show); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3000
 *         self.can_have_sibling = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.drawingItem.show.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3013
 *         lock_gil_friendly(m, self.mutex)
 *         return self._show
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11drawingItem_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11drawingItem_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 3014, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.drawingItem.show.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11drawingItem_4show_2__set__(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11drawingItem_4show_2__set__(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":3016
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3017
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value
 */
  __pyx_t_2 = (!__pyx_v_value);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->_show;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3018
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 *         self._show = value
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":3017
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value
 */
  }

  /* "dearcygui/core.pyx":3019
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:
 */
  __pyx_v_self->_show = __pyx_v_value;

  /* "dearcygui/core.pyx":3013
 *         lock_gil_friendly(m, self.mutex)
 *         return self._show
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3021
 *         self._show = value
 * 
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_11drawingItem_draw_prev_siblings(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, ImDrawList *__pyx_v_l) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":3022
 * 
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<drawingItem>self._prev_sibling).draw(l)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3023
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<drawingItem>self._prev_sibling).draw(l)
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3024
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<drawingItem>self._prev_sibling).draw(l)             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self, imgui.ImDrawList* l) noexcept nogil:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base._prev_sibling), __pyx_v_l);

    /* "dearcygui/core.pyx":3023
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<drawingItem>self._prev_sibling).draw(l)
 * 
 */
  }

  /* "dearcygui/core.pyx":3021
 *         self._show = value
 * 
 *     cdef void draw_prev_siblings(self, imgui.ImDrawList* l) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":3026
 *             (<drawingItem>self._prev_sibling).draw(l)
 * 
 *     cdef void draw(self, imgui.ImDrawList* l) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(l)
 */

static void __pyx_f_9dearcygui_4core_11drawingItem_draw(struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, ImDrawList *__pyx_v_l) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":3027
 * 
 *     cdef void draw(self, imgui.ImDrawList* l) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(l)
 * 
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3028
 *     cdef void draw(self, imgui.ImDrawList* l) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(l)             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawingList(drawingItem):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->draw_prev_siblings(__pyx_v_self, __pyx_v_l);

  /* "dearcygui/core.pyx":3026
 *             (<drawingItem>self._prev_sibling).draw(l)
 * 
 *     cdef void draw(self, imgui.ImDrawList* l) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(l)
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11drawingItem_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11drawingItem_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11drawingItem_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.drawingItem.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11drawingItem_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11drawingItem_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11drawingItem_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11drawingItem_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11drawingItem_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_drawingItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.drawingItem.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3036
 *     hide/show/delete them by manipulating the list.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11DrawingList_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11DrawingList_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawingList___cinit__(((struct __pyx_obj_9dearcygui_4core_DrawingList *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11DrawingList___cinit__(struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3037
 *     """
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":3036
 *     hide/show/delete them by manipulating the list.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3039
 *         self.can_have_drawing_child = True
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_11DrawingList_draw(struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":3041
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3042
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawingList *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3043
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3044
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is None:
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3043
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  }

  /* "dearcygui/core.pyx":3045
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3046
 *             return
 *         if self.last_drawings_child is None:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # draw children
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3045
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3049
 * 
 *         # draw children
 *         self.last_drawings_child.draw(drawlist)             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawingListScale(drawingItem):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child, __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3039
 *         self.can_have_drawing_child = True
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DrawingList_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DrawingList_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawingList_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DrawingList_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawingList_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawingList *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DrawingList_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawingList.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DrawingList_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DrawingList_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawingList_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DrawingList_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawingList_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawingList *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DrawingList_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingList *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawingList.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3056
 *     can apply shift and scale to the data
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._scales = [1., 1.]
 *         self._shifts = [0., 0.]
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale___cinit__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16DrawingListScale___cinit__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self) {
  int __pyx_r;
  double __pyx_t_1[2];
  double __pyx_t_2[2];

  /* "dearcygui/core.pyx":3057
 *     """
 *     def __cinit__(self):
 *         self._scales = [1., 1.]             # <<<<<<<<<<<<<<
 *         self._shifts = [0., 0.]
 *         self._no_parent_scale = False
 */
  __pyx_t_1[0] = 1.;
  __pyx_t_1[1] = 1.;
  memcpy(&(__pyx_v_self->_scales[0]), __pyx_t_1, sizeof(__pyx_v_self->_scales[0]) * (2));

  /* "dearcygui/core.pyx":3058
 *     def __cinit__(self):
 *         self._scales = [1., 1.]
 *         self._shifts = [0., 0.]             # <<<<<<<<<<<<<<
 *         self._no_parent_scale = False
 * 
 */
  __pyx_t_2[0] = 0.;
  __pyx_t_2[1] = 0.;
  memcpy(&(__pyx_v_self->_shifts[0]), __pyx_t_2, sizeof(__pyx_v_self->_shifts[0]) * (2));

  /* "dearcygui/core.pyx":3059
 *         self._scales = [1., 1.]
 *         self._shifts = [0., 0.]
 *         self._no_parent_scale = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_no_parent_scale = 0;

  /* "dearcygui/core.pyx":3056
 *     can apply shift and scale to the data
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._scales = [1., 1.]
 *         self._shifts = [0., 0.]
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3061
 *         self._no_parent_scale = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scales(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_6scales___get__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_6scales___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3071
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._scales
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3072
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._scales             # <<<<<<<<<<<<<<
 * 
 *     @scales.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_double(__pyx_v_self->_scales, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3061
 *         self._no_parent_scale = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scales(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.scales.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3074
 *         return self._scales
 * 
 *     @scales.setter             # <<<<<<<<<<<<<<
 *     def scales(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_values); /*proto*/
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_values) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_6scales_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self), ((PyObject *)__pyx_v_values));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16DrawingListScale_6scales_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, PyObject *__pyx_v_values) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  double __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":3076
 *     @scales.setter
 *     def scales(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_values, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 3076, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3076, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 2);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":3077
 *     def scales(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 *             raise ValueError(f"Expected tuple, got {values}")             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_values, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_tuple_got, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(1, 3077, __pyx_L1_error)

    /* "dearcygui/core.pyx":3076
 *     @scales.setter
 *     def scales(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":3079
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._scales[0] = values[0]
 *         self._scales[1] = values[1]
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3080
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._scales[0] = values[0]             # <<<<<<<<<<<<<<
 *         self._scales[1] = values[1]
 * 
 */
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_values, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 3080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_self->_scales[0]) = __pyx_t_7;

  /* "dearcygui/core.pyx":3081
 *         lock_gil_friendly(m, self.mutex)
 *         self._scales[0] = values[0]
 *         self._scales[1] = values[1]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_values, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 3081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_self->_scales[1]) = __pyx_t_7;

  /* "dearcygui/core.pyx":3074
 *         return self._scales
 * 
 *     @scales.setter             # <<<<<<<<<<<<<<
 *     def scales(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.scales.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3083
 *         self._scales[1] = values[1]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shifts(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts___get__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3095
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._shifts
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3096
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._shifts             # <<<<<<<<<<<<<<
 * 
 *     @shifts.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_double(__pyx_v_self->_shifts, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3083
 *         self._scales[1] = values[1]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shifts(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.shifts.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3098
 *         return self._shifts
 * 
 *     @shifts.setter             # <<<<<<<<<<<<<<
 *     def shifts(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_values); /*proto*/
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_values) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self), ((PyObject *)__pyx_v_values));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16DrawingListScale_6shifts_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, PyObject *__pyx_v_values) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  double __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":3100
 *     @shifts.setter
 *     def shifts(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_values, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 3100, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3100, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 2);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":3101
 *     def shifts(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 *             raise ValueError(f"Expected tuple, got {values}")             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_values, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_tuple_got, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(1, 3101, __pyx_L1_error)

    /* "dearcygui/core.pyx":3100
 *     @shifts.setter
 *     def shifts(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":3103
 *             raise ValueError(f"Expected tuple, got {values}")
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._shifts[0] = values[0]
 *         self._shifts[1] = values[1]
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3104
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._shifts[0] = values[0]             # <<<<<<<<<<<<<<
 *         self._shifts[1] = values[1]
 * 
 */
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_values, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 3104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_self->_shifts[0]) = __pyx_t_7;

  /* "dearcygui/core.pyx":3105
 *         lock_gil_friendly(m, self.mutex)
 *         self._shifts[0] = values[0]
 *         self._shifts[1] = values[1]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_values, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 3105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_self->_shifts[1]) = __pyx_t_7;

  /* "dearcygui/core.pyx":3098
 *         return self._shifts
 * 
 *     @shifts.setter             # <<<<<<<<<<<<<<
 *     def shifts(self, values):
 *         if not(hasattr(values, '__len__')) or len(values) != 2:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.shifts.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3107
 *         self._shifts[1] = values[1]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_parent_scale(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale___get__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale___get__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3116
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._no_parent_scale
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3117
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._no_parent_scale             # <<<<<<<<<<<<<<
 * 
 *     @no_parent_scale.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_no_parent_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3107
 *         self._shifts[1] = values[1]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_parent_scale(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.no_parent_scale.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3119
 *         return self._no_parent_scale
 * 
 *     @no_parent_scale.setter             # <<<<<<<<<<<<<<
 *     def no_parent_scale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 3120, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.no_parent_scale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16DrawingListScale_15no_parent_scale_2__set__(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":3122
 *     def no_parent_scale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._no_parent_scale = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3123
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._no_parent_scale = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->_no_parent_scale = __pyx_v_value;

  /* "dearcygui/core.pyx":3119
 *         return self._no_parent_scale
 * 
 *     @no_parent_scale.setter             # <<<<<<<<<<<<<<
 *     def no_parent_scale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3125
 *         self._no_parent_scale = value
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_16DrawingListScale_draw(struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  double __pyx_v_cur_scales[2];
  double __pyx_v_cur_shifts[2];
  int __pyx_v_cur_in_plot;
  float __pyx_v_p[2];
  int __pyx_t_1;
  double *__pyx_t_2;

  /* "dearcygui/core.pyx":3127
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3128
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawingListScale *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3129
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3130
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is None:
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3129
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  }

  /* "dearcygui/core.pyx":3131
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3132
 *             return
 *         if self.last_drawings_child is None:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # save states
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3131
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3135
 * 
 *         # save states
 *         cdef double[2] cur_scales = self.context._viewport.scales             # <<<<<<<<<<<<<<
 *         cdef double[2] cur_shifts = self.context._viewport.shifts
 *         cdef bint cur_in_plot = self.context._viewport.in_plot
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales;
  memcpy(&(__pyx_v_cur_scales[0]), __pyx_t_2, sizeof(__pyx_v_cur_scales[0]) * (2 - 0));

  /* "dearcygui/core.pyx":3136
 *         # save states
 *         cdef double[2] cur_scales = self.context._viewport.scales
 *         cdef double[2] cur_shifts = self.context._viewport.shifts             # <<<<<<<<<<<<<<
 *         cdef bint cur_in_plot = self.context._viewport.in_plot
 * 
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts;
  memcpy(&(__pyx_v_cur_shifts[0]), __pyx_t_2, sizeof(__pyx_v_cur_shifts[0]) * (2 - 0));

  /* "dearcygui/core.pyx":3137
 *         cdef double[2] cur_scales = self.context._viewport.scales
 *         cdef double[2] cur_shifts = self.context._viewport.shifts
 *         cdef bint cur_in_plot = self.context._viewport.in_plot             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p
 */
  __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
  __pyx_v_cur_in_plot = __pyx_t_1;

  /* "dearcygui/core.pyx":3140
 * 
 *         cdef float[2] p
 *         if self._no_parent_scale:             # <<<<<<<<<<<<<<
 *             self.context._viewport.apply_current_transform(p, self._shifts)
 *             self.context._viewport.scales = self._scales
 */
  if (__pyx_v_self->_no_parent_scale) {

    /* "dearcygui/core.pyx":3141
 *         cdef float[2] p
 *         if self._no_parent_scale:
 *             self.context._viewport.apply_current_transform(p, self._shifts)             # <<<<<<<<<<<<<<
 *             self.context._viewport.scales = self._scales
 *             self.context._viewport.shifts[0] = <double>p[0]
 */
    __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, __pyx_v_self->_shifts);

    /* "dearcygui/core.pyx":3142
 *         if self._no_parent_scale:
 *             self.context._viewport.apply_current_transform(p, self._shifts)
 *             self.context._viewport.scales = self._scales             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[0] = <double>p[0]
 *             self.context._viewport.shifts[1] = <double>p[1]
 */
    __pyx_t_2 = __pyx_v_self->_scales;
    memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_t_2, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2 - 0));

    /* "dearcygui/core.pyx":3143
 *             self.context._viewport.apply_current_transform(p, self._shifts)
 *             self.context._viewport.scales = self._scales
 *             self.context._viewport.shifts[0] = <double>p[0]             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[1] = <double>p[1]
 *             self.context._viewport.in_plot = False
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) = ((double)(__pyx_v_p[0]));

    /* "dearcygui/core.pyx":3144
 *             self.context._viewport.scales = self._scales
 *             self.context._viewport.shifts[0] = <double>p[0]
 *             self.context._viewport.shifts[1] = <double>p[1]             # <<<<<<<<<<<<<<
 *             self.context._viewport.in_plot = False
 *         else:
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[1]) = ((double)(__pyx_v_p[1]));

    /* "dearcygui/core.pyx":3145
 *             self.context._viewport.shifts[0] = <double>p[0]
 *             self.context._viewport.shifts[1] = <double>p[1]
 *             self.context._viewport.in_plot = False             # <<<<<<<<<<<<<<
 *         else:
 *             self.context._viewport.scales[0] = cur_scales[0] * self._scales[0]
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot = 0;

    /* "dearcygui/core.pyx":3140
 * 
 *         cdef float[2] p
 *         if self._no_parent_scale:             # <<<<<<<<<<<<<<
 *             self.context._viewport.apply_current_transform(p, self._shifts)
 *             self.context._viewport.scales = self._scales
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":3147
 *             self.context._viewport.in_plot = False
 *         else:
 *             self.context._viewport.scales[0] = cur_scales[0] * self._scales[0]             # <<<<<<<<<<<<<<
 *             self.context._viewport.scales[1] = cur_scales[1] * self._scales[1]
 *             self.context._viewport.shifts[0] = self.context._viewport.shifts[0] + cur_scales[0] * self._shifts[0]
 */
  /*else*/ {
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) = ((__pyx_v_cur_scales[0]) * (__pyx_v_self->_scales[0]));

    /* "dearcygui/core.pyx":3148
 *         else:
 *             self.context._viewport.scales[0] = cur_scales[0] * self._scales[0]
 *             self.context._viewport.scales[1] = cur_scales[1] * self._scales[1]             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[0] = self.context._viewport.shifts[0] + cur_scales[0] * self._shifts[0]
 *             self.context._viewport.shifts[1] = self.context._viewport.shifts[1] + cur_scales[1] * self._shifts[1]
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[1]) = ((__pyx_v_cur_scales[1]) * (__pyx_v_self->_scales[1]));

    /* "dearcygui/core.pyx":3149
 *             self.context._viewport.scales[0] = cur_scales[0] * self._scales[0]
 *             self.context._viewport.scales[1] = cur_scales[1] * self._scales[1]
 *             self.context._viewport.shifts[0] = self.context._viewport.shifts[0] + cur_scales[0] * self._shifts[0]             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[1] = self.context._viewport.shifts[1] + cur_scales[1] * self._shifts[1]
 *             # TODO investigate if it'd be better if we do or not:
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) = ((__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) + ((__pyx_v_cur_scales[0]) * (__pyx_v_self->_shifts[0])));

    /* "dearcygui/core.pyx":3150
 *             self.context._viewport.scales[1] = cur_scales[1] * self._scales[1]
 *             self.context._viewport.shifts[0] = self.context._viewport.shifts[0] + cur_scales[0] * self._shifts[0]
 *             self.context._viewport.shifts[1] = self.context._viewport.shifts[1] + cur_scales[1] * self._shifts[1]             # <<<<<<<<<<<<<<
 *             # TODO investigate if it'd be better if we do or not:
 *             # maybe instead have the multipliers as params
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[1]) = ((__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[1]) + ((__pyx_v_cur_scales[1]) * (__pyx_v_self->_shifts[1])));
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":3158
 * 
 *         # draw children
 *         self.last_drawings_child.draw(drawlist)             # <<<<<<<<<<<<<<
 * 
 *         # restore states
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child, __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3161
 * 
 *         # restore states
 *         self.context._viewport.scales = cur_scales             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts = cur_shifts
 *         self.context._viewport.in_plot = cur_in_plot
 */
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_v_cur_scales, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2));

  /* "dearcygui/core.pyx":3162
 *         # restore states
 *         self.context._viewport.scales = cur_scales
 *         self.context._viewport.shifts = cur_shifts             # <<<<<<<<<<<<<<
 *         self.context._viewport.in_plot = cur_in_plot
 * 
 */
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]), __pyx_v_cur_shifts, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) * (2));

  /* "dearcygui/core.pyx":3163
 *         self.context._viewport.scales = cur_scales
 *         self.context._viewport.shifts = cur_shifts
 *         self.context._viewport.in_plot = cur_in_plot             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawArrow_(drawingItem):
 */
  __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot = __pyx_v_cur_in_plot;

  /* "dearcygui/core.pyx":3125
 *         self._no_parent_scale = value
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16DrawingListScale_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawingListScale_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16DrawingListScale_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawingListScale_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16DrawingListScale_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawingListScale_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawingListScale_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawingListScale *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawingListScale.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3166
 * 
 * cdef class DrawArrow_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10DrawArrow__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10DrawArrow__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawArrow____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawArrow_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10DrawArrow____cinit__(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3168
 *     def __cinit__(self):
 *         # p1, p2, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.size = 4.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3169
 *         # p1, p2, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.size = 4.
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3170
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 1.
 *         self.size = 4.             # <<<<<<<<<<<<<<
 * 
 *     cdef void __compute_tip(self):
 */
  __pyx_v_self->size = 4.;

  /* "dearcygui/core.pyx":3166
 * 
 * cdef class DrawArrow_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3172
 *         self.size = 4.
 * 
 *     cdef void __compute_tip(self):             # <<<<<<<<<<<<<<
 *         # Copy paste from original code
 * 
 */

static void __pyx_f_9dearcygui_4core_10DrawArrow___DrawArrow___compute_tip(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self) {
  double __pyx_v_xsi;
  double __pyx_v_xfi;
  double __pyx_v_ysi;
  double __pyx_v_yfi;
  double __pyx_v_xoffset;
  double __pyx_v_yoffset;
  double __pyx_v_angle;
  double __pyx_v_x1;
  double __pyx_v_y1;
  float __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  double __pyx_t_4;
  double __pyx_t_5;
  double __pyx_t_6[2];
  double __pyx_t_7[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":3175
 *         # Copy paste from original code
 * 
 *         cdef double xsi = self.end[0]             # <<<<<<<<<<<<<<
 *         cdef double xfi = self.start[0]
 *         cdef double ysi = self.end[1]
 */
  __pyx_v_xsi = (__pyx_v_self->end[0]);

  /* "dearcygui/core.pyx":3176
 * 
 *         cdef double xsi = self.end[0]
 *         cdef double xfi = self.start[0]             # <<<<<<<<<<<<<<
 *         cdef double ysi = self.end[1]
 *         cdef double yfi = self.start[1]
 */
  __pyx_v_xfi = (__pyx_v_self->start[0]);

  /* "dearcygui/core.pyx":3177
 *         cdef double xsi = self.end[0]
 *         cdef double xfi = self.start[0]
 *         cdef double ysi = self.end[1]             # <<<<<<<<<<<<<<
 *         cdef double yfi = self.start[1]
 * 
 */
  __pyx_v_ysi = (__pyx_v_self->end[1]);

  /* "dearcygui/core.pyx":3178
 *         cdef double xfi = self.start[0]
 *         cdef double ysi = self.end[1]
 *         cdef double yfi = self.start[1]             # <<<<<<<<<<<<<<
 * 
 *         # length of arrow head
 */
  __pyx_v_yfi = (__pyx_v_self->start[1]);

  /* "dearcygui/core.pyx":3181
 * 
 *         # length of arrow head
 *         cdef double xoffset = self.size             # <<<<<<<<<<<<<<
 *         cdef double yoffset = self.size
 * 
 */
  __pyx_t_1 = __pyx_v_self->size;
  __pyx_v_xoffset = __pyx_t_1;

  /* "dearcygui/core.pyx":3182
 *         # length of arrow head
 *         cdef double xoffset = self.size
 *         cdef double yoffset = self.size             # <<<<<<<<<<<<<<
 * 
 *         # get pointer angle w.r.t +X (in radians)
 */
  __pyx_t_1 = __pyx_v_self->size;
  __pyx_v_yoffset = __pyx_t_1;

  /* "dearcygui/core.pyx":3185
 * 
 *         # get pointer angle w.r.t +X (in radians)
 *         cdef double angle = 0.0             # <<<<<<<<<<<<<<
 *         if xsi >= xfi and ysi >= yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 */
  __pyx_v_angle = 0.0;

  /* "dearcygui/core.pyx":3186
 *         # get pointer angle w.r.t +X (in radians)
 *         cdef double angle = 0.0
 *         if xsi >= xfi and ysi >= yfi:             # <<<<<<<<<<<<<<
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi >= yfi:
 */
  __pyx_t_3 = (__pyx_v_xsi >= __pyx_v_xfi);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_ysi >= __pyx_v_yfi);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":3187
 *         cdef double angle = 0.0
 *         if xsi >= xfi and ysi >= yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))             # <<<<<<<<<<<<<<
 *         elif xsi < xfi and ysi >= yfi:
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 */
    try {
      __pyx_t_4 = std::atan(((__pyx_v_ysi - __pyx_v_yfi) / (__pyx_v_xsi - __pyx_v_xfi)));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3187, __pyx_L1_error)
    }
    __pyx_v_angle = __pyx_t_4;

    /* "dearcygui/core.pyx":3186
 *         # get pointer angle w.r.t +X (in radians)
 *         cdef double angle = 0.0
 *         if xsi >= xfi and ysi >= yfi:             # <<<<<<<<<<<<<<
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi >= yfi:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":3188
 *         if xsi >= xfi and ysi >= yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi >= yfi:             # <<<<<<<<<<<<<<
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi < yfi:
 */
  __pyx_t_3 = (__pyx_v_xsi < __pyx_v_xfi);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_ysi >= __pyx_v_yfi);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":3189
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi >= yfi:
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))             # <<<<<<<<<<<<<<
 *         elif xsi < xfi and ysi < yfi:
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 */
    try {
      __pyx_t_4 = std::atan(((__pyx_v_ysi - __pyx_v_yfi) / (__pyx_v_xsi - __pyx_v_xfi)));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3189, __pyx_L1_error)
    }
    __pyx_v_angle = (M_PI + __pyx_t_4);

    /* "dearcygui/core.pyx":3188
 *         if xsi >= xfi and ysi >= yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi >= yfi:             # <<<<<<<<<<<<<<
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi < yfi:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":3190
 *         elif xsi < xfi and ysi >= yfi:
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi < yfi:             # <<<<<<<<<<<<<<
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi >= xfi and ysi < yfi:
 */
  __pyx_t_3 = (__pyx_v_xsi < __pyx_v_xfi);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_ysi < __pyx_v_yfi);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":3191
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi < yfi:
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))             # <<<<<<<<<<<<<<
 *         elif xsi >= xfi and ysi < yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 */
    try {
      __pyx_t_4 = std::atan(((__pyx_v_ysi - __pyx_v_yfi) / (__pyx_v_xsi - __pyx_v_xfi)));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3191, __pyx_L1_error)
    }
    __pyx_v_angle = ((-M_PI) + __pyx_t_4);

    /* "dearcygui/core.pyx":3190
 *         elif xsi < xfi and ysi >= yfi:
 *             angle = M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi < xfi and ysi < yfi:             # <<<<<<<<<<<<<<
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi >= xfi and ysi < yfi:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":3192
 *         elif xsi < xfi and ysi < yfi:
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi >= xfi and ysi < yfi:             # <<<<<<<<<<<<<<
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 * 
 */
  __pyx_t_3 = (__pyx_v_xsi >= __pyx_v_xfi);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_ysi < __pyx_v_yfi);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L10_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":3193
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi >= xfi and ysi < yfi:
 *             angle = atan((ysi - yfi) / (xsi - xfi))             # <<<<<<<<<<<<<<
 * 
 *         cdef double x1 = <double>(xsi - xoffset * cos(angle))
 */
    try {
      __pyx_t_4 = std::atan(((__pyx_v_ysi - __pyx_v_yfi) / (__pyx_v_xsi - __pyx_v_xfi)));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3193, __pyx_L1_error)
    }
    __pyx_v_angle = __pyx_t_4;

    /* "dearcygui/core.pyx":3192
 *         elif xsi < xfi and ysi < yfi:
 *             angle = -M_PI + atan((ysi - yfi) / (xsi - xfi))
 *         elif xsi >= xfi and ysi < yfi:             # <<<<<<<<<<<<<<
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 * 
 */
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":3195
 *             angle = atan((ysi - yfi) / (xsi - xfi))
 * 
 *         cdef double x1 = <double>(xsi - xoffset * cos(angle))             # <<<<<<<<<<<<<<
 *         cdef double y1 = <double>(ysi - yoffset * sin(angle))
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),
 */
  try {
    __pyx_t_4 = std::cos(__pyx_v_angle);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3195, __pyx_L1_error)
  }
  __pyx_v_x1 = ((double)(__pyx_v_xsi - (__pyx_v_xoffset * __pyx_t_4)));

  /* "dearcygui/core.pyx":3196
 * 
 *         cdef double x1 = <double>(xsi - xoffset * cos(angle))
 *         cdef double y1 = <double>(ysi - yoffset * sin(angle))             # <<<<<<<<<<<<<<
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),
 *                         y1 + 0.5 * self.size * cos(angle)]
 */
  try {
    __pyx_t_4 = std::sin(__pyx_v_angle);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3196, __pyx_L1_error)
  }
  __pyx_v_y1 = ((double)(__pyx_v_ysi - (__pyx_v_yoffset * __pyx_t_4)));

  /* "dearcygui/core.pyx":3197
 *         cdef double x1 = <double>(xsi - xoffset * cos(angle))
 *         cdef double y1 = <double>(ysi - yoffset * sin(angle))
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),             # <<<<<<<<<<<<<<
 *                         y1 + 0.5 * self.size * cos(angle)]
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),
 */
  try {
    __pyx_t_4 = std::sin(__pyx_v_angle);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3197, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3198
 *         cdef double y1 = <double>(ysi - yoffset * sin(angle))
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),
 *                         y1 + 0.5 * self.size * cos(angle)]             # <<<<<<<<<<<<<<
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]
 */
  try {
    __pyx_t_5 = std::cos(__pyx_v_angle);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3198, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3197
 *         cdef double x1 = <double>(xsi - xoffset * cos(angle))
 *         cdef double y1 = <double>(ysi - yoffset * sin(angle))
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),             # <<<<<<<<<<<<<<
 *                         y1 + 0.5 * self.size * cos(angle)]
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),
 */
  __pyx_t_6[0] = (__pyx_v_x1 - ((0.5 * __pyx_v_self->size) * __pyx_t_4));
  __pyx_t_6[1] = (__pyx_v_y1 + ((0.5 * __pyx_v_self->size) * __pyx_t_5));
  memcpy(&(__pyx_v_self->corner1[0]), __pyx_t_6, sizeof(__pyx_v_self->corner1[0]) * (2));

  /* "dearcygui/core.pyx":3199
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),
 *                         y1 + 0.5 * self.size * cos(angle)]
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),             # <<<<<<<<<<<<<<
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]
 * 
 */
  try {
    __pyx_t_5 = std::cos(((((double)M_PI) / 2.0) - __pyx_v_angle));
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3199, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3200
 *                         y1 + 0.5 * self.size * cos(angle)]
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  try {
    __pyx_t_4 = std::sin(((((double)M_PI) / 2.0) - __pyx_v_angle));
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3200, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3199
 *         self.corner1 = [x1 - 0.5 * self.size * sin(angle),
 *                         y1 + 0.5 * self.size * cos(angle)]
 *         self.corner2 = [x1 + 0.5 * self.size * cos((M_PI / 2.0) - angle),             # <<<<<<<<<<<<<<
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]
 * 
 */
  __pyx_t_7[0] = (__pyx_v_x1 + ((0.5 * __pyx_v_self->size) * __pyx_t_5));
  __pyx_t_7[1] = (__pyx_v_y1 - ((0.5 * __pyx_v_self->size) * __pyx_t_4));
  memcpy(&(__pyx_v_self->corner2[0]), __pyx_t_7, sizeof(__pyx_v_self->corner2[0]) * (2));

  /* "dearcygui/core.pyx":3172
 *         self.size = 4.
 * 
 *     cdef void __compute_tip(self):             # <<<<<<<<<<<<<<
 *         # Copy paste from original code
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawArrow_._DrawArrow___compute_tip", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}

/* "dearcygui/core.pyx":3202
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_10DrawArrow__draw(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_tstart[2];
  float __pyx_v_tend[2];
  float __pyx_v_tcorner1[2];
  float __pyx_v_tcorner2[2];
  ImVec2 __pyx_v_itstart;
  ImVec2 __pyx_v_itend;
  ImVec2 __pyx_v_itcorner1;
  ImVec2 __pyx_v_itcorner2;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3204
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3205
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawArrow_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3206
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3207
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3206
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3209
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3210
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3211
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3210
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3212
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] tstart
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3218
 *         cdef float[2] tcorner1
 *         cdef float[2] tcorner2
 *         self.context._viewport.apply_current_transform(tstart, self.start)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(tend, self.end)
 *         self.context._viewport.apply_current_transform(tcorner1, self.corner1)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_tstart, __pyx_v_self->start);

  /* "dearcygui/core.pyx":3219
 *         cdef float[2] tcorner2
 *         self.context._viewport.apply_current_transform(tstart, self.start)
 *         self.context._viewport.apply_current_transform(tend, self.end)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(tcorner1, self.corner1)
 *         self.context._viewport.apply_current_transform(tcorner2, self.corner2)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_tend, __pyx_v_self->end);

  /* "dearcygui/core.pyx":3220
 *         self.context._viewport.apply_current_transform(tstart, self.start)
 *         self.context._viewport.apply_current_transform(tend, self.end)
 *         self.context._viewport.apply_current_transform(tcorner1, self.corner1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(tcorner2, self.corner2)
 *         cdef imgui.ImVec2 itstart = imgui.ImVec2(tstart[0], tstart[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_tcorner1, __pyx_v_self->corner1);

  /* "dearcygui/core.pyx":3221
 *         self.context._viewport.apply_current_transform(tend, self.end)
 *         self.context._viewport.apply_current_transform(tcorner1, self.corner1)
 *         self.context._viewport.apply_current_transform(tcorner2, self.corner2)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 itstart = imgui.ImVec2(tstart[0], tstart[1])
 *         cdef imgui.ImVec2 itend  = imgui.ImVec2(tend[0], tend[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_tcorner2, __pyx_v_self->corner2);

  /* "dearcygui/core.pyx":3222
 *         self.context._viewport.apply_current_transform(tcorner1, self.corner1)
 *         self.context._viewport.apply_current_transform(tcorner2, self.corner2)
 *         cdef imgui.ImVec2 itstart = imgui.ImVec2(tstart[0], tstart[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 itend  = imgui.ImVec2(tend[0], tend[1])
 *         cdef imgui.ImVec2 itcorner1 = imgui.ImVec2(tcorner1[0], tcorner1[1])
 */
  __pyx_v_itstart = ImVec2((__pyx_v_tstart[0]), (__pyx_v_tstart[1]));

  /* "dearcygui/core.pyx":3223
 *         self.context._viewport.apply_current_transform(tcorner2, self.corner2)
 *         cdef imgui.ImVec2 itstart = imgui.ImVec2(tstart[0], tstart[1])
 *         cdef imgui.ImVec2 itend  = imgui.ImVec2(tend[0], tend[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 itcorner1 = imgui.ImVec2(tcorner1[0], tcorner1[1])
 *         cdef imgui.ImVec2 itcorner2 = imgui.ImVec2(tcorner2[0], tcorner2[1])
 */
  __pyx_v_itend = ImVec2((__pyx_v_tend[0]), (__pyx_v_tend[1]));

  /* "dearcygui/core.pyx":3224
 *         cdef imgui.ImVec2 itstart = imgui.ImVec2(tstart[0], tstart[1])
 *         cdef imgui.ImVec2 itend  = imgui.ImVec2(tend[0], tend[1])
 *         cdef imgui.ImVec2 itcorner1 = imgui.ImVec2(tcorner1[0], tcorner1[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 itcorner2 = imgui.ImVec2(tcorner2[0], tcorner2[1])
 *         drawlist.AddTriangleFilled(itend, itcorner1, itcorner2, self.color)
 */
  __pyx_v_itcorner1 = ImVec2((__pyx_v_tcorner1[0]), (__pyx_v_tcorner1[1]));

  /* "dearcygui/core.pyx":3225
 *         cdef imgui.ImVec2 itend  = imgui.ImVec2(tend[0], tend[1])
 *         cdef imgui.ImVec2 itcorner1 = imgui.ImVec2(tcorner1[0], tcorner1[1])
 *         cdef imgui.ImVec2 itcorner2 = imgui.ImVec2(tcorner2[0], tcorner2[1])             # <<<<<<<<<<<<<<
 *         drawlist.AddTriangleFilled(itend, itcorner1, itcorner2, self.color)
 *         drawlist.AddLine(itend, itstart, self.color, thickness)
 */
  __pyx_v_itcorner2 = ImVec2((__pyx_v_tcorner2[0]), (__pyx_v_tcorner2[1]));

  /* "dearcygui/core.pyx":3226
 *         cdef imgui.ImVec2 itcorner1 = imgui.ImVec2(tcorner1[0], tcorner1[1])
 *         cdef imgui.ImVec2 itcorner2 = imgui.ImVec2(tcorner2[0], tcorner2[1])
 *         drawlist.AddTriangleFilled(itend, itcorner1, itcorner2, self.color)             # <<<<<<<<<<<<<<
 *         drawlist.AddLine(itend, itstart, self.color, thickness)
 *         drawlist.AddTriangle(itend, itcorner1, itcorner2, self.color, thickness)
 */
  __pyx_v_drawlist->AddTriangleFilled(__pyx_v_itend, __pyx_v_itcorner1, __pyx_v_itcorner2, __pyx_v_self->color);

  /* "dearcygui/core.pyx":3227
 *         cdef imgui.ImVec2 itcorner2 = imgui.ImVec2(tcorner2[0], tcorner2[1])
 *         drawlist.AddTriangleFilled(itend, itcorner1, itcorner2, self.color)
 *         drawlist.AddLine(itend, itstart, self.color, thickness)             # <<<<<<<<<<<<<<
 *         drawlist.AddTriangle(itend, itcorner1, itcorner2, self.color, thickness)
 * 
 */
  __pyx_v_drawlist->AddLine(__pyx_v_itend, __pyx_v_itstart, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3228
 *         drawlist.AddTriangleFilled(itend, itcorner1, itcorner2, self.color)
 *         drawlist.AddLine(itend, itstart, self.color, thickness)
 *         drawlist.AddTriangle(itend, itcorner1, itcorner2, self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_drawlist->AddTriangle(__pyx_v_itend, __pyx_v_itcorner1, __pyx_v_itcorner2, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3202
 *                         y1 - 0.5 * self.size * sin((M_PI / 2.0) - angle)]
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawArrow__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawArrow__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawArrow__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawArrow__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawArrow__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawArrow_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawArrow__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawArrow_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawArrow__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawArrow__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawArrow__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawArrow__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawArrow__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawArrow_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawArrow__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawArrow_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawArrow_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3232
 * 
 * cdef class DrawBezierCubic_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16DrawBezierCubic__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16DrawBezierCubic__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawBezierCubic____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16DrawBezierCubic____cinit__(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3234
 *     def __cinit__(self):
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.thickness = 0.
 *         self.segments = 0
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3235
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 0.             # <<<<<<<<<<<<<<
 *         self.segments = 0
 * 
 */
  __pyx_v_self->thickness = 0.;

  /* "dearcygui/core.pyx":3236
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 0.
 *         self.segments = 0             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->segments = 0;

  /* "dearcygui/core.pyx":3232
 * 
 * cdef class DrawBezierCubic_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3238
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_16DrawBezierCubic__draw(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  float __pyx_v_p3[2];
  float __pyx_v_p4[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  ImVec2 __pyx_v_ip3;
  ImVec2 __pyx_v_ip4;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3240
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3241
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierCubic_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3242
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3243
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3242
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3245
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3246
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3247
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3246
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3248
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3254
 *         cdef float[2] p3
 *         cdef float[2] p4
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3255
 *         cdef float[2] p4
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3256
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p3, __pyx_v_self->p3);

  /* "dearcygui/core.pyx":3257
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p4, __pyx_v_self->p4);

  /* "dearcygui/core.pyx":3258
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3259
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 *         cdef imgui.ImVec2 ip4 = imgui.ImVec2(p4[0], p4[1])
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3260
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip4 = imgui.ImVec2(p4[0], p4[1])
 *         drawlist.AddBezierCubic(ip1, ip2, ip3, ip4, self.color, self.thickness, self.segments)
 */
  __pyx_v_ip3 = ImVec2((__pyx_v_p3[0]), (__pyx_v_p3[1]));

  /* "dearcygui/core.pyx":3261
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 *         cdef imgui.ImVec2 ip4 = imgui.ImVec2(p4[0], p4[1])             # <<<<<<<<<<<<<<
 *         drawlist.AddBezierCubic(ip1, ip2, ip3, ip4, self.color, self.thickness, self.segments)
 * 
 */
  __pyx_v_ip4 = ImVec2((__pyx_v_p4[0]), (__pyx_v_p4[1]));

  /* "dearcygui/core.pyx":3262
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 *         cdef imgui.ImVec2 ip4 = imgui.ImVec2(p4[0], p4[1])
 *         drawlist.AddBezierCubic(ip1, ip2, ip3, ip4, self.color, self.thickness, self.segments)             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawBezierQuadratic_(drawingItem):
 */
  __pyx_v_drawlist->AddBezierCubic(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_ip4, __pyx_v_self->color, __pyx_v_self->thickness, __pyx_v_self->segments);

  /* "dearcygui/core.pyx":3238
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawBezierCubic__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawBezierCubic__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawBezierCubic_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16DrawBezierCubic__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16DrawBezierCubic__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawBezierCubic_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3265
 * 
 * cdef class DrawBezierQuadratic_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_20DrawBezierQuadratic____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_20DrawBezierQuadratic____cinit__(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3267
 *     def __cinit__(self):
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.thickness = 0.
 *         self.segments = 0
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3268
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 0.             # <<<<<<<<<<<<<<
 *         self.segments = 0
 * 
 */
  __pyx_v_self->thickness = 0.;

  /* "dearcygui/core.pyx":3269
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 0.
 *         self.segments = 0             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->segments = 0;

  /* "dearcygui/core.pyx":3265
 * 
 * cdef class DrawBezierQuadratic_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, etc are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3271
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_20DrawBezierQuadratic__draw(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  float __pyx_v_p3[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  ImVec2 __pyx_v_ip3;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3273
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3274
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierQuadratic_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3275
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3276
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3275
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3278
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3279
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3280
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3279
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3281
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3286
 *         cdef float[2] p2
 *         cdef float[2] p3
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3287
 *         cdef float[2] p3
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3288
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p3, __pyx_v_self->p3);

  /* "dearcygui/core.pyx":3289
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3290
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 *         drawlist.AddBezierQuadratic(ip1, ip2, ip3, self.color, self.thickness, self.segments)
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3291
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])             # <<<<<<<<<<<<<<
 *         drawlist.AddBezierQuadratic(ip1, ip2, ip3, self.color, self.thickness, self.segments)
 * 
 */
  __pyx_v_ip3 = ImVec2((__pyx_v_p3[0]), (__pyx_v_p3[1]));

  /* "dearcygui/core.pyx":3292
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         cdef imgui.ImVec2 ip3 = imgui.ImVec2(p3[0], p3[1])
 *         drawlist.AddBezierQuadratic(ip1, ip2, ip3, self.color, self.thickness, self.segments)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_drawlist->AddBezierQuadratic(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_self->color, __pyx_v_self->thickness, __pyx_v_self->segments);

  /* "dearcygui/core.pyx":3271
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawBezierQuadratic_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_20DrawBezierQuadratic__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawBezierQuadratic_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3296
 * 
 * cdef class DrawCircle_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # center is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11DrawCircle__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11DrawCircle__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawCircle____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawCircle_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11DrawCircle____cinit__(struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3298
 *     def __cinit__(self):
 *         # center is zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.radius = 1.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3299
 *         # center is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.radius = 1.
 *         self.thickness = 1.
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3300
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.radius = 1.             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.segments = 0
 */
  __pyx_v_self->radius = 1.;

  /* "dearcygui/core.pyx":3301
 *         self.fill = 0
 *         self.radius = 1.
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.segments = 0
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3302
 *         self.radius = 1.
 *         self.thickness = 1.
 *         self.segments = 0             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->segments = 0;

  /* "dearcygui/core.pyx":3296
 * 
 * cdef class DrawCircle_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # center is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3304
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_11DrawCircle__draw(struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_radius;
  float __pyx_v_center[2];
  ImVec2 __pyx_v_icenter;
  int __pyx_t_1;
  float __pyx_t_2;

  /* "dearcygui/core.pyx":3306
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3307
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawCircle_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3308
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3309
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3308
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3311
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         cdef float radius = self.radius
 *         if self.context._viewport.in_plot:
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3312
 * 
 *         cdef float thickness = self.thickness
 *         cdef float radius = self.radius             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot:
 *             if thickness > 0:
 */
  __pyx_t_2 = __pyx_v_self->radius;
  __pyx_v_radius = __pyx_t_2;

  /* "dearcygui/core.pyx":3313
 *         cdef float thickness = self.thickness
 *         cdef float radius = self.radius
 *         if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *             if thickness > 0:
 *                 thickness *= self.context._viewport.thickness_multiplier
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {

    /* "dearcygui/core.pyx":3314
 *         cdef float radius = self.radius
 *         if self.context._viewport.in_plot:
 *             if thickness > 0:             # <<<<<<<<<<<<<<
 *                 thickness *= self.context._viewport.thickness_multiplier
 *             if radius > 0:
 */
    __pyx_t_1 = (__pyx_v_thickness > 0.0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3315
 *         if self.context._viewport.in_plot:
 *             if thickness > 0:
 *                 thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *             if radius > 0:
 *                 radius *= self.context._viewport.size_multiplier
 */
      __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

      /* "dearcygui/core.pyx":3314
 *         cdef float radius = self.radius
 *         if self.context._viewport.in_plot:
 *             if thickness > 0:             # <<<<<<<<<<<<<<
 *                 thickness *= self.context._viewport.thickness_multiplier
 *             if radius > 0:
 */
    }

    /* "dearcygui/core.pyx":3316
 *             if thickness > 0:
 *                 thickness *= self.context._viewport.thickness_multiplier
 *             if radius > 0:             # <<<<<<<<<<<<<<
 *                 radius *= self.context._viewport.size_multiplier
 *         thickness = abs(thickness)
 */
    __pyx_t_1 = (__pyx_v_radius > 0.0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3317
 *                 thickness *= self.context._viewport.thickness_multiplier
 *             if radius > 0:
 *                 radius *= self.context._viewport.size_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 *         radius = abs(radius)
 */
      __pyx_v_radius = (__pyx_v_radius * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->size_multiplier);

      /* "dearcygui/core.pyx":3316
 *             if thickness > 0:
 *                 thickness *= self.context._viewport.thickness_multiplier
 *             if radius > 0:             # <<<<<<<<<<<<<<
 *                 radius *= self.context._viewport.size_multiplier
 *         thickness = abs(thickness)
 */
    }

    /* "dearcygui/core.pyx":3313
 *         cdef float thickness = self.thickness
 *         cdef float radius = self.radius
 *         if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *             if thickness > 0:
 *                 thickness *= self.context._viewport.thickness_multiplier
 */
  }

  /* "dearcygui/core.pyx":3318
 *             if radius > 0:
 *                 radius *= self.context._viewport.size_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 *         radius = abs(radius)
 * 
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3319
 *                 radius *= self.context._viewport.size_multiplier
 *         thickness = abs(thickness)
 *         radius = abs(radius)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] center
 */
  __pyx_v_radius = fabsf(__pyx_v_radius);

  /* "dearcygui/core.pyx":3322
 * 
 *         cdef float[2] center
 *         self.context._viewport.apply_current_transform(center, self.center)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 icenter = imgui.ImVec2(center[0], center[1])
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_center, __pyx_v_self->center);

  /* "dearcygui/core.pyx":3323
 *         cdef float[2] center
 *         self.context._viewport.apply_current_transform(center, self.center)
 *         cdef imgui.ImVec2 icenter = imgui.ImVec2(center[0], center[1])             # <<<<<<<<<<<<<<
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             drawlist.AddCircleFilled(icenter, radius, self.fill, self.segments)
 */
  __pyx_v_icenter = ImVec2((__pyx_v_center[0]), (__pyx_v_center[1]));

  /* "dearcygui/core.pyx":3324
 *         self.context._viewport.apply_current_transform(center, self.center)
 *         cdef imgui.ImVec2 icenter = imgui.ImVec2(center[0], center[1])
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             drawlist.AddCircleFilled(icenter, radius, self.fill, self.segments)
 *         drawlist.AddCircle(icenter, radius, self.color, self.segments, thickness)
 */
  __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3325
 *         cdef imgui.ImVec2 icenter = imgui.ImVec2(center[0], center[1])
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             drawlist.AddCircleFilled(icenter, radius, self.fill, self.segments)             # <<<<<<<<<<<<<<
 *         drawlist.AddCircle(icenter, radius, self.color, self.segments, thickness)
 * 
 */
    __pyx_v_drawlist->AddCircleFilled(__pyx_v_icenter, __pyx_v_radius, __pyx_v_self->fill, __pyx_v_self->segments);

    /* "dearcygui/core.pyx":3324
 *         self.context._viewport.apply_current_transform(center, self.center)
 *         cdef imgui.ImVec2 icenter = imgui.ImVec2(center[0], center[1])
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             drawlist.AddCircleFilled(icenter, radius, self.fill, self.segments)
 *         drawlist.AddCircle(icenter, radius, self.color, self.segments, thickness)
 */
  }

  /* "dearcygui/core.pyx":3326
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             drawlist.AddCircleFilled(icenter, radius, self.fill, self.segments)
 *         drawlist.AddCircle(icenter, radius, self.color, self.segments, thickness)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_drawlist->AddCircle(__pyx_v_icenter, __pyx_v_radius, __pyx_v_self->color, __pyx_v_self->segments, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3304
 *         self.segments = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DrawCircle__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DrawCircle__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawCircle__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DrawCircle__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawCircle__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawCircle_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DrawCircle__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawCircle_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11DrawCircle__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11DrawCircle__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawCircle__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11DrawCircle__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11DrawCircle__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawCircle_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11DrawCircle__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawCircle_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawCircle_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3333
 *     # But these deserves rewrite: call the imgui Ellipse functions instead
 *     # and add rotation parameter
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # pmin/pmax is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12DrawEllipse__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12DrawEllipse__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawEllipse____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12DrawEllipse____cinit__(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3335
 *     def __cinit__(self):
 *         # pmin/pmax is zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.thickness = 1.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3336
 *         # pmin/pmax is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.segments = 0
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3337
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.segments = 0
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3338
 *         self.fill = 0
 *         self.thickness = 1.
 *         self.segments = 0             # <<<<<<<<<<<<<<
 * 
 *     cdef void __fill_points(self):
 */
  __pyx_v_self->segments = 0;

  /* "dearcygui/core.pyx":3333
 *     # But these deserves rewrite: call the imgui Ellipse functions instead
 *     # and add rotation parameter
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # pmin/pmax is zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3340
 *         self.segments = 0
 * 
 *     cdef void __fill_points(self):             # <<<<<<<<<<<<<<
 *         cdef int segments = max(self.segments, 3)
 *         cdef double width = self.pmax[0] - self.pmin[0]
 */

static void __pyx_f_9dearcygui_4core_12DrawEllipse___DrawEllipse___fill_points(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self) {
  int __pyx_v_segments;
  double __pyx_v_width;
  double __pyx_v_height;
  double __pyx_v_cx;
  double __pyx_v_cy;
  double __pyx_v_radian_inc;
  int __pyx_v_i;
  double4 __pyx_v_p;
  long __pyx_t_1;
  int __pyx_t_2;
  long __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  double __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":3341
 * 
 *     cdef void __fill_points(self):
 *         cdef int segments = max(self.segments, 3)             # <<<<<<<<<<<<<<
 *         cdef double width = self.pmax[0] - self.pmin[0]
 *         cdef double height = self.pmax[1] - self.pmin[1]
 */
  __pyx_t_1 = 3;
  __pyx_t_2 = __pyx_v_self->segments;
  __pyx_t_4 = (__pyx_t_1 > __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_segments = __pyx_t_3;

  /* "dearcygui/core.pyx":3342
 *     cdef void __fill_points(self):
 *         cdef int segments = max(self.segments, 3)
 *         cdef double width = self.pmax[0] - self.pmin[0]             # <<<<<<<<<<<<<<
 *         cdef double height = self.pmax[1] - self.pmin[1]
 *         cdef double cx = width / 2. + self.pmin[0]
 */
  __pyx_v_width = ((__pyx_v_self->pmax[0]) - (__pyx_v_self->pmin[0]));

  /* "dearcygui/core.pyx":3343
 *         cdef int segments = max(self.segments, 3)
 *         cdef double width = self.pmax[0] - self.pmin[0]
 *         cdef double height = self.pmax[1] - self.pmin[1]             # <<<<<<<<<<<<<<
 *         cdef double cx = width / 2. + self.pmin[0]
 *         cdef double cy = height / 2. + self.pmin[1]
 */
  __pyx_v_height = ((__pyx_v_self->pmax[1]) - (__pyx_v_self->pmin[1]));

  /* "dearcygui/core.pyx":3344
 *         cdef double width = self.pmax[0] - self.pmin[0]
 *         cdef double height = self.pmax[1] - self.pmin[1]
 *         cdef double cx = width / 2. + self.pmin[0]             # <<<<<<<<<<<<<<
 *         cdef double cy = height / 2. + self.pmin[1]
 *         cdef double radian_inc = (M_PI * 2.) / <double>segments
 */
  __pyx_v_cx = ((__pyx_v_width / 2.) + (__pyx_v_self->pmin[0]));

  /* "dearcygui/core.pyx":3345
 *         cdef double height = self.pmax[1] - self.pmin[1]
 *         cdef double cx = width / 2. + self.pmin[0]
 *         cdef double cy = height / 2. + self.pmin[1]             # <<<<<<<<<<<<<<
 *         cdef double radian_inc = (M_PI * 2.) / <double>segments
 *         self.points.clear()
 */
  __pyx_v_cy = ((__pyx_v_height / 2.) + (__pyx_v_self->pmin[1]));

  /* "dearcygui/core.pyx":3346
 *         cdef double cx = width / 2. + self.pmin[0]
 *         cdef double cy = height / 2. + self.pmin[1]
 *         cdef double radian_inc = (M_PI * 2.) / <double>segments             # <<<<<<<<<<<<<<
 *         self.points.clear()
 *         self.points.reserve(segments+1)
 */
  __pyx_v_radian_inc = ((M_PI * 2.) / ((double)__pyx_v_segments));

  /* "dearcygui/core.pyx":3347
 *         cdef double cy = height / 2. + self.pmin[1]
 *         cdef double radian_inc = (M_PI * 2.) / <double>segments
 *         self.points.clear()             # <<<<<<<<<<<<<<
 *         self.points.reserve(segments+1)
 *         cdef int i
 */
  __pyx_v_self->points.clear();

  /* "dearcygui/core.pyx":3348
 *         cdef double radian_inc = (M_PI * 2.) / <double>segments
 *         self.points.clear()
 *         self.points.reserve(segments+1)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         # vector needs double4 rather than double[4]
 */
  try {
    __pyx_v_self->points.reserve((__pyx_v_segments + 1));
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3348, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3352
 *         # vector needs double4 rather than double[4]
 *         cdef double4 p
 *         width = abs(width)             # <<<<<<<<<<<<<<
 *         height = abs(height)
 *         for i in range(segments):
 */
  __pyx_v_width = fabs(__pyx_v_width);

  /* "dearcygui/core.pyx":3353
 *         cdef double4 p
 *         width = abs(width)
 *         height = abs(height)             # <<<<<<<<<<<<<<
 *         for i in range(segments):
 *             p.p[0] = cx + cos(<double>i * radian_inc) * width / 2.
 */
  __pyx_v_height = fabs(__pyx_v_height);

  /* "dearcygui/core.pyx":3354
 *         width = abs(width)
 *         height = abs(height)
 *         for i in range(segments):             # <<<<<<<<<<<<<<
 *             p.p[0] = cx + cos(<double>i * radian_inc) * width / 2.
 *             p.p[1] = cy - sin(<double>i * radian_inc) * height / 2.
 */
  __pyx_t_2 = __pyx_v_segments;
  __pyx_t_5 = __pyx_t_2;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":3355
 *         height = abs(height)
 *         for i in range(segments):
 *             p.p[0] = cx + cos(<double>i * radian_inc) * width / 2.             # <<<<<<<<<<<<<<
 *             p.p[1] = cy - sin(<double>i * radian_inc) * height / 2.
 *             self.points.push_back(p)
 */
    try {
      __pyx_t_7 = std::cos((((double)__pyx_v_i) * __pyx_v_radian_inc));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3355, __pyx_L1_error)
    }
    (__pyx_v_p.p[0]) = (__pyx_v_cx + ((__pyx_t_7 * __pyx_v_width) / 2.));

    /* "dearcygui/core.pyx":3356
 *         for i in range(segments):
 *             p.p[0] = cx + cos(<double>i * radian_inc) * width / 2.
 *             p.p[1] = cy - sin(<double>i * radian_inc) * height / 2.             # <<<<<<<<<<<<<<
 *             self.points.push_back(p)
 *         self.points.push_back(self.points[0])
 */
    try {
      __pyx_t_7 = std::sin((((double)__pyx_v_i) * __pyx_v_radian_inc));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3356, __pyx_L1_error)
    }
    (__pyx_v_p.p[1]) = (__pyx_v_cy - ((__pyx_t_7 * __pyx_v_height) / 2.));

    /* "dearcygui/core.pyx":3357
 *             p.p[0] = cx + cos(<double>i * radian_inc) * width / 2.
 *             p.p[1] = cy - sin(<double>i * radian_inc) * height / 2.
 *             self.points.push_back(p)             # <<<<<<<<<<<<<<
 *         self.points.push_back(self.points[0])
 * 
 */
    try {
      __pyx_v_self->points.push_back(__pyx_v_p);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 3357, __pyx_L1_error)
    }
  }

  /* "dearcygui/core.pyx":3358
 *             p.p[1] = cy - sin(<double>i * radian_inc) * height / 2.
 *             self.points.push_back(p)
 *         self.points.push_back(self.points[0])             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  try {
    __pyx_v_self->points.push_back((__pyx_v_self->points[0]));
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(1, 3358, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3340
 *         self.segments = 0
 * 
 *     cdef void __fill_points(self):             # <<<<<<<<<<<<<<
 *         cdef int segments = max(self.segments, 3)
 *         cdef double width = self.pmax[0] - self.pmin[0]
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawEllipse_._DrawEllipse___fill_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}

/* "dearcygui/core.pyx":3360
 *         self.points.push_back(self.points[0])
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_12DrawEllipse__draw(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  std::vector<ImVec2>  __pyx_v_transformed_points;
  int __pyx_v_i;
  float __pyx_v_p[2];
  int __pyx_t_1;
  int __pyx_t_2;
  float __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":3362
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 3:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3363
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show) or self.points.size() < 3:
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawEllipse_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3364
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 3:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._show);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->points.size() < 3);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3365
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 3:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3364
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 3:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3367
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_3 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_3;

  /* "dearcygui/core.pyx":3368
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3369
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3368
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3370
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef vector[imgui.ImVec2] transformed_points
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3373
 * 
 *         cdef vector[imgui.ImVec2] transformed_points
 *         transformed_points.reserve(self.points.size())             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef float[2] p
 */
  try {
    __pyx_v_transformed_points.reserve(__pyx_v_self->points.size());
  } catch(...) {
    #ifdef WITH_THREAD
    PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
    #endif
    __Pyx_CppExn2PyErr();
    #ifdef WITH_THREAD
    __Pyx_PyGILState_Release(__pyx_gilstate_save);
    #endif
    __PYX_ERR(1, 3373, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3376
 *         cdef int i
 *         cdef float[2] p
 *         for i in range(<int>self.points.size()):             # <<<<<<<<<<<<<<
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             transformed_points.push_back(imgui.ImVec2(p[0], p[1]))
 */
  __pyx_t_4 = ((int)__pyx_v_self->points.size());
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":3377
 *         cdef float[2] p
 *         for i in range(<int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)             # <<<<<<<<<<<<<<
 *             transformed_points.push_back(imgui.ImVec2(p[0], p[1]))
 *         # TODO imgui requires clockwise order for correct AA
 */
    __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, (__pyx_v_self->points[__pyx_v_i]).p);

    /* "dearcygui/core.pyx":3378
 *         for i in range(<int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             transformed_points.push_back(imgui.ImVec2(p[0], p[1]))             # <<<<<<<<<<<<<<
 *         # TODO imgui requires clockwise order for correct AA
 *         # Reverse order if needed
 */
    try {
      __pyx_v_transformed_points.push_back(ImVec2((__pyx_v_p[0]), (__pyx_v_p[1])));
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3378, __pyx_L1_error)
    }
  }

  /* "dearcygui/core.pyx":3381
 *         # TODO imgui requires clockwise order for correct AA
 *         # Reverse order if needed
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             drawlist.AddConvexPolyFilled(transformed_points.data(),
 *                                                 <int>transformed_points.size(),
 */
  __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3382
 *         # Reverse order if needed
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             drawlist.AddConvexPolyFilled(transformed_points.data(),             # <<<<<<<<<<<<<<
 *                                                 <int>transformed_points.size(),
 *                                                 self.fill)
 */
    __pyx_v_drawlist->AddConvexPolyFilled(__pyx_v_transformed_points.data(), ((int)__pyx_v_transformed_points.size()), __pyx_v_self->fill);

    /* "dearcygui/core.pyx":3381
 *         # TODO imgui requires clockwise order for correct AA
 *         # Reverse order if needed
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             drawlist.AddConvexPolyFilled(transformed_points.data(),
 *                                                 <int>transformed_points.size(),
 */
  }

  /* "dearcygui/core.pyx":3385
 *                                                 <int>transformed_points.size(),
 *                                                 self.fill)
 *         drawlist.AddPolyline(transformed_points.data(),             # <<<<<<<<<<<<<<
 *                                     <int>transformed_points.size(),
 *                                     self.color,
 */
  __pyx_v_drawlist->AddPolyline(__pyx_v_transformed_points.data(), ((int)__pyx_v_transformed_points.size()), __pyx_v_self->color, 0, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3360
 *         self.points.push_back(self.points[0])
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.DrawEllipse_.draw", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawEllipse__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawEllipse__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawEllipse__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawEllipse__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawEllipse__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawEllipse__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawEllipse_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawEllipse__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawEllipse__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawEllipse__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawEllipse__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawEllipse__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawEllipse__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawEllipse_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3393
 * 
 * cdef class DrawImage_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.uv = [0., 0., 1., 1.]
 *         self.color_multiplier = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10DrawImage__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10DrawImage__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawImage____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawImage_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10DrawImage____cinit__(struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self) {
  int __pyx_r;
  float __pyx_t_1[4];

  /* "dearcygui/core.pyx":3394
 * cdef class DrawImage_(drawingItem):
 *     def __cinit__(self):
 *         self.uv = [0., 0., 1., 1.]             # <<<<<<<<<<<<<<
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 */
  __pyx_t_1[0] = 0.;
  __pyx_t_1[1] = 0.;
  __pyx_t_1[2] = 1.;
  __pyx_t_1[3] = 1.;
  memcpy(&(__pyx_v_self->uv[0]), __pyx_t_1, sizeof(__pyx_v_self->uv[0]) * (4));

  /* "dearcygui/core.pyx":3395
 *     def __cinit__(self):
 *         self.uv = [0., 0., 1., 1.]
 *         self.color_multiplier = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->color_multiplier = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3393
 * 
 * cdef class DrawImage_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.uv = [0., 0., 1., 1.]
 *         self.color_multiplier = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3397
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_10DrawImage__draw(struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  float __pyx_v_pmin[2];
  float __pyx_v_pmax[2];
  ImVec2 __pyx_v_ipmin;
  ImVec2 __pyx_v_ipmax;
  ImVec2 __pyx_v_uvmin;
  ImVec2 __pyx_v_uvmax;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":3399
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3400
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawImage_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3401
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.texture is None:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3402
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 *         if self.texture is None:
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3401
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.texture is None:
 */
  }

  /* "dearcygui/core.pyx":3403
 *         if not(self._show):
 *             return
 *         if self.texture is None:             # <<<<<<<<<<<<<<
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->texture) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3404
 *             return
 *         if self.texture is None:
 *             return             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3403
 *         if not(self._show):
 *             return
 *         if self.texture is None:             # <<<<<<<<<<<<<<
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 */
  }

  /* "dearcygui/core.pyx":3405
 *         if self.texture is None:
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)             # <<<<<<<<<<<<<<
 *         if self.texture.allocated_texture == NULL:
 *             return
 */
  __pyx_v_m2 = std::unique_lock<std::recursive_mutex> (__pyx_v_self->texture->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3406
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (__pyx_v_self->texture->allocated_texture == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3407
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] pmin
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3406
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3411
 *         cdef float[2] pmin
 *         cdef float[2] pmax
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         cdef imgui.ImVec2 ipmin = imgui.ImVec2(pmin[0], pmin[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_pmin, __pyx_v_self->pmin);

  /* "dearcygui/core.pyx":3412
 *         cdef float[2] pmax
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ipmin = imgui.ImVec2(pmin[0], pmin[1])
 *         cdef imgui.ImVec2 ipmax = imgui.ImVec2(pmax[0], pmax[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_pmax, __pyx_v_self->pmax);

  /* "dearcygui/core.pyx":3413
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         cdef imgui.ImVec2 ipmin = imgui.ImVec2(pmin[0], pmin[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ipmax = imgui.ImVec2(pmax[0], pmax[1])
 *         cdef imgui.ImVec2 uvmin = imgui.ImVec2(self.uv[0], self.uv[1])
 */
  __pyx_v_ipmin = ImVec2((__pyx_v_pmin[0]), (__pyx_v_pmin[1]));

  /* "dearcygui/core.pyx":3414
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         cdef imgui.ImVec2 ipmin = imgui.ImVec2(pmin[0], pmin[1])
 *         cdef imgui.ImVec2 ipmax = imgui.ImVec2(pmax[0], pmax[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 uvmin = imgui.ImVec2(self.uv[0], self.uv[1])
 *         cdef imgui.ImVec2 uvmax = imgui.ImVec2(self.uv[2], self.uv[3])
 */
  __pyx_v_ipmax = ImVec2((__pyx_v_pmax[0]), (__pyx_v_pmax[1]));

  /* "dearcygui/core.pyx":3415
 *         cdef imgui.ImVec2 ipmin = imgui.ImVec2(pmin[0], pmin[1])
 *         cdef imgui.ImVec2 ipmax = imgui.ImVec2(pmax[0], pmax[1])
 *         cdef imgui.ImVec2 uvmin = imgui.ImVec2(self.uv[0], self.uv[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 uvmax = imgui.ImVec2(self.uv[2], self.uv[3])
 *         drawlist.AddImage(self.texture.allocated_texture, ipmin, ipmax, uvmin, uvmax, self.color_multiplier)
 */
  __pyx_v_uvmin = ImVec2((__pyx_v_self->uv[0]), (__pyx_v_self->uv[1]));

  /* "dearcygui/core.pyx":3416
 *         cdef imgui.ImVec2 ipmax = imgui.ImVec2(pmax[0], pmax[1])
 *         cdef imgui.ImVec2 uvmin = imgui.ImVec2(self.uv[0], self.uv[1])
 *         cdef imgui.ImVec2 uvmax = imgui.ImVec2(self.uv[2], self.uv[3])             # <<<<<<<<<<<<<<
 *         drawlist.AddImage(self.texture.allocated_texture, ipmin, ipmax, uvmin, uvmax, self.color_multiplier)
 * 
 */
  __pyx_v_uvmax = ImVec2((__pyx_v_self->uv[2]), (__pyx_v_self->uv[3]));

  /* "dearcygui/core.pyx":3417
 *         cdef imgui.ImVec2 uvmin = imgui.ImVec2(self.uv[0], self.uv[1])
 *         cdef imgui.ImVec2 uvmax = imgui.ImVec2(self.uv[2], self.uv[3])
 *         drawlist.AddImage(self.texture.allocated_texture, ipmin, ipmax, uvmin, uvmax, self.color_multiplier)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_drawlist->AddImage(__pyx_v_self->texture->allocated_texture, __pyx_v_ipmin, __pyx_v_ipmax, __pyx_v_uvmin, __pyx_v_uvmax, __pyx_v_self->color_multiplier);

  /* "dearcygui/core.pyx":3397
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawImage__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawImage__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawImage__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawImage__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawImage__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawImage_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawImage__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawImage_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawImage__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawImage__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawImage__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawImage__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawImage__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawImage_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawImage__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImage_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawImage_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3421
 * 
 * cdef class DrawImageQuad_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.uv1 = [0., 0.]
 *         self.uv2 = [0., 0.]
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14DrawImageQuad__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_14DrawImageQuad__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_14DrawImageQuad____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14DrawImageQuad____cinit__(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self) {
  int __pyx_r;
  float __pyx_t_1[2];
  float __pyx_t_2[2];
  float __pyx_t_3[2];
  float __pyx_t_4[2];

  /* "dearcygui/core.pyx":3422
 * cdef class DrawImageQuad_(drawingItem):
 *     def __cinit__(self):
 *         self.uv1 = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.uv2 = [0., 0.]
 *         self.uv3 = [0., 0.]
 */
  __pyx_t_1[0] = 0.;
  __pyx_t_1[1] = 0.;
  memcpy(&(__pyx_v_self->uv1[0]), __pyx_t_1, sizeof(__pyx_v_self->uv1[0]) * (2));

  /* "dearcygui/core.pyx":3423
 *     def __cinit__(self):
 *         self.uv1 = [0., 0.]
 *         self.uv2 = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.uv3 = [0., 0.]
 *         self.uv4 = [0., 0.]
 */
  __pyx_t_2[0] = 0.;
  __pyx_t_2[1] = 0.;
  memcpy(&(__pyx_v_self->uv2[0]), __pyx_t_2, sizeof(__pyx_v_self->uv2[0]) * (2));

  /* "dearcygui/core.pyx":3424
 *         self.uv1 = [0., 0.]
 *         self.uv2 = [0., 0.]
 *         self.uv3 = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.uv4 = [0., 0.]
 *         self.color_multiplier = 4294967295 # 0xffffffff
 */
  __pyx_t_3[0] = 0.;
  __pyx_t_3[1] = 0.;
  memcpy(&(__pyx_v_self->uv3[0]), __pyx_t_3, sizeof(__pyx_v_self->uv3[0]) * (2));

  /* "dearcygui/core.pyx":3425
 *         self.uv2 = [0., 0.]
 *         self.uv3 = [0., 0.]
 *         self.uv4 = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 */
  __pyx_t_4[0] = 0.;
  __pyx_t_4[1] = 0.;
  memcpy(&(__pyx_v_self->uv4[0]), __pyx_t_4, sizeof(__pyx_v_self->uv4[0]) * (2));

  /* "dearcygui/core.pyx":3426
 *         self.uv3 = [0., 0.]
 *         self.uv4 = [0., 0.]
 *         self.color_multiplier = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->color_multiplier = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3421
 * 
 * cdef class DrawImageQuad_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.uv1 = [0., 0.]
 *         self.uv2 = [0., 0.]
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3428
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_14DrawImageQuad__draw(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  float __pyx_v_p3[2];
  float __pyx_v_p4[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  ImVec2 __pyx_v_ip3;
  ImVec2 __pyx_v_ip4;
  ImVec2 __pyx_v_iuv1;
  ImVec2 __pyx_v_iuv2;
  ImVec2 __pyx_v_iuv3;
  ImVec2 __pyx_v_iuv4;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":3430
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3431
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawImageQuad_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3432
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.texture is None:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3433
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 *         if self.texture is None:
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3432
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.texture is None:
 */
  }

  /* "dearcygui/core.pyx":3434
 *         if not(self._show):
 *             return
 *         if self.texture is None:             # <<<<<<<<<<<<<<
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->texture) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3435
 *             return
 *         if self.texture is None:
 *             return             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3434
 *         if not(self._show):
 *             return
 *         if self.texture is None:             # <<<<<<<<<<<<<<
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 */
  }

  /* "dearcygui/core.pyx":3436
 *         if self.texture is None:
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)             # <<<<<<<<<<<<<<
 *         if self.texture.allocated_texture == NULL:
 *             return
 */
  __pyx_v_m2 = std::unique_lock<std::recursive_mutex> (__pyx_v_self->texture->__pyx_base.mutex);

  /* "dearcygui/core.pyx":3437
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (__pyx_v_self->texture->allocated_texture == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3438
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3437
 *             return
 *         cdef unique_lock[recursive_mutex] m2 = unique_lock[recursive_mutex](self.texture.mutex)
 *         if self.texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3449
 *         cdef imgui.ImVec2 ip4
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3450
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3451
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p3, __pyx_v_self->p3);

  /* "dearcygui/core.pyx":3452
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)             # <<<<<<<<<<<<<<
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p4, __pyx_v_self->p4);

  /* "dearcygui/core.pyx":3453
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3454
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3455
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])             # <<<<<<<<<<<<<<
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 *         cdef imgui.ImVec2 iuv1 = imgui.ImVec2(self.uv1[0], self.uv1[1])
 */
  __pyx_v_ip3 = ImVec2((__pyx_v_p3[0]), (__pyx_v_p3[1]));

  /* "dearcygui/core.pyx":3456
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ip4 = imgui.ImVec2(p4[0], p4[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 iuv1 = imgui.ImVec2(self.uv1[0], self.uv1[1])
 *         cdef imgui.ImVec2 iuv2 = imgui.ImVec2(self.uv2[0], self.uv2[1])
 */
  __pyx_v_ip4 = ImVec2((__pyx_v_p4[0]), (__pyx_v_p4[1]));

  /* "dearcygui/core.pyx":3457
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 *         cdef imgui.ImVec2 iuv1 = imgui.ImVec2(self.uv1[0], self.uv1[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 iuv2 = imgui.ImVec2(self.uv2[0], self.uv2[1])
 *         cdef imgui.ImVec2 iuv3 = imgui.ImVec2(self.uv3[0], self.uv3[1])
 */
  __pyx_v_iuv1 = ImVec2((__pyx_v_self->uv1[0]), (__pyx_v_self->uv1[1]));

  /* "dearcygui/core.pyx":3458
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 *         cdef imgui.ImVec2 iuv1 = imgui.ImVec2(self.uv1[0], self.uv1[1])
 *         cdef imgui.ImVec2 iuv2 = imgui.ImVec2(self.uv2[0], self.uv2[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 iuv3 = imgui.ImVec2(self.uv3[0], self.uv3[1])
 *         cdef imgui.ImVec2 iuv4 = imgui.ImVec2(self.uv4[0], self.uv4[1])
 */
  __pyx_v_iuv2 = ImVec2((__pyx_v_self->uv2[0]), (__pyx_v_self->uv2[1]));

  /* "dearcygui/core.pyx":3459
 *         cdef imgui.ImVec2 iuv1 = imgui.ImVec2(self.uv1[0], self.uv1[1])
 *         cdef imgui.ImVec2 iuv2 = imgui.ImVec2(self.uv2[0], self.uv2[1])
 *         cdef imgui.ImVec2 iuv3 = imgui.ImVec2(self.uv3[0], self.uv3[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 iuv4 = imgui.ImVec2(self.uv4[0], self.uv4[1])
 *         drawlist.AddImageQuad(self.texture.allocated_texture, \
 */
  __pyx_v_iuv3 = ImVec2((__pyx_v_self->uv3[0]), (__pyx_v_self->uv3[1]));

  /* "dearcygui/core.pyx":3460
 *         cdef imgui.ImVec2 iuv2 = imgui.ImVec2(self.uv2[0], self.uv2[1])
 *         cdef imgui.ImVec2 iuv3 = imgui.ImVec2(self.uv3[0], self.uv3[1])
 *         cdef imgui.ImVec2 iuv4 = imgui.ImVec2(self.uv4[0], self.uv4[1])             # <<<<<<<<<<<<<<
 *         drawlist.AddImageQuad(self.texture.allocated_texture, \
 *             ip1, ip2, ip3, ip4, iuv1, iuv2, iuv3, iuv4, self.color_multiplier)
 */
  __pyx_v_iuv4 = ImVec2((__pyx_v_self->uv4[0]), (__pyx_v_self->uv4[1]));

  /* "dearcygui/core.pyx":3461
 *         cdef imgui.ImVec2 iuv3 = imgui.ImVec2(self.uv3[0], self.uv3[1])
 *         cdef imgui.ImVec2 iuv4 = imgui.ImVec2(self.uv4[0], self.uv4[1])
 *         drawlist.AddImageQuad(self.texture.allocated_texture, \             # <<<<<<<<<<<<<<
 *             ip1, ip2, ip3, ip4, iuv1, iuv2, iuv3, iuv4, self.color_multiplier)
 * 
 */
  __pyx_v_drawlist->AddImageQuad(__pyx_v_self->texture->allocated_texture, __pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_ip4, __pyx_v_iuv1, __pyx_v_iuv2, __pyx_v_iuv3, __pyx_v_iuv4, __pyx_v_self->color_multiplier);

  /* "dearcygui/core.pyx":3428
 *         self.color_multiplier = 4294967295 # 0xffffffff
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14DrawImageQuad__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14DrawImageQuad__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawImageQuad_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14DrawImageQuad__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14DrawImageQuad__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawImageQuad_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3467
 * 
 * cdef class DrawLine_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9DrawLine__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9DrawLine__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawLine____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawLine_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9DrawLine____cinit__(struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3469
 *     def __cinit__(self):
 *         # p1, p2 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 * 
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3470
 *         # p1, p2 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3467
 * 
 * cdef class DrawLine_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3472
 *         self.thickness = 1.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_9DrawLine__draw(struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3474
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3475
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawLine_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3476
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3477
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3476
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3479
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3480
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3481
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3480
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3482
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3486
 *         cdef float[2] p1
 *         cdef float[2] p2
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3487
 *         cdef float[2] p2
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3488
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3489
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 * 
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3490
 *         cdef imgui.ImVec2 ip1 = imgui.ImVec2(p1[0], p1[1])
 *         cdef imgui.ImVec2 ip2 = imgui.ImVec2(p2[0], p2[1])
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawPolyline_(drawingItem):
 */
  __pyx_v_drawlist->AddLine(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3472
 *         self.thickness = 1.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawLine__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawLine__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawLine__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawLine__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawLine__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawLine_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawLine__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawLine_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawLine__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawLine__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawLine__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawLine__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawLine__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawLine_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawLine__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawLine_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawLine_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3493
 * 
 * cdef class DrawPolyline_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13DrawPolyline__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_13DrawPolyline__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawPolyline____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13DrawPolyline____cinit__(struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3495
 *     def __cinit__(self):
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.closed = False
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3496
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.closed = False
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3497
 *         self.color = 4294967295 # 0xffffffff
 *         self.thickness = 1.
 *         self.closed = False             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->closed = 0;

  /* "dearcygui/core.pyx":3493
 * 
 * cdef class DrawPolyline_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3499
 *         self.closed = False
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_13DrawPolyline__draw(struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip1_;
  ImVec2 __pyx_v_ip2;
  int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  float __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;

  /* "dearcygui/core.pyx":3501
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3502
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show) or self.points.size() < 2:
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawPolyline_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3503
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._show);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->points.size() < 2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3504
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3503
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3506
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_3 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_3;

  /* "dearcygui/core.pyx":3507
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3508
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3507
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3509
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3515
 *         cdef imgui.ImVec2 ip1_
 *         cdef imgui.ImVec2 ip2
 *         self.context._viewport.apply_current_transform(p, self.points[0].p)             # <<<<<<<<<<<<<<
 *         ip1 = imgui.ImVec2(p[0], p[1])
 *         ip1_ = ip1
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, (__pyx_v_self->points[0]).p);

  /* "dearcygui/core.pyx":3516
 *         cdef imgui.ImVec2 ip2
 *         self.context._viewport.apply_current_transform(p, self.points[0].p)
 *         ip1 = imgui.ImVec2(p[0], p[1])             # <<<<<<<<<<<<<<
 *         ip1_ = ip1
 *         # imgui requires clockwise order + convexity for correct AA of AddPolyline
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p[0]), (__pyx_v_p[1]));

  /* "dearcygui/core.pyx":3517
 *         self.context._viewport.apply_current_transform(p, self.points[0].p)
 *         ip1 = imgui.ImVec2(p[0], p[1])
 *         ip1_ = ip1             # <<<<<<<<<<<<<<
 *         # imgui requires clockwise order + convexity for correct AA of AddPolyline
 *         # Thus we only call AddLine
 */
  __pyx_v_ip1_ = __pyx_v_ip1;

  /* "dearcygui/core.pyx":3521
 *         # Thus we only call AddLine
 *         cdef int i
 *         for i in range(1, <int>self.points.size()):             # <<<<<<<<<<<<<<
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip2 = imgui.ImVec2(p[0], p[1])
 */
  __pyx_t_4 = ((int)__pyx_v_self->points.size());
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 1; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":3522
 *         cdef int i
 *         for i in range(1, <int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)             # <<<<<<<<<<<<<<
 *             ip2 = imgui.ImVec2(p[0], p[1])
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)
 */
    __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, (__pyx_v_self->points[__pyx_v_i]).p);

    /* "dearcygui/core.pyx":3523
 *         for i in range(1, <int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip2 = imgui.ImVec2(p[0], p[1])             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)
 *             ip1 = ip2
 */
    __pyx_v_ip2 = ImVec2((__pyx_v_p[0]), (__pyx_v_p[1]));

    /* "dearcygui/core.pyx":3524
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip2 = imgui.ImVec2(p[0], p[1])
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)             # <<<<<<<<<<<<<<
 *             ip1 = ip2
 *         if self.closed and self.points.size() > 2:
 */
    __pyx_v_drawlist->AddLine(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_self->color, __pyx_v_thickness);

    /* "dearcygui/core.pyx":3525
 *             ip2 = imgui.ImVec2(p[0], p[1])
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)
 *             ip1 = ip2             # <<<<<<<<<<<<<<
 *         if self.closed and self.points.size() > 2:
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)
 */
    __pyx_v_ip1 = __pyx_v_ip2;
  }

  /* "dearcygui/core.pyx":3526
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)
 *             ip1 = ip2
 *         if self.closed and self.points.size() > 2:             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)
 * 
 */
  if (__pyx_v_self->closed) {
  } else {
    __pyx_t_1 = __pyx_v_self->closed;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->points.size() > 2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3527
 *             ip1 = ip2
 *         if self.closed and self.points.size() > 2:
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * cdef inline bint is_counter_clockwise(imgui.ImVec2 p1,
 */
    __pyx_v_drawlist->AddLine(__pyx_v_ip1_, __pyx_v_ip2, __pyx_v_self->color, __pyx_v_thickness);

    /* "dearcygui/core.pyx":3526
 *             drawlist.AddLine(ip1, ip2, self.color, thickness)
 *             ip1 = ip2
 *         if self.closed and self.points.size() > 2:             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)
 * 
 */
  }

  /* "dearcygui/core.pyx":3499
 *         self.closed = False
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13DrawPolyline__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13DrawPolyline__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawPolyline__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13DrawPolyline__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawPolyline__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13DrawPolyline__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawPolyline_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13DrawPolyline__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13DrawPolyline__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawPolyline__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13DrawPolyline__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawPolyline__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13DrawPolyline__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawPolyline_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3529
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)
 * 
 * cdef inline bint is_counter_clockwise(imgui.ImVec2 p1,             # <<<<<<<<<<<<<<
 *                                       imgui.ImVec2 p2,
 *                                       imgui.ImVec2 p3) noexcept nogil:
 */

static CYTHON_INLINE int __pyx_f_9dearcygui_4core_is_counter_clockwise(ImVec2 __pyx_v_p1, ImVec2 __pyx_v_p2, ImVec2 __pyx_v_p3) {
  float __pyx_v_det;
  int __pyx_r;

  /* "dearcygui/core.pyx":3532
 *                                       imgui.ImVec2 p2,
 *                                       imgui.ImVec2 p3) noexcept nogil:
 *     cdef float det = (p2.x - p1.x) * (p3.y - p1.y) - (p2.y - p1.y) * (p3.x - p1.x)             # <<<<<<<<<<<<<<
 *     return det > 0.
 * 
 */
  __pyx_v_det = (((__pyx_v_p2.x - __pyx_v_p1.x) * (__pyx_v_p3.y - __pyx_v_p1.y)) - ((__pyx_v_p2.y - __pyx_v_p1.y) * (__pyx_v_p3.x - __pyx_v_p1.x)));

  /* "dearcygui/core.pyx":3533
 *                                       imgui.ImVec2 p3) noexcept nogil:
 *     cdef float det = (p2.x - p1.x) * (p3.y - p1.y) - (p2.y - p1.y) * (p3.x - p1.x)
 *     return det > 0.             # <<<<<<<<<<<<<<
 * 
 * cdef class DrawPolygon_(drawingItem):
 */
  __pyx_r = (__pyx_v_det > 0.);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3529
 *             drawlist.AddLine(ip1_, ip2, self.color, thickness)
 * 
 * cdef inline bint is_counter_clockwise(imgui.ImVec2 p1,             # <<<<<<<<<<<<<<
 *                                       imgui.ImVec2 p2,
 *                                       imgui.ImVec2 p3) noexcept nogil:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3536
 * 
 * cdef class DrawPolygon_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12DrawPolygon__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12DrawPolygon__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawPolygon____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12DrawPolygon____cinit__(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3538
 *     def __cinit__(self):
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.thickness = 1.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3539
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 * 
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3540
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 * 
 *     # ImGui Polygon fill requires clockwise order and convex polygon.
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3536
 * 
 * cdef class DrawPolygon_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # points is empty init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3544
 *     # ImGui Polygon fill requires clockwise order and convex polygon.
 *     # We want to be more lenient -> triangulate
 *     cdef void __triangulate(self):             # <<<<<<<<<<<<<<
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             return
 */

static void __pyx_f_9dearcygui_4core_12DrawPolygon___DrawPolygon___triangulate(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self) {
  PyObject *__pyx_v_points = 0;
  int __pyx_v_i;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  unsigned int __pyx_t_9;
  __Pyx_memviewslice __pyx_t_10 = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_DrawPolygon___triangulate", 1);

  /* "dearcygui/core.pyx":3545
 *     # We want to be more lenient -> triangulate
 *     cdef void __triangulate(self):
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             return
 *         # TODO: optimize with arrays
 */
  __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3546
 *     cdef void __triangulate(self):
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             return             # <<<<<<<<<<<<<<
 *         # TODO: optimize with arrays
 *         points = []
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3545
 *     # We want to be more lenient -> triangulate
 *     cdef void __triangulate(self):
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             return
 *         # TODO: optimize with arrays
 */
  }

  /* "dearcygui/core.pyx":3548
 *             return
 *         # TODO: optimize with arrays
 *         points = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(<int>self.points.size()):
 */
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_points = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":3550
 *         points = []
 *         cdef int i
 *         for i in range(<int>self.points.size()):             # <<<<<<<<<<<<<<
 *             # For now perform only in 2D
 *             points.append([self.points[i].p[0], self.points[i].p[1]])
 */
  __pyx_t_3 = ((int)__pyx_v_self->points.size());
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "dearcygui/core.pyx":3552
 *         for i in range(<int>self.points.size()):
 *             # For now perform only in 2D
 *             points.append([self.points[i].p[0], self.points[i].p[1]])             # <<<<<<<<<<<<<<
 *         # order is counter clock-wise
 *         self.triangulation_indices = scipy.spatial.Delaunay(points).simplices
 */
    __pyx_t_2 = PyFloat_FromDouble(((__pyx_v_self->points[__pyx_v_i]).p[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = PyFloat_FromDouble(((__pyx_v_self->points[__pyx_v_i]).p[1])); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_2)) __PYX_ERR(1, 3552, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(1, 3552, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_t_6 = 0;
    __pyx_t_8 = __Pyx_PyObject_Append(__pyx_v_points, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 3552, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":3554
 *             points.append([self.points[i].p[0], self.points[i].p[1]])
 *         # order is counter clock-wise
 *         self.triangulation_indices = scipy.spatial.Delaunay(points).simplices             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_scipy); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_spatial); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Delaunay); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_points};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_simplices); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_6, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_self->triangulation_indices, 0);
  __pyx_v_self->triangulation_indices = __pyx_t_10;
  __pyx_t_10.memview = NULL;
  __pyx_t_10.data = NULL;

  /* "dearcygui/core.pyx":3544
 *     # ImGui Polygon fill requires clockwise order and convex polygon.
 *     # We want to be more lenient -> triangulate
 *     cdef void __triangulate(self):             # <<<<<<<<<<<<<<
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             return
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
  __Pyx_AddTraceback("dearcygui.core.DrawPolygon_._DrawPolygon___triangulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_points);
  __Pyx_RefNannyFinishContext();
}

/* "dearcygui/core.pyx":3556
 *         self.triangulation_indices = scipy.spatial.Delaunay(points).simplices
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_12DrawPolygon__draw(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p[2];
  ImVec2 __pyx_v_ip;
  std::vector<ImVec2>  __pyx_v_ipoints;
  int __pyx_v_i;
  int __pyx_v_ccw;
  int __pyx_t_1;
  int __pyx_t_2;
  float __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":3558
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3559
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show) or self.points.size() < 2:
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawPolygon_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3560
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._show);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->points.size() < 2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3561
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3560
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show) or self.points.size() < 2:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3563
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_3 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_3;

  /* "dearcygui/core.pyx":3564
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3565
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3564
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3566
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3573
 *         cdef int i
 *         cdef bint ccw
 *         ipoints.reserve(self.points.size())             # <<<<<<<<<<<<<<
 *         for i in range(<int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 */
  try {
    __pyx_v_ipoints.reserve(__pyx_v_self->points.size());
  } catch(...) {
    #ifdef WITH_THREAD
    PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
    #endif
    __Pyx_CppExn2PyErr();
    #ifdef WITH_THREAD
    __Pyx_PyGILState_Release(__pyx_gilstate_save);
    #endif
    __PYX_ERR(1, 3573, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":3574
 *         cdef bint ccw
 *         ipoints.reserve(self.points.size())
 *         for i in range(<int>self.points.size()):             # <<<<<<<<<<<<<<
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip = imgui.ImVec2(p[0], p[1])
 */
  __pyx_t_4 = ((int)__pyx_v_self->points.size());
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":3575
 *         ipoints.reserve(self.points.size())
 *         for i in range(<int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)             # <<<<<<<<<<<<<<
 *             ip = imgui.ImVec2(p[0], p[1])
 *             ipoints.push_back(ip)
 */
    __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, (__pyx_v_self->points[__pyx_v_i]).p);

    /* "dearcygui/core.pyx":3576
 *         for i in range(<int>self.points.size()):
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip = imgui.ImVec2(p[0], p[1])             # <<<<<<<<<<<<<<
 *             ipoints.push_back(ip)
 * 
 */
    __pyx_v_ip = ImVec2((__pyx_v_p[0]), (__pyx_v_p[1]));

    /* "dearcygui/core.pyx":3577
 *             self.context._viewport.apply_current_transform(p, self.points[i].p)
 *             ip = imgui.ImVec2(p[0], p[1])
 *             ipoints.push_back(ip)             # <<<<<<<<<<<<<<
 * 
 *         # Draw interior
 */
    try {
      __pyx_v_ipoints.push_back(__pyx_v_ip);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3577, __pyx_L1_error)
    }
  }

  /* "dearcygui/core.pyx":3580
 * 
 *         # Draw interior
 *         if self.fill & imgui.IM_COL32_A_MASK != 0 and self.triangulation_indices.shape[0] > 0:             # <<<<<<<<<<<<<<
 *             # imgui requires clockwise order + convexity for correct AA
 *             # The triangulation always returns counter-clockwise
 */
  __pyx_t_2 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->triangulation_indices.shape[0]) > 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3586
 *             # The order should be the same for all triangles, except in plot with log
 *             # scale.
 *             for i in range(self.triangulation_indices.shape[0]):             # <<<<<<<<<<<<<<
 *                 ccw = is_counter_clockwise(ipoints[self.triangulation_indices[i, 0]],
 *                                            ipoints[self.triangulation_indices[i, 1]],
 */
    __pyx_t_7 = (__pyx_v_self->triangulation_indices.shape[0]);
    __pyx_t_8 = __pyx_t_7;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_8; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":3587
 *             # scale.
 *             for i in range(self.triangulation_indices.shape[0]):
 *                 ccw = is_counter_clockwise(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                            ipoints[self.triangulation_indices[i, 1]],
 *                                            ipoints[self.triangulation_indices[i, 2]])
 */
      __pyx_t_9 = __pyx_v_i;
      __pyx_t_10 = 0;

      /* "dearcygui/core.pyx":3588
 *             for i in range(self.triangulation_indices.shape[0]):
 *                 ccw = is_counter_clockwise(ipoints[self.triangulation_indices[i, 0]],
 *                                            ipoints[self.triangulation_indices[i, 1]],             # <<<<<<<<<<<<<<
 *                                            ipoints[self.triangulation_indices[i, 2]])
 *                 if ccw:
 */
      __pyx_t_11 = __pyx_v_i;
      __pyx_t_12 = 1;

      /* "dearcygui/core.pyx":3589
 *                 ccw = is_counter_clockwise(ipoints[self.triangulation_indices[i, 0]],
 *                                            ipoints[self.triangulation_indices[i, 1]],
 *                                            ipoints[self.triangulation_indices[i, 2]])             # <<<<<<<<<<<<<<
 *                 if ccw:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 */
      __pyx_t_13 = __pyx_v_i;
      __pyx_t_14 = 2;

      /* "dearcygui/core.pyx":3587
 *             # scale.
 *             for i in range(self.triangulation_indices.shape[0]):
 *                 ccw = is_counter_clockwise(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                            ipoints[self.triangulation_indices[i, 1]],
 *                                            ipoints[self.triangulation_indices[i, 2]])
 */
      __pyx_v_ccw = __pyx_f_9dearcygui_4core_is_counter_clockwise((__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_9 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_10 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_11 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_12 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_13 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_14 * __pyx_v_self->triangulation_indices.strides[1]) )))]));

      /* "dearcygui/core.pyx":3590
 *                                            ipoints[self.triangulation_indices[i, 1]],
 *                                            ipoints[self.triangulation_indices[i, 2]])
 *                 if ccw:             # <<<<<<<<<<<<<<
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 */
      if (__pyx_v_ccw) {

        /* "dearcygui/core.pyx":3591
 *                                            ipoints[self.triangulation_indices[i, 2]])
 *                 if ccw:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 */
        __pyx_t_14 = __pyx_v_i;
        __pyx_t_13 = 0;

        /* "dearcygui/core.pyx":3592
 *                 if ccw:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 *                                                       self.fill)
 */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_11 = 2;

        /* "dearcygui/core.pyx":3593
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 *                                                       ipoints[self.triangulation_indices[i, 1]],             # <<<<<<<<<<<<<<
 *                                                       self.fill)
 *                 else:
 */
        __pyx_t_10 = __pyx_v_i;
        __pyx_t_9 = 1;

        /* "dearcygui/core.pyx":3591
 *                                            ipoints[self.triangulation_indices[i, 2]])
 *                 if ccw:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 */
        __pyx_v_drawlist->AddTriangleFilled((__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_14 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_13 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_12 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_11 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_10 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_9 * __pyx_v_self->triangulation_indices.strides[1]) )))]), __pyx_v_self->fill);

        /* "dearcygui/core.pyx":3590
 *                                            ipoints[self.triangulation_indices[i, 1]],
 *                                            ipoints[self.triangulation_indices[i, 2]])
 *                 if ccw:             # <<<<<<<<<<<<<<
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 */
        goto __pyx_L16;
      }

      /* "dearcygui/core.pyx":3596
 *                                                       self.fill)
 *                 else:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 */
      /*else*/ {
        __pyx_t_9 = __pyx_v_i;
        __pyx_t_10 = 0;

        /* "dearcygui/core.pyx":3597
 *                 else:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 1]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 *                                                       self.fill)
 */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = 1;

        /* "dearcygui/core.pyx":3598
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],             # <<<<<<<<<<<<<<
 *                                                       self.fill)
 * 
 */
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_14 = 2;

        /* "dearcygui/core.pyx":3596
 *                                                       self.fill)
 *                 else:
 *                     drawlist.AddTriangleFilled(ipoints[self.triangulation_indices[i, 0]],             # <<<<<<<<<<<<<<
 *                                                       ipoints[self.triangulation_indices[i, 1]],
 *                                                       ipoints[self.triangulation_indices[i, 2]],
 */
        __pyx_v_drawlist->AddTriangleFilled((__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_9 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_10 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_11 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_12 * __pyx_v_self->triangulation_indices.strides[1]) )))]), (__pyx_v_ipoints[(*((int *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->triangulation_indices.data + __pyx_t_13 * __pyx_v_self->triangulation_indices.strides[0]) ) + __pyx_t_14 * __pyx_v_self->triangulation_indices.strides[1]) )))]), __pyx_v_self->fill);
      }
      __pyx_L16:;
    }

    /* "dearcygui/core.pyx":3580
 * 
 *         # Draw interior
 *         if self.fill & imgui.IM_COL32_A_MASK != 0 and self.triangulation_indices.shape[0] > 0:             # <<<<<<<<<<<<<<
 *             # imgui requires clockwise order + convexity for correct AA
 *             # The triangulation always returns counter-clockwise
 */
  }

  /* "dearcygui/core.pyx":3604
 *         # imgui requires clockwise order + convexity for correct AA of AddPolyline
 *         # Thus we only call AddLine
 *         for i in range(1, <int>self.points.size()):             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ipoints[i-1], ipoints[i], self.color, thickness)
 *         if self.points.size() > 2:
 */
  __pyx_t_4 = ((int)__pyx_v_self->points.size());
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 1; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":3605
 *         # Thus we only call AddLine
 *         for i in range(1, <int>self.points.size()):
 *             drawlist.AddLine(ipoints[i-1], ipoints[i], self.color, thickness)             # <<<<<<<<<<<<<<
 *         if self.points.size() > 2:
 *             drawlist.AddLine(ipoints[0], ipoints[<int>self.points.size()-1], self.color, thickness)
 */
    __pyx_v_drawlist->AddLine((__pyx_v_ipoints[(__pyx_v_i - 1)]), (__pyx_v_ipoints[__pyx_v_i]), __pyx_v_self->color, __pyx_v_thickness);
  }

  /* "dearcygui/core.pyx":3606
 *         for i in range(1, <int>self.points.size()):
 *             drawlist.AddLine(ipoints[i-1], ipoints[i], self.color, thickness)
 *         if self.points.size() > 2:             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ipoints[0], ipoints[<int>self.points.size()-1], self.color, thickness)
 * 
 */
  __pyx_t_1 = (__pyx_v_self->points.size() > 2);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3607
 *             drawlist.AddLine(ipoints[i-1], ipoints[i], self.color, thickness)
 *         if self.points.size() > 2:
 *             drawlist.AddLine(ipoints[0], ipoints[<int>self.points.size()-1], self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_drawlist->AddLine((__pyx_v_ipoints[0]), (__pyx_v_ipoints[(((int)__pyx_v_self->points.size()) - 1)]), __pyx_v_self->color, __pyx_v_thickness);

    /* "dearcygui/core.pyx":3606
 *         for i in range(1, <int>self.points.size()):
 *             drawlist.AddLine(ipoints[i-1], ipoints[i], self.color, thickness)
 *         if self.points.size() > 2:             # <<<<<<<<<<<<<<
 *             drawlist.AddLine(ipoints[0], ipoints[<int>self.points.size()-1], self.color, thickness)
 * 
 */
  }

  /* "dearcygui/core.pyx":3556
 *         self.triangulation_indices = scipy.spatial.Delaunay(points).simplices
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.DrawPolygon_.draw", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawPolygon__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawPolygon__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawPolygon__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawPolygon__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawPolygon__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawPolygon__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawPolygon_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawPolygon__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawPolygon__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawPolygon__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawPolygon__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawPolygon__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawPolygon__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawPolygon_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3611
 * 
 * cdef class DrawQuad_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, p3, p4 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9DrawQuad__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9DrawQuad__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawQuad____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawQuad_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9DrawQuad____cinit__(struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3613
 *     def __cinit__(self):
 *         # p1, p2, p3, p4 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.thickness = 1.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3614
 *         # p1, p2, p3, p4 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 * 
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3615
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3611
 * 
 * cdef class DrawQuad_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, p3, p4 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3617
 *         self.thickness = 1.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_9DrawQuad__draw(struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  float __pyx_v_p3[2];
  float __pyx_v_p4[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  ImVec2 __pyx_v_ip3;
  ImVec2 __pyx_v_ip4;
  int __pyx_v_ccw;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3619
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3620
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawQuad_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3621
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3622
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3621
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3624
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3625
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3626
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3625
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3627
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3639
 *         cdef bint ccw
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3640
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3641
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p3, __pyx_v_self->p3);

  /* "dearcygui/core.pyx":3642
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)             # <<<<<<<<<<<<<<
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p4, __pyx_v_self->p4);

  /* "dearcygui/core.pyx":3643
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3644
 *         self.context._viewport.apply_current_transform(p4, self.p4)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3645
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])             # <<<<<<<<<<<<<<
 *         ip4 = imgui.ImVec2(p4[0], p4[1])
 * 
 */
  __pyx_v_ip3 = ImVec2((__pyx_v_p3[0]), (__pyx_v_p3[1]));

  /* "dearcygui/core.pyx":3646
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ip4 = imgui.ImVec2(p4[0], p4[1])             # <<<<<<<<<<<<<<
 * 
 *         # imgui requires clockwise order + convex for correct AA
 */
  __pyx_v_ip4 = ImVec2((__pyx_v_p4[0]), (__pyx_v_p4[1]));

  /* "dearcygui/core.pyx":3649
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             ccw = is_counter_clockwise(ip1,
 *                                        ip2,
 */
  __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3650
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:
 *             ccw = is_counter_clockwise(ip1,             # <<<<<<<<<<<<<<
 *                                        ip2,
 *                                        ip3)
 */
    __pyx_v_ccw = __pyx_f_9dearcygui_4core_is_counter_clockwise(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3);

    /* "dearcygui/core.pyx":3653
 *                                        ip2,
 *                                        ip3)
 *             if ccw:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             else:
 */
    if (__pyx_v_ccw) {

      /* "dearcygui/core.pyx":3654
 *                                        ip3)
 *             if ccw:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)             # <<<<<<<<<<<<<<
 *             else:
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)
 */
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip3, __pyx_v_ip2, __pyx_v_self->fill);

      /* "dearcygui/core.pyx":3653
 *                                        ip2,
 *                                        ip3)
 *             if ccw:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             else:
 */
      goto __pyx_L8;
    }

    /* "dearcygui/core.pyx":3656
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             else:
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)             # <<<<<<<<<<<<<<
 *             ccw = is_counter_clockwise(ip1,
 *                                        ip4,
 */
    /*else*/ {
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_self->fill);
    }
    __pyx_L8:;

    /* "dearcygui/core.pyx":3657
 *             else:
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)
 *             ccw = is_counter_clockwise(ip1,             # <<<<<<<<<<<<<<
 *                                        ip4,
 *                                        ip3)
 */
    __pyx_v_ccw = __pyx_f_9dearcygui_4core_is_counter_clockwise(__pyx_v_ip1, __pyx_v_ip4, __pyx_v_ip3);

    /* "dearcygui/core.pyx":3660
 *                                        ip4,
 *                                        ip3)
 *             if ccw:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip4, self.fill)
 *             else:
 */
    if (__pyx_v_ccw) {

      /* "dearcygui/core.pyx":3661
 *                                        ip3)
 *             if ccw:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip4, self.fill)             # <<<<<<<<<<<<<<
 *             else:
 *                 drawlist.AddTriangleFilled(ip1, ip4, ip3, self.fill)
 */
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip3, __pyx_v_ip4, __pyx_v_self->fill);

      /* "dearcygui/core.pyx":3660
 *                                        ip4,
 *                                        ip3)
 *             if ccw:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip4, self.fill)
 *             else:
 */
      goto __pyx_L9;
    }

    /* "dearcygui/core.pyx":3663
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip4, self.fill)
 *             else:
 *                 drawlist.AddTriangleFilled(ip1, ip4, ip3, self.fill)             # <<<<<<<<<<<<<<
 * 
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 */
    /*else*/ {
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip4, __pyx_v_ip3, __pyx_v_self->fill);
    }
    __pyx_L9:;

    /* "dearcygui/core.pyx":3649
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *             ccw = is_counter_clockwise(ip1,
 *                                        ip2,
 */
  }

  /* "dearcygui/core.pyx":3665
 *                 drawlist.AddTriangleFilled(ip1, ip4, ip3, self.fill)
 * 
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)             # <<<<<<<<<<<<<<
 *         drawlist.AddLine(ip2, ip3, self.color, thickness)
 *         drawlist.AddLine(ip3, ip4, self.color, thickness)
 */
  __pyx_v_drawlist->AddLine(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3666
 * 
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 *         drawlist.AddLine(ip2, ip3, self.color, thickness)             # <<<<<<<<<<<<<<
 *         drawlist.AddLine(ip3, ip4, self.color, thickness)
 *         drawlist.AddLine(ip4, ip1, self.color, thickness)
 */
  __pyx_v_drawlist->AddLine(__pyx_v_ip2, __pyx_v_ip3, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3667
 *         drawlist.AddLine(ip1, ip2, self.color, thickness)
 *         drawlist.AddLine(ip2, ip3, self.color, thickness)
 *         drawlist.AddLine(ip3, ip4, self.color, thickness)             # <<<<<<<<<<<<<<
 *         drawlist.AddLine(ip4, ip1, self.color, thickness)
 * 
 */
  __pyx_v_drawlist->AddLine(__pyx_v_ip3, __pyx_v_ip4, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3668
 *         drawlist.AddLine(ip2, ip3, self.color, thickness)
 *         drawlist.AddLine(ip3, ip4, self.color, thickness)
 *         drawlist.AddLine(ip4, ip1, self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_drawlist->AddLine(__pyx_v_ip4, __pyx_v_ip1, __pyx_v_self->color, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3617
 *         self.thickness = 1.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawQuad__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawQuad__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawQuad__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawQuad__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawQuad__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawQuad_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawQuad__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawQuad_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawQuad__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawQuad__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawQuad__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawQuad__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawQuad__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawQuad_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawQuad__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawQuad_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawQuad_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3672
 * 
 * cdef class DrawRect_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.pmin = [0., 0.]
 *         self.pmax = [1., 1.]
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9DrawRect__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9DrawRect__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawRect____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawRect_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9DrawRect____cinit__(struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self) {
  int __pyx_r;
  double __pyx_t_1[2];
  double __pyx_t_2[2];

  /* "dearcygui/core.pyx":3673
 * cdef class DrawRect_(drawingItem):
 *     def __cinit__(self):
 *         self.pmin = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.pmax = [1., 1.]
 *         self.color = 4294967295 # 0xffffffff
 */
  __pyx_t_1[0] = 0.;
  __pyx_t_1[1] = 0.;
  memcpy(&(__pyx_v_self->pmin[0]), __pyx_t_1, sizeof(__pyx_v_self->pmin[0]) * (2));

  /* "dearcygui/core.pyx":3674
 *     def __cinit__(self):
 *         self.pmin = [0., 0.]
 *         self.pmax = [1., 1.]             # <<<<<<<<<<<<<<
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 */
  __pyx_t_2[0] = 1.;
  __pyx_t_2[1] = 1.;
  memcpy(&(__pyx_v_self->pmax[0]), __pyx_t_2, sizeof(__pyx_v_self->pmax[0]) * (2));

  /* "dearcygui/core.pyx":3675
 *         self.pmin = [0., 0.]
 *         self.pmax = [1., 1.]
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.color_upper_left = 0
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3676
 *         self.pmax = [1., 1.]
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.color_upper_left = 0
 *         self.color_upper_right = 0
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3677
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.color_upper_left = 0             # <<<<<<<<<<<<<<
 *         self.color_upper_right = 0
 *         self.color_bottom_left = 0
 */
  __pyx_v_self->color_upper_left = 0;

  /* "dearcygui/core.pyx":3678
 *         self.fill = 0
 *         self.color_upper_left = 0
 *         self.color_upper_right = 0             # <<<<<<<<<<<<<<
 *         self.color_bottom_left = 0
 *         self.color_bottom_right = 0
 */
  __pyx_v_self->color_upper_right = 0;

  /* "dearcygui/core.pyx":3679
 *         self.color_upper_left = 0
 *         self.color_upper_right = 0
 *         self.color_bottom_left = 0             # <<<<<<<<<<<<<<
 *         self.color_bottom_right = 0
 *         self.rounding = 0.
 */
  __pyx_v_self->color_bottom_left = 0;

  /* "dearcygui/core.pyx":3680
 *         self.color_upper_right = 0
 *         self.color_bottom_left = 0
 *         self.color_bottom_right = 0             # <<<<<<<<<<<<<<
 *         self.rounding = 0.
 *         self.thickness = 1.
 */
  __pyx_v_self->color_bottom_right = 0;

  /* "dearcygui/core.pyx":3681
 *         self.color_bottom_left = 0
 *         self.color_bottom_right = 0
 *         self.rounding = 0.             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.multicolor = False
 */
  __pyx_v_self->rounding = 0.;

  /* "dearcygui/core.pyx":3682
 *         self.color_bottom_right = 0
 *         self.rounding = 0.
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.multicolor = False
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3683
 *         self.rounding = 0.
 *         self.thickness = 1.
 *         self.multicolor = False             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->multicolor = 0;

  /* "dearcygui/core.pyx":3672
 * 
 * cdef class DrawRect_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.pmin = [0., 0.]
 *         self.pmax = [1., 1.]
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3685
 *         self.multicolor = False
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_9DrawRect__draw(struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_pmin[2];
  float __pyx_v_pmax[2];
  ImVec2 __pyx_v_ipmin;
  ImVec2 __pyx_v_ipmax;
  ImU32 __pyx_v_col_up_left;
  ImU32 __pyx_v_col_up_right;
  ImU32 __pyx_v_col_bot_left;
  ImU32 __pyx_v_col_bot_right;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;
  ImU32 __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":3687
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3688
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawRect_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3689
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3690
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3689
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3692
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3693
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3694
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3693
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3695
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] pmin
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3701
 *         cdef imgui.ImVec2 ipmin
 *         cdef imgui.ImVec2 ipmax
 *         cdef imgui.ImU32 col_up_left = self.color_upper_left             # <<<<<<<<<<<<<<
 *         cdef imgui.ImU32 col_up_right = self.color_upper_right
 *         cdef imgui.ImU32 col_bot_left = self.color_bottom_left
 */
  __pyx_t_4 = __pyx_v_self->color_upper_left;
  __pyx_v_col_up_left = __pyx_t_4;

  /* "dearcygui/core.pyx":3702
 *         cdef imgui.ImVec2 ipmax
 *         cdef imgui.ImU32 col_up_left = self.color_upper_left
 *         cdef imgui.ImU32 col_up_right = self.color_upper_right             # <<<<<<<<<<<<<<
 *         cdef imgui.ImU32 col_bot_left = self.color_bottom_left
 *         cdef imgui.ImU32 col_bot_right = self.color_bottom_right
 */
  __pyx_t_4 = __pyx_v_self->color_upper_right;
  __pyx_v_col_up_right = __pyx_t_4;

  /* "dearcygui/core.pyx":3703
 *         cdef imgui.ImU32 col_up_left = self.color_upper_left
 *         cdef imgui.ImU32 col_up_right = self.color_upper_right
 *         cdef imgui.ImU32 col_bot_left = self.color_bottom_left             # <<<<<<<<<<<<<<
 *         cdef imgui.ImU32 col_bot_right = self.color_bottom_right
 * 
 */
  __pyx_t_4 = __pyx_v_self->color_bottom_left;
  __pyx_v_col_bot_left = __pyx_t_4;

  /* "dearcygui/core.pyx":3704
 *         cdef imgui.ImU32 col_up_right = self.color_upper_right
 *         cdef imgui.ImU32 col_bot_left = self.color_bottom_left
 *         cdef imgui.ImU32 col_bot_right = self.color_bottom_right             # <<<<<<<<<<<<<<
 * 
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)
 */
  __pyx_t_4 = __pyx_v_self->color_bottom_right;
  __pyx_v_col_bot_right = __pyx_t_4;

  /* "dearcygui/core.pyx":3706
 *         cdef imgui.ImU32 col_bot_right = self.color_bottom_right
 * 
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         ipmin = imgui.ImVec2(pmin[0], pmin[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_pmin, __pyx_v_self->pmin);

  /* "dearcygui/core.pyx":3707
 * 
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)             # <<<<<<<<<<<<<<
 *         ipmin = imgui.ImVec2(pmin[0], pmin[1])
 *         ipmax = imgui.ImVec2(pmax[0], pmax[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_pmax, __pyx_v_self->pmax);

  /* "dearcygui/core.pyx":3708
 *         self.context._viewport.apply_current_transform(pmin, self.pmin)
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         ipmin = imgui.ImVec2(pmin[0], pmin[1])             # <<<<<<<<<<<<<<
 *         ipmax = imgui.ImVec2(pmax[0], pmax[1])
 * 
 */
  __pyx_v_ipmin = ImVec2((__pyx_v_pmin[0]), (__pyx_v_pmin[1]));

  /* "dearcygui/core.pyx":3709
 *         self.context._viewport.apply_current_transform(pmax, self.pmax)
 *         ipmin = imgui.ImVec2(pmin[0], pmin[1])
 *         ipmax = imgui.ImVec2(pmax[0], pmax[1])             # <<<<<<<<<<<<<<
 * 
 *         # The transform might invert the order
 */
  __pyx_v_ipmax = ImVec2((__pyx_v_pmax[0]), (__pyx_v_pmax[1]));

  /* "dearcygui/core.pyx":3712
 * 
 *         # The transform might invert the order
 *         if ipmin.x > ipmax.x:             # <<<<<<<<<<<<<<
 *             swap(ipmin.x, ipmax.x)
 *             swap(col_up_left, col_up_right)
 */
  __pyx_t_1 = (__pyx_v_ipmin.x > __pyx_v_ipmax.x);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3713
 *         # The transform might invert the order
 *         if ipmin.x > ipmax.x:
 *             swap(ipmin.x, ipmax.x)             # <<<<<<<<<<<<<<
 *             swap(col_up_left, col_up_right)
 *             swap(col_bot_left, col_bot_right)
 */
    try {
      std::swap<float>(__pyx_v_ipmin.x, __pyx_v_ipmax.x);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3713, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3714
 *         if ipmin.x > ipmax.x:
 *             swap(ipmin.x, ipmax.x)
 *             swap(col_up_left, col_up_right)             # <<<<<<<<<<<<<<
 *             swap(col_bot_left, col_bot_right)
 *         if ipmin.y > ipmax.y:
 */
    try {
      std::swap<ImU32>(__pyx_v_col_up_left, __pyx_v_col_up_right);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3714, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3715
 *             swap(ipmin.x, ipmax.x)
 *             swap(col_up_left, col_up_right)
 *             swap(col_bot_left, col_bot_right)             # <<<<<<<<<<<<<<
 *         if ipmin.y > ipmax.y:
 *             swap(ipmin.y, ipmax.y)
 */
    try {
      std::swap<ImU32>(__pyx_v_col_bot_left, __pyx_v_col_bot_right);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3715, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3712
 * 
 *         # The transform might invert the order
 *         if ipmin.x > ipmax.x:             # <<<<<<<<<<<<<<
 *             swap(ipmin.x, ipmax.x)
 *             swap(col_up_left, col_up_right)
 */
  }

  /* "dearcygui/core.pyx":3716
 *             swap(col_up_left, col_up_right)
 *             swap(col_bot_left, col_bot_right)
 *         if ipmin.y > ipmax.y:             # <<<<<<<<<<<<<<
 *             swap(ipmin.y, ipmax.y)
 *             swap(col_up_left, col_bot_left)
 */
  __pyx_t_1 = (__pyx_v_ipmin.y > __pyx_v_ipmax.y);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3717
 *             swap(col_bot_left, col_bot_right)
 *         if ipmin.y > ipmax.y:
 *             swap(ipmin.y, ipmax.y)             # <<<<<<<<<<<<<<
 *             swap(col_up_left, col_bot_left)
 *             swap(col_up_right, col_bot_right)
 */
    try {
      std::swap<float>(__pyx_v_ipmin.y, __pyx_v_ipmax.y);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3717, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3718
 *         if ipmin.y > ipmax.y:
 *             swap(ipmin.y, ipmax.y)
 *             swap(col_up_left, col_bot_left)             # <<<<<<<<<<<<<<
 *             swap(col_up_right, col_bot_right)
 * 
 */
    try {
      std::swap<ImU32>(__pyx_v_col_up_left, __pyx_v_col_bot_left);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3718, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3719
 *             swap(ipmin.y, ipmax.y)
 *             swap(col_up_left, col_bot_left)
 *             swap(col_up_right, col_bot_right)             # <<<<<<<<<<<<<<
 * 
 *         # imgui requires clockwise order + convex for correct AA
 */
    try {
      std::swap<ImU32>(__pyx_v_col_up_right, __pyx_v_col_bot_right);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 3719, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":3716
 *             swap(col_up_left, col_up_right)
 *             swap(col_bot_left, col_bot_right)
 *         if ipmin.y > ipmax.y:             # <<<<<<<<<<<<<<
 *             swap(ipmin.y, ipmax.y)
 *             swap(col_up_left, col_bot_left)
 */
  }

  /* "dearcygui/core.pyx":3722
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.multicolor:             # <<<<<<<<<<<<<<
 *             if (col_up_left|col_up_right|col_bot_left|col_up_right) & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddRectFilledMultiColor(ipmin,
 */
  if (__pyx_v_self->multicolor) {

    /* "dearcygui/core.pyx":3723
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.multicolor:
 *             if (col_up_left|col_up_right|col_bot_left|col_up_right) & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddRectFilledMultiColor(ipmin,
 *                                                         ipmax,
 */
    __pyx_t_1 = (((((__pyx_v_col_up_left | __pyx_v_col_up_right) | __pyx_v_col_bot_left) | __pyx_v_col_up_right) & IM_COL32_A_MASK) != 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3724
 *         if self.multicolor:
 *             if (col_up_left|col_up_right|col_bot_left|col_up_right) & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddRectFilledMultiColor(ipmin,             # <<<<<<<<<<<<<<
 *                                                         ipmax,
 *                                                         col_up_left,
 */
      __pyx_v_drawlist->AddRectFilledMultiColor(__pyx_v_ipmin, __pyx_v_ipmax, __pyx_v_col_up_left, __pyx_v_col_up_right, __pyx_v_col_bot_left, __pyx_v_col_bot_right);

      /* "dearcygui/core.pyx":3723
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.multicolor:
 *             if (col_up_left|col_up_right|col_bot_left|col_up_right) & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddRectFilledMultiColor(ipmin,
 *                                                         ipmax,
 */
    }

    /* "dearcygui/core.pyx":3722
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if self.multicolor:             # <<<<<<<<<<<<<<
 *             if (col_up_left|col_up_right|col_bot_left|col_up_right) & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddRectFilledMultiColor(ipmin,
 */
    goto __pyx_L9;
  }

  /* "dearcygui/core.pyx":3731
 *                                                         col_bot_right)
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddRectFilled(ipmin,
 *                                               ipmax,
 */
  /*else*/ {
    __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3732
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddRectFilled(ipmin,             # <<<<<<<<<<<<<<
 *                                               ipmax,
 *                                               self.fill,
 */
      __pyx_v_drawlist->AddRectFilled(__pyx_v_ipmin, __pyx_v_ipmax, __pyx_v_self->fill, __pyx_v_self->rounding, ImDrawFlags_RoundCornersAll);

      /* "dearcygui/core.pyx":3731
 *                                                         col_bot_right)
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddRectFilled(ipmin,
 *                                               ipmax,
 */
    }
  }
  __pyx_L9:;

  /* "dearcygui/core.pyx":3738
 *                                               imgui.ImDrawFlags_RoundCornersAll)
 * 
 *         drawlist.AddRect(ipmin,             # <<<<<<<<<<<<<<
 *                                 ipmax,
 *                                 self.color,
 */
  __pyx_v_drawlist->AddRect(__pyx_v_ipmin, __pyx_v_ipmax, __pyx_v_self->color, __pyx_v_self->rounding, ImDrawFlags_RoundCornersAll, __pyx_v_thickness);

  /* "dearcygui/core.pyx":3685
 *         self.multicolor = False
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.DrawRect_.draw", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawRect__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawRect__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawRect__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawRect__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawRect__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawRect_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawRect__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawRect_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawRect__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawRect__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawRect__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawRect__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawRect__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawRect_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawRect__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawRect_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawRect_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3746
 * 
 * cdef class DrawText_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.color = 4294967295 # 0xffffffff
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9DrawText__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9DrawText__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawText____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawText_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9DrawText____cinit__(struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3747
 * cdef class DrawText_(drawingItem):
 *     def __cinit__(self):
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.
 * 
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3748
 *     def __cinit__(self):
 *         self.color = 4294967295 # 0xffffffff
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->size = 0.;

  /* "dearcygui/core.pyx":3746
 * 
 * cdef class DrawText_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.color = 4294967295 # 0xffffffff
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3750
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_9DrawText__draw(struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_p[2];
  ImVec2 __pyx_v_ip;
  float __pyx_v_size;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;
  ImFont *__pyx_t_4;

  /* "dearcygui/core.pyx":3752
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3753
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawText_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3754
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3755
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3754
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3759
 *         cdef float[2] p
 * 
 *         self.context._viewport.apply_current_transform(p, self.pos)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 ip = imgui.ImVec2(p[0], p[1])
 *         cdef float size = self.size
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p, __pyx_v_self->pos);

  /* "dearcygui/core.pyx":3760
 * 
 *         self.context._viewport.apply_current_transform(p, self.pos)
 *         cdef imgui.ImVec2 ip = imgui.ImVec2(p[0], p[1])             # <<<<<<<<<<<<<<
 *         cdef float size = self.size
 *         if size > 0 and self.context._viewport.in_plot:
 */
  __pyx_v_ip = ImVec2((__pyx_v_p[0]), (__pyx_v_p[1]));

  /* "dearcygui/core.pyx":3761
 *         self.context._viewport.apply_current_transform(p, self.pos)
 *         cdef imgui.ImVec2 ip = imgui.ImVec2(p[0], p[1])
 *         cdef float size = self.size             # <<<<<<<<<<<<<<
 *         if size > 0 and self.context._viewport.in_plot:
 *             size *= self.context._viewport.size_multiplier
 */
  __pyx_t_2 = __pyx_v_self->size;
  __pyx_v_size = __pyx_t_2;

  /* "dearcygui/core.pyx":3762
 *         cdef imgui.ImVec2 ip = imgui.ImVec2(p[0], p[1])
 *         cdef float size = self.size
 *         if size > 0 and self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *             size *= self.context._viewport.size_multiplier
 *         size = abs(size)
 */
  __pyx_t_3 = (__pyx_v_size > 0.0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3763
 *         cdef float size = self.size
 *         if size > 0 and self.context._viewport.in_plot:
 *             size *= self.context._viewport.size_multiplier             # <<<<<<<<<<<<<<
 *         size = abs(size)
 *         drawlist.AddText(self._font.font if self._font is not None else NULL, size, ip, self.color, self.text.c_str())
 */
    __pyx_v_size = (__pyx_v_size * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->size_multiplier);

    /* "dearcygui/core.pyx":3762
 *         cdef imgui.ImVec2 ip = imgui.ImVec2(p[0], p[1])
 *         cdef float size = self.size
 *         if size > 0 and self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *             size *= self.context._viewport.size_multiplier
 *         size = abs(size)
 */
  }

  /* "dearcygui/core.pyx":3764
 *         if size > 0 and self.context._viewport.in_plot:
 *             size *= self.context._viewport.size_multiplier
 *         size = abs(size)             # <<<<<<<<<<<<<<
 *         drawlist.AddText(self._font.font if self._font is not None else NULL, size, ip, self.color, self.text.c_str())
 * 
 */
  __pyx_v_size = fabsf(__pyx_v_size);

  /* "dearcygui/core.pyx":3765
 *             size *= self.context._viewport.size_multiplier
 *         size = abs(size)
 *         drawlist.AddText(self._font.font if self._font is not None else NULL, size, ip, self.color, self.text.c_str())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_4 = __pyx_v_self->_font->font;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_drawlist->AddText(__pyx_t_4, __pyx_v_size, __pyx_v_ip, __pyx_v_self->color, __pyx_v_self->text.c_str());

  /* "dearcygui/core.pyx":3750
 *         self.size = 0. # 0: default size. DearPyGui uses 1. internally, then 10. in the wrapper.
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawText__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawText__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawText__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawText__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawText__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawText_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawText__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawText_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9DrawText__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9DrawText__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawText__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9DrawText__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9DrawText__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawText_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9DrawText__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawText_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawText_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3769
 * 
 * cdef class DrawTriangle_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, p3 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13DrawTriangle__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_13DrawTriangle__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawTriangle____cinit__(((struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13DrawTriangle____cinit__(struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3771
 *     def __cinit__(self):
 *         # p1, p2, p3 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff             # <<<<<<<<<<<<<<
 *         self.fill = 0
 *         self.thickness = 1.
 */
  __pyx_v_self->color = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":3772
 *         # p1, p2, p3 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0             # <<<<<<<<<<<<<<
 *         self.thickness = 1.
 *         self.cull_mode = 0
 */
  __pyx_v_self->fill = 0;

  /* "dearcygui/core.pyx":3773
 *         self.color = 4294967295 # 0xffffffff
 *         self.fill = 0
 *         self.thickness = 1.             # <<<<<<<<<<<<<<
 *         self.cull_mode = 0
 * 
 */
  __pyx_v_self->thickness = 1.;

  /* "dearcygui/core.pyx":3774
 *         self.fill = 0
 *         self.thickness = 1.
 *         self.cull_mode = 0             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->cull_mode = 0;

  /* "dearcygui/core.pyx":3769
 * 
 * cdef class DrawTriangle_(drawingItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # p1, p2, p3 are zero init by cython
 *         self.color = 4294967295 # 0xffffffff
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3776
 *         self.cull_mode = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_13DrawTriangle__draw(struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_thickness;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  float __pyx_v_p3[2];
  ImVec2 __pyx_v_ip1;
  ImVec2 __pyx_v_ip2;
  ImVec2 __pyx_v_ip3;
  int __pyx_v_ccw;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":3778
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3779
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawTriangle_ *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":3780
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3781
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         cdef float thickness = self.thickness
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3780
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3783
 *             return
 * 
 *         cdef float thickness = self.thickness             # <<<<<<<<<<<<<<
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 */
  __pyx_t_2 = __pyx_v_self->thickness;
  __pyx_v_thickness = __pyx_t_2;

  /* "dearcygui/core.pyx":3784
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_thickness > 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3785
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier             # <<<<<<<<<<<<<<
 *         thickness = abs(thickness)
 * 
 */
    __pyx_v_thickness = (__pyx_v_thickness * __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->thickness_multiplier);

    /* "dearcygui/core.pyx":3784
 * 
 *         cdef float thickness = self.thickness
 *         if self.context._viewport.in_plot and thickness > 0:             # <<<<<<<<<<<<<<
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)
 */
  }

  /* "dearcygui/core.pyx":3786
 *         if self.context._viewport.in_plot and thickness > 0:
 *             thickness *= self.context._viewport.thickness_multiplier
 *         thickness = abs(thickness)             # <<<<<<<<<<<<<<
 * 
 *         cdef float[2] p1
 */
  __pyx_v_thickness = fabsf(__pyx_v_thickness);

  /* "dearcygui/core.pyx":3796
 *         cdef bint ccw
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->p1);

  /* "dearcygui/core.pyx":3797
 * 
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->p2);

  /* "dearcygui/core.pyx":3798
 *         self.context._viewport.apply_current_transform(p1, self.p1)
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)             # <<<<<<<<<<<<<<
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p3, __pyx_v_self->p3);

  /* "dearcygui/core.pyx":3799
 *         self.context._viewport.apply_current_transform(p2, self.p2)
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])             # <<<<<<<<<<<<<<
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 */
  __pyx_v_ip1 = ImVec2((__pyx_v_p1[0]), (__pyx_v_p1[1]));

  /* "dearcygui/core.pyx":3800
 *         self.context._viewport.apply_current_transform(p3, self.p3)
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])             # <<<<<<<<<<<<<<
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ccw = is_counter_clockwise(ip1,
 */
  __pyx_v_ip2 = ImVec2((__pyx_v_p2[0]), (__pyx_v_p2[1]));

  /* "dearcygui/core.pyx":3801
 *         ip1 = imgui.ImVec2(p1[0], p1[1])
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])             # <<<<<<<<<<<<<<
 *         ccw = is_counter_clockwise(ip1,
 *                                    ip2,
 */
  __pyx_v_ip3 = ImVec2((__pyx_v_p3[0]), (__pyx_v_p3[1]));

  /* "dearcygui/core.pyx":3802
 *         ip2 = imgui.ImVec2(p2[0], p2[1])
 *         ip3 = imgui.ImVec2(p3[0], p3[1])
 *         ccw = is_counter_clockwise(ip1,             # <<<<<<<<<<<<<<
 *                                    ip2,
 *                                    ip3)
 */
  __pyx_v_ccw = __pyx_f_9dearcygui_4core_is_counter_clockwise(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3);

  /* "dearcygui/core.pyx":3806
 *                                    ip3)
 * 
 *         if self.cull_mode == 1 and ccw:             # <<<<<<<<<<<<<<
 *             return
 *         if self.cull_mode == 2 and not(ccw):
 */
  __pyx_t_3 = (__pyx_v_self->cull_mode == 1);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_ccw;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3807
 * 
 *         if self.cull_mode == 1 and ccw:
 *             return             # <<<<<<<<<<<<<<
 *         if self.cull_mode == 2 and not(ccw):
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3806
 *                                    ip3)
 * 
 *         if self.cull_mode == 1 and ccw:             # <<<<<<<<<<<<<<
 *             return
 *         if self.cull_mode == 2 and not(ccw):
 */
  }

  /* "dearcygui/core.pyx":3808
 *         if self.cull_mode == 1 and ccw:
 *             return
 *         if self.cull_mode == 2 and not(ccw):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_3 = (__pyx_v_self->cull_mode == 2);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L11_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_ccw);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L11_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":3809
 *             return
 *         if self.cull_mode == 2 and not(ccw):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # imgui requires clockwise order + convex for correct AA
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":3808
 *         if self.cull_mode == 1 and ccw:
 *             return
 *         if self.cull_mode == 2 and not(ccw):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":3812
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if ccw:             # <<<<<<<<<<<<<<
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 */
  if (__pyx_v_ccw) {

    /* "dearcygui/core.pyx":3813
 *         # imgui requires clockwise order + convex for correct AA
 *         if ccw:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)
 */
    __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3814
 *         if ccw:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)             # <<<<<<<<<<<<<<
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)
 *         else:
 */
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip3, __pyx_v_ip2, __pyx_v_self->fill);

      /* "dearcygui/core.pyx":3813
 *         # imgui requires clockwise order + convex for correct AA
 *         if ccw:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)
 */
    }

    /* "dearcygui/core.pyx":3815
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)             # <<<<<<<<<<<<<<
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 */
    __pyx_v_drawlist->AddTriangle(__pyx_v_ip1, __pyx_v_ip3, __pyx_v_ip2, __pyx_v_self->color, __pyx_v_thickness);

    /* "dearcygui/core.pyx":3812
 * 
 *         # imgui requires clockwise order + convex for correct AA
 *         if ccw:             # <<<<<<<<<<<<<<
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip3, ip2, self.fill)
 */
    goto __pyx_L13;
  }

  /* "dearcygui/core.pyx":3817
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)
 *             drawlist.AddTriangle(ip1, ip2, ip3, self.color, thickness)
 */
  /*else*/ {
    __pyx_t_1 = ((__pyx_v_self->fill & IM_COL32_A_MASK) != 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":3818
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)             # <<<<<<<<<<<<<<
 *             drawlist.AddTriangle(ip1, ip2, ip3, self.color, thickness)
 * 
 */
      __pyx_v_drawlist->AddTriangleFilled(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_self->fill);

      /* "dearcygui/core.pyx":3817
 *             drawlist.AddTriangle(ip1, ip3, ip2, self.color, thickness)
 *         else:
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:             # <<<<<<<<<<<<<<
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)
 *             drawlist.AddTriangle(ip1, ip2, ip3, self.color, thickness)
 */
    }

    /* "dearcygui/core.pyx":3819
 *             if self.fill & imgui.IM_COL32_A_MASK != 0:
 *                 drawlist.AddTriangleFilled(ip1, ip2, ip3, self.fill)
 *             drawlist.AddTriangle(ip1, ip2, ip3, self.color, thickness)             # <<<<<<<<<<<<<<
 * 
 * """
 */
    __pyx_v_drawlist->AddTriangle(__pyx_v_ip1, __pyx_v_ip2, __pyx_v_ip3, __pyx_v_self->color, __pyx_v_thickness);
  }
  __pyx_L13:;

  /* "dearcygui/core.pyx":3776
 *         self.cull_mode = 0
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13DrawTriangle__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13DrawTriangle__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawTriangle__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13DrawTriangle__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawTriangle__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13DrawTriangle__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawTriangle_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13DrawTriangle__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13DrawTriangle__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawTriangle__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13DrawTriangle__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13DrawTriangle__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13DrawTriangle__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawTriangle_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3916
 *     where top left is (0, 0) and bottom right is (1, 1).
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = 1
 *         self.state.cap.can_be_active = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton___cinit__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":3917
 *     """
 *     def __cinit__(self):
 *         self._button = 1             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->_button = 1;

  /* "dearcygui/core.pyx":3918
 *     def __cinit__(self):
 *         self._button = 1
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":3919
 *         self._button = 1
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":3920
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_rect_size = True
 */
  __pyx_v_self->state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":3921
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True
 *         self.state.cap.has_position = True
 */
  __pyx_v_self->state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":3922
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_rect_size = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_position = True
 *         self.p_state = &self.state
 */
  __pyx_v_self->state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":3923
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_rect_size = True
 *         self.state.cap.has_position = True             # <<<<<<<<<<<<<<
 *         self.p_state = &self.state
 *         self.can_have_drawing_child = True
 */
  __pyx_v_self->state.cap.has_position = 1;

  /* "dearcygui/core.pyx":3924
 *         self.state.cap.has_rect_size = True
 *         self.state.cap.has_position = True
 *         self.p_state = &self.state             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self._min_side = 0
 */
  __pyx_v_self->__pyx_base.__pyx_base.p_state = (&__pyx_v_self->state);

  /* "dearcygui/core.pyx":3925
 *         self.state.cap.has_position = True
 *         self.p_state = &self.state
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 *         self._min_side = 0
 *         self._max_side = INFINITY
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":3926
 *         self.p_state = &self.state
 *         self.can_have_drawing_child = True
 *         self._min_side = 0             # <<<<<<<<<<<<<<
 *         self._max_side = INFINITY
 *         self._capture_mouse = True
 */
  __pyx_v_self->_min_side = 0.0;

  /* "dearcygui/core.pyx":3927
 *         self.can_have_drawing_child = True
 *         self._min_side = 0
 *         self._max_side = INFINITY             # <<<<<<<<<<<<<<
 *         self._capture_mouse = True
 *         self._no_input = False
 */
  __pyx_v_self->_max_side = INFINITY;

  /* "dearcygui/core.pyx":3928
 *         self._min_side = 0
 *         self._max_side = INFINITY
 *         self._capture_mouse = True             # <<<<<<<<<<<<<<
 *         self._no_input = False
 * 
 */
  __pyx_v_self->_capture_mouse = 1;

  /* "dearcygui/core.pyx":3929
 *         self._max_side = INFINITY
 *         self._capture_mouse = True
 *         self._no_input = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_no_input = 0;

  /* "dearcygui/core.pyx":3916
 *     where top left is (0, 0) and bottom right is (1, 1).
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = 1
 *         self.state.cap.can_be_active = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3931
 *         self._no_input = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3945
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._button
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3946
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._button             # <<<<<<<<<<<<<<
 * 
 *     @button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_ImGuiButtonFlags(__pyx_v_self->_button); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3931
 *         self._no_input = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3948
 *         return self._button
 * 
 *     @button.setter             # <<<<<<<<<<<<<<
 *     def button(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 3949, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6button_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_UCS4 __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":3951
 *     def button(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 0 or value > 7:
 *             raise ValueError(f"Invalid button mask {value} passed to {self}")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3952
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > 7:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Invalid button mask {value} passed to {self}")
 *         self._button = value
 */
  __pyx_t_2 = (__pyx_v_value < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_value > 7);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":3953
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > 7:
 *             raise ValueError(f"Invalid button mask {value} passed to {self}")             # <<<<<<<<<<<<<<
 *         self._button = value
 * 
 */
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __pyx_t_5 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_button_mask);
    __pyx_t_4 += 20;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_button_mask);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Invalid_button_mask);
    __pyx_t_6 = __Pyx_PyUnicode_From_int(__pyx_v_value, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_to);
    __pyx_t_4 += 11;
    __Pyx_GIVEREF(__pyx_kp_u_passed_to);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_passed_to);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
    __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_3, 4, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 3953, __pyx_L1_error)

    /* "dearcygui/core.pyx":3952
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > 7:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Invalid button mask {value} passed to {self}")
 *         self._button = value
 */
  }

  /* "dearcygui/core.pyx":3954
 *         if value < 0 or value > 7:
 *             raise ValueError(f"Invalid button mask {value} passed to {self}")
 *         self._button = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_button = __pyx_v_value;

  /* "dearcygui/core.pyx":3948
 *         return self._button
 * 
 *     @button.setter             # <<<<<<<<<<<<<<
 *     def button(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3956
 *         self._button = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def p1(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3963
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._p1)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3964
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._p1)             # <<<<<<<<<<<<<<
 * 
 *     @p1.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_double(__pyx_v_self->_p1, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3956
 *         self._button = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def p1(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.p1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3966
 *         return list(self._p1)
 * 
 *     @p1.setter             # <<<<<<<<<<<<<<
 *     def p1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p1_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":3969
 *     def p1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_point[double](self._p1, value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3970
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_point[double](self._p1, value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_fuse_2__pyx_f_9dearcygui_4core_read_point(__pyx_v_self->_p1, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3970, __pyx_L1_error)

  /* "dearcygui/core.pyx":3966
 *         return list(self._p1)
 * 
 *     @p1.setter             # <<<<<<<<<<<<<<
 *     def p1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.p1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3972
 *         read_point[double](self._p1, value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def p2(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3979
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._p2)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3980
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._p2)             # <<<<<<<<<<<<<<
 * 
 *     @p2.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_double(__pyx_v_self->_p2, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3972
 *         read_point[double](self._p1, value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def p2(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.p2.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":3982
 *         return list(self._p2)
 * 
 *     @p2.setter             # <<<<<<<<<<<<<<
 *     def p2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2p2_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":3985
 *     def p2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_point[double](self._p2, value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3986
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_point[double](self._p2, value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_fuse_2__pyx_f_9dearcygui_4core_read_point(__pyx_v_self->_p2, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3986, __pyx_L1_error)

  /* "dearcygui/core.pyx":3982
 *         return list(self._p2)
 * 
 *     @p2.setter             # <<<<<<<<<<<<<<
 *     def p2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.p2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":3988
 *         read_point[double](self._p2, value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_side(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":3998
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._min_side
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":3999
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._min_side             # <<<<<<<<<<<<<<
 * 
 *     @min_side.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_min_side); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":3988
 *         read_point[double](self._p2, value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_side(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.min_side.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4001
 *         return self._min_side
 * 
 *     @min_side.setter             # <<<<<<<<<<<<<<
 *     def min_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4002, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.min_side.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8min_side_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":4004
 *     def min_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 0:
 *             value = 0
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4005
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:             # <<<<<<<<<<<<<<
 *             value = 0
 *         self._min_side = value
 */
  __pyx_t_1 = (__pyx_v_value < 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4006
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:
 *             value = 0             # <<<<<<<<<<<<<<
 *         self._min_side = value
 * 
 */
    __pyx_v_value = 0;

    /* "dearcygui/core.pyx":4005
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:             # <<<<<<<<<<<<<<
 *             value = 0
 *         self._min_side = value
 */
  }

  /* "dearcygui/core.pyx":4007
 *         if value < 0:
 *             value = 0
 *         self._min_side = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_min_side = __pyx_v_value;

  /* "dearcygui/core.pyx":4001
 *         return self._min_side
 * 
 *     @min_side.setter             # <<<<<<<<<<<<<<
 *     def min_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4009
 *         self._min_side = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_side(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4019
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._max_side
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4020
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._max_side             # <<<<<<<<<<<<<<
 * 
 *     @max_side.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_max_side); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4009
 *         self._min_side = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_side(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.max_side.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4022
 *         return self._max_side
 * 
 *     @max_side.setter             # <<<<<<<<<<<<<<
 *     def max_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4023, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.max_side.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8max_side_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":4025
 *     def max_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 0:
 *             value = 0
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4026
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:             # <<<<<<<<<<<<<<
 *             value = 0
 *         self._max_side = value
 */
  __pyx_t_1 = (__pyx_v_value < 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4027
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:
 *             value = 0             # <<<<<<<<<<<<<<
 *         self._max_side = value
 * 
 */
    __pyx_v_value = 0;

    /* "dearcygui/core.pyx":4026
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0:             # <<<<<<<<<<<<<<
 *             value = 0
 *         self._max_side = value
 */
  }

  /* "dearcygui/core.pyx":4028
 *         if value < 0:
 *             value = 0
 *         self._max_side = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_max_side = __pyx_v_value;

  /* "dearcygui/core.pyx":4022
 *         return self._max_side
 * 
 *     @max_side.setter             # <<<<<<<<<<<<<<
 *     def max_side(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4030
 *         self._max_side = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4039
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4040
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef baseHandler handler
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":4043
 *         cdef int i
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 */
  __pyx_t_2 = ((int)__pyx_v_self->__pyx_base.__pyx_base._handlers.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4044
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]             # <<<<<<<<<<<<<<
 *             result.append(handler)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->__pyx_base.__pyx_base._handlers[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":4045
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_handler)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 4045, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":4046
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @handlers.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4030
 *         self._max_side = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.handlers.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_handler);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4048
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":4051
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4052
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":4054
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":4055
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4055, __pyx_L1_error)

    /* "dearcygui/core.pyx":4056
 *         if value is None:
 *             clear_obj_vector(self._handlers)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4054
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  }

  /* "dearcygui/core.pyx":4057
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 4057, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":4058
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 4058, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":4057
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  }

  /* "dearcygui/core.pyx":4059
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4059, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":4060
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseHandler); 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = (!__pyx_t_3);
    if (unlikely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":4061
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")             # <<<<<<<<<<<<<<
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 */
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u_is_not_a_handler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 4061, __pyx_L1_error)

      /* "dearcygui/core.pyx":4060
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    }

    /* "dearcygui/core.pyx":4063
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)             # <<<<<<<<<<<<<<
 *             items.append(value[i])
 *         # Success: bind
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4063, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":4064
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 *             items.append(value[i])             # <<<<<<<<<<<<<<
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 4064, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":4066
 *             items.append(value[i])
 *         # Success: bind
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._handlers, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4066, __pyx_L1_error)

  /* "dearcygui/core.pyx":4067
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 *         append_obj_vector(self._handlers, items)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4067, __pyx_L1_error)

  /* "dearcygui/core.pyx":4048
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.handlers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4069
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def activated(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9activated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9activated_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9activated___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9activated___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4075
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4076
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_self->state.cur.active) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.active); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_self->state.prev.active);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4069
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def activated(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.activated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4078
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def active(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6active_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6active_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6active___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_6active___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4084
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4085
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.active             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.active); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4078
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def active(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.active.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4087
 *         return self.state.cur.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7clicked_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7clicked_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7clicked___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7clicked___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4097
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return tuple(self.state.cur.clicked)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4098
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return tuple(self.state.cur.clicked)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_bint(__pyx_v_self->state.cur.clicked, ((int)ImGuiMouseButton_COUNT)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4087
 *         return self.state.cur.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.clicked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4100
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def double_clicked(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_14double_clicked_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_14double_clicked_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_14double_clicked___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_14double_clicked___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4110
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.double_clicked
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4111
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.double_clicked             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_bint(__pyx_v_self->state.cur.double_clicked, ((int)ImGuiMouseButton_COUNT)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4100
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def double_clicked(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.double_clicked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4113
 *         return self.state.cur.double_clicked
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_11deactivated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_11deactivated_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_11deactivated___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_11deactivated___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4119
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.prev.active and not(self.state.cur.active)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4120
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.prev.active and not(self.state.cur.active)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_self->state.prev.active) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->state.prev.active); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_self->state.cur.active);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4113
 *         return self.state.cur.double_clicked
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.deactivated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4122
 *         return self.state.prev.active and not(self.state.cur.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7hovered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7hovered_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7hovered___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7hovered___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4128
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.hovered
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4129
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.hovered             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.hovered); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4122
 *         return self.state.prev.active and not(self.state.cur.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.hovered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4131
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4140
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4141
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_viewport); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4131
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.pos_to_viewport.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4143
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_window(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4151
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4152
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_window)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_window); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4143
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_window(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.pos_to_window.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4154
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4161
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4162
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4154
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.pos_to_parent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4164
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rect_size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9rect_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9rect_size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9rect_size___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_9rect_size___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4170
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4171
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.rect_size)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.rect_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4164
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rect_size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.rect_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4173
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resized(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7resized_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7resized_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7resized___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_7resized___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4181
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4182
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \             # <<<<<<<<<<<<<<
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (__pyx_v_self->state.cur.rect_size.x != __pyx_v_self->state.prev.rect_size.x);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "dearcygui/core.pyx":4183
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = (__pyx_v_self->state.cur.rect_size.y != __pyx_v_self->state.prev.rect_size.y);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4173
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resized(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.resized.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4185
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_input(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4197
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._no_input
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4198
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._no_input             # <<<<<<<<<<<<<<
 * 
 *     @no_input.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_no_input); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4185
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_input(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.no_input.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4200
 *         return self._no_input
 * 
 *     @no_input.setter             # <<<<<<<<<<<<<<
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4201, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.no_input.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_8no_input_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":4203
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._no_input = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4204
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._no_input = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_no_input = __pyx_v_value;

  /* "dearcygui/core.pyx":4200
 *         return self._no_input
 * 
 *     @no_input.setter             # <<<<<<<<<<<<<<
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4206
 *         self._no_input = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def capture_mouse(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse___get__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse___get__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4222
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._capture_mouse
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4223
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._capture_mouse             # <<<<<<<<<<<<<<
 * 
 *     @capture_mouse.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_capture_mouse); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4206
 *         self._no_input = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def capture_mouse(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.capture_mouse.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4225
 *         return self._capture_mouse
 * 
 *     @capture_mouse.setter             # <<<<<<<<<<<<<<
 *     def capture_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4226, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.capture_mouse.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":4228
 *     def capture_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._capture_mouse = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4229
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._capture_mouse = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self,
 */
  __pyx_v_self->_capture_mouse = __pyx_v_value;

  /* "dearcygui/core.pyx":4225
 *         return self._capture_mouse
 * 
 *     @capture_mouse.setter             # <<<<<<<<<<<<<<
 *     def capture_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4231
 *         self._capture_mouse = value
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static void __pyx_f_9dearcygui_4core_19DrawInvisibleButton_draw(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, ImDrawList *__pyx_v_drawlist) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_p1[2];
  float __pyx_v_p2[2];
  ImVec2 __pyx_v_top_left;
  ImVec2 __pyx_v_bottom_right;
  ImVec2 __pyx_v_center;
  ImVec2 __pyx_v_size;
  CYTHON_UNUSED float __pyx_v_ratio;
  int __pyx_v_was_visible;
  double __pyx_v_cur_scales[2];
  double __pyx_v_cur_shifts[2];
  int __pyx_v_cur_in_plot;
  CYTHON_UNUSED int __pyx_v_mouse_down;
  ImVec2 __pyx_v_cur_mouse_pos;
  ImPlotPoint __pyx_v_cur_mouse_pos_plot;
  bool __pyx_v_hovered;
  bool __pyx_v_held;
  int __pyx_v_activated;
  int __pyx_v_dragging;
  int __pyx_v_i;
  int __pyx_t_1;
  float __pyx_t_2;
  float __pyx_t_3;
  float __pyx_t_4;
  int __pyx_t_5;
  double *__pyx_t_6;
  double __pyx_t_7[2];
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;

  /* "dearcygui/core.pyx":4233
 *     cdef void draw(self,
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4234
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.draw_prev_siblings(((struct __pyx_obj_9dearcygui_4core_drawingItem *)__pyx_v_self), __pyx_v_drawlist);

  /* "dearcygui/core.pyx":4235
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4236
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 * 
 *         self.set_previous_states()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4235
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.draw_prev_siblings(drawlist)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":4238
 *             return
 * 
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 * 
 *         # Get button position in screen space
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":4243
 *         cdef float[2] p1
 *         cdef float[2] p2
 *         self.context._viewport.apply_current_transform(p1, self._p1)             # <<<<<<<<<<<<<<
 *         self.context._viewport.apply_current_transform(p2, self._p2)
 *         cdef imgui.ImVec2 top_left
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p1, __pyx_v_self->_p1);

  /* "dearcygui/core.pyx":4244
 *         cdef float[2] p2
 *         self.context._viewport.apply_current_transform(p1, self._p1)
 *         self.context._viewport.apply_current_transform(p2, self._p2)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 top_left
 *         cdef imgui.ImVec2 bottom_right
 */
  __pyx_f_9dearcygui_4core_8Viewport_apply_current_transform(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_v_p2, __pyx_v_self->_p2);

  /* "dearcygui/core.pyx":4249
 *         cdef imgui.ImVec2 center
 *         cdef imgui.ImVec2 size
 *         top_left.x = min(p1[0], p2[0])             # <<<<<<<<<<<<<<
 *         top_left.y = min(p1[1], p2[1])
 *         bottom_right.x = max(p1[0], p2[0])
 */
  __pyx_t_2 = (__pyx_v_p2[0]);
  __pyx_t_3 = (__pyx_v_p1[0]);
  __pyx_t_1 = (__pyx_t_2 < __pyx_t_3);
  if (__pyx_t_1) {
    __pyx_t_4 = __pyx_t_2;
  } else {
    __pyx_t_4 = __pyx_t_3;
  }
  __pyx_v_top_left.x = __pyx_t_4;

  /* "dearcygui/core.pyx":4250
 *         cdef imgui.ImVec2 size
 *         top_left.x = min(p1[0], p2[0])
 *         top_left.y = min(p1[1], p2[1])             # <<<<<<<<<<<<<<
 *         bottom_right.x = max(p1[0], p2[0])
 *         bottom_right.y = max(p1[1], p2[1])
 */
  __pyx_t_4 = (__pyx_v_p2[1]);
  __pyx_t_2 = (__pyx_v_p1[1]);
  __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
  if (__pyx_t_1) {
    __pyx_t_3 = __pyx_t_4;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_top_left.y = __pyx_t_3;

  /* "dearcygui/core.pyx":4251
 *         top_left.x = min(p1[0], p2[0])
 *         top_left.y = min(p1[1], p2[1])
 *         bottom_right.x = max(p1[0], p2[0])             # <<<<<<<<<<<<<<
 *         bottom_right.y = max(p1[1], p2[1])
 *         center.x = (top_left.x + bottom_right.x) / 2.
 */
  __pyx_t_3 = (__pyx_v_p2[0]);
  __pyx_t_4 = (__pyx_v_p1[0]);
  __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
  if (__pyx_t_1) {
    __pyx_t_2 = __pyx_t_3;
  } else {
    __pyx_t_2 = __pyx_t_4;
  }
  __pyx_v_bottom_right.x = __pyx_t_2;

  /* "dearcygui/core.pyx":4252
 *         top_left.y = min(p1[1], p2[1])
 *         bottom_right.x = max(p1[0], p2[0])
 *         bottom_right.y = max(p1[1], p2[1])             # <<<<<<<<<<<<<<
 *         center.x = (top_left.x + bottom_right.x) / 2.
 *         center.y = (top_left.y + bottom_right.y) / 2.
 */
  __pyx_t_2 = (__pyx_v_p2[1]);
  __pyx_t_3 = (__pyx_v_p1[1]);
  __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
  if (__pyx_t_1) {
    __pyx_t_4 = __pyx_t_2;
  } else {
    __pyx_t_4 = __pyx_t_3;
  }
  __pyx_v_bottom_right.y = __pyx_t_4;

  /* "dearcygui/core.pyx":4253
 *         bottom_right.x = max(p1[0], p2[0])
 *         bottom_right.y = max(p1[1], p2[1])
 *         center.x = (top_left.x + bottom_right.x) / 2.             # <<<<<<<<<<<<<<
 *         center.y = (top_left.y + bottom_right.y) / 2.
 *         size.x = bottom_right.x - top_left.x
 */
  __pyx_v_center.x = (((double)(__pyx_v_top_left.x + __pyx_v_bottom_right.x)) / 2.);

  /* "dearcygui/core.pyx":4254
 *         bottom_right.y = max(p1[1], p2[1])
 *         center.x = (top_left.x + bottom_right.x) / 2.
 *         center.y = (top_left.y + bottom_right.y) / 2.             # <<<<<<<<<<<<<<
 *         size.x = bottom_right.x - top_left.x
 *         size.y = bottom_right.y - top_left.y
 */
  __pyx_v_center.y = (((double)(__pyx_v_top_left.y + __pyx_v_bottom_right.y)) / 2.);

  /* "dearcygui/core.pyx":4255
 *         center.x = (top_left.x + bottom_right.x) / 2.
 *         center.y = (top_left.y + bottom_right.y) / 2.
 *         size.x = bottom_right.x - top_left.x             # <<<<<<<<<<<<<<
 *         size.y = bottom_right.y - top_left.y
 *         cdef float ratio = 1e30
 */
  __pyx_v_size.x = (__pyx_v_bottom_right.x - __pyx_v_top_left.x);

  /* "dearcygui/core.pyx":4256
 *         center.y = (top_left.y + bottom_right.y) / 2.
 *         size.x = bottom_right.x - top_left.x
 *         size.y = bottom_right.y - top_left.y             # <<<<<<<<<<<<<<
 *         cdef float ratio = 1e30
 *         if size.y != 0.:
 */
  __pyx_v_size.y = (__pyx_v_bottom_right.y - __pyx_v_top_left.y);

  /* "dearcygui/core.pyx":4257
 *         size.x = bottom_right.x - top_left.x
 *         size.y = bottom_right.y - top_left.y
 *         cdef float ratio = 1e30             # <<<<<<<<<<<<<<
 *         if size.y != 0.:
 *             ratio = size.x/size.y
 */
  __pyx_v_ratio = 1e30;

  /* "dearcygui/core.pyx":4258
 *         size.y = bottom_right.y - top_left.y
 *         cdef float ratio = 1e30
 *         if size.y != 0.:             # <<<<<<<<<<<<<<
 *             ratio = size.x/size.y
 *         elif size.x == 0:
 */
  __pyx_t_1 = (__pyx_v_size.y != 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4259
 *         cdef float ratio = 1e30
 *         if size.y != 0.:
 *             ratio = size.x/size.y             # <<<<<<<<<<<<<<
 *         elif size.x == 0:
 *             ratio = 1.
 */
    __pyx_v_ratio = (__pyx_v_size.x / __pyx_v_size.y);

    /* "dearcygui/core.pyx":4258
 *         size.y = bottom_right.y - top_left.y
 *         cdef float ratio = 1e30
 *         if size.y != 0.:             # <<<<<<<<<<<<<<
 *             ratio = size.x/size.y
 *         elif size.x == 0:
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":4260
 *         if size.y != 0.:
 *             ratio = size.x/size.y
 *         elif size.x == 0:             # <<<<<<<<<<<<<<
 *             ratio = 1.
 * 
 */
  __pyx_t_1 = (__pyx_v_size.x == 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4261
 *             ratio = size.x/size.y
 *         elif size.x == 0:
 *             ratio = 1.             # <<<<<<<<<<<<<<
 * 
 *         if size.x < self._min_side:
 */
    __pyx_v_ratio = 1.;

    /* "dearcygui/core.pyx":4260
 *         if size.y != 0.:
 *             ratio = size.x/size.y
 *         elif size.x == 0:             # <<<<<<<<<<<<<<
 *             ratio = 1.
 * 
 */
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":4263
 *             ratio = 1.
 * 
 *         if size.x < self._min_side:             # <<<<<<<<<<<<<<
 *             #size.y += (self._min_side - size.x) / ratio
 *             size.x = self._min_side
 */
  __pyx_t_1 = (__pyx_v_size.x < __pyx_v_self->_min_side);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4265
 *         if size.x < self._min_side:
 *             #size.y += (self._min_side - size.x) / ratio
 *             size.x = self._min_side             # <<<<<<<<<<<<<<
 *         if size.y < self._min_side:
 *             #size.x += (self._min_side - size.y) * ratio
 */
    __pyx_t_4 = __pyx_v_self->_min_side;
    __pyx_v_size.x = __pyx_t_4;

    /* "dearcygui/core.pyx":4263
 *             ratio = 1.
 * 
 *         if size.x < self._min_side:             # <<<<<<<<<<<<<<
 *             #size.y += (self._min_side - size.x) / ratio
 *             size.x = self._min_side
 */
  }

  /* "dearcygui/core.pyx":4266
 *             #size.y += (self._min_side - size.x) / ratio
 *             size.x = self._min_side
 *         if size.y < self._min_side:             # <<<<<<<<<<<<<<
 *             #size.x += (self._min_side - size.y) * ratio
 *             size.y = self._min_side
 */
  __pyx_t_1 = (__pyx_v_size.y < __pyx_v_self->_min_side);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4268
 *         if size.y < self._min_side:
 *             #size.x += (self._min_side - size.y) * ratio
 *             size.y = self._min_side             # <<<<<<<<<<<<<<
 *         if size.x > self._max_side:
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 */
    __pyx_t_4 = __pyx_v_self->_min_side;
    __pyx_v_size.y = __pyx_t_4;

    /* "dearcygui/core.pyx":4266
 *             #size.y += (self._min_side - size.x) / ratio
 *             size.x = self._min_side
 *         if size.y < self._min_side:             # <<<<<<<<<<<<<<
 *             #size.x += (self._min_side - size.y) * ratio
 *             size.y = self._min_side
 */
  }

  /* "dearcygui/core.pyx":4269
 *             #size.x += (self._min_side - size.y) * ratio
 *             size.y = self._min_side
 *         if size.x > self._max_side:             # <<<<<<<<<<<<<<
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 *             size.x = self._max_side
 */
  __pyx_t_1 = (__pyx_v_size.x > __pyx_v_self->_max_side);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4271
 *         if size.x > self._max_side:
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 *             size.x = self._max_side             # <<<<<<<<<<<<<<
 *         if size.y > self._max_side:
 *             #size.x += max(0., size.x - (size.y - self._max_side) * ratio)
 */
    __pyx_t_4 = __pyx_v_self->_max_side;
    __pyx_v_size.x = __pyx_t_4;

    /* "dearcygui/core.pyx":4269
 *             #size.x += (self._min_side - size.y) * ratio
 *             size.y = self._min_side
 *         if size.x > self._max_side:             # <<<<<<<<<<<<<<
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 *             size.x = self._max_side
 */
  }

  /* "dearcygui/core.pyx":4272
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 *             size.x = self._max_side
 *         if size.y > self._max_side:             # <<<<<<<<<<<<<<
 *             #size.x += max(0., size.x - (size.y - self._max_side) * ratio)
 *             size.y = self._max_side
 */
  __pyx_t_1 = (__pyx_v_size.y > __pyx_v_self->_max_side);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4274
 *         if size.y > self._max_side:
 *             #size.x += max(0., size.x - (size.y - self._max_side) * ratio)
 *             size.y = self._max_side             # <<<<<<<<<<<<<<
 *         top_left.x = center.x - size.x * 0.5
 *         bottom_right.x = top_left.x + size.x * 0.5
 */
    __pyx_t_4 = __pyx_v_self->_max_side;
    __pyx_v_size.y = __pyx_t_4;

    /* "dearcygui/core.pyx":4272
 *             #size.y = max(0., size.y - (size.x - self._max_side) / ratio)
 *             size.x = self._max_side
 *         if size.y > self._max_side:             # <<<<<<<<<<<<<<
 *             #size.x += max(0., size.x - (size.y - self._max_side) * ratio)
 *             size.y = self._max_side
 */
  }

  /* "dearcygui/core.pyx":4275
 *             #size.x += max(0., size.x - (size.y - self._max_side) * ratio)
 *             size.y = self._max_side
 *         top_left.x = center.x - size.x * 0.5             # <<<<<<<<<<<<<<
 *         bottom_right.x = top_left.x + size.x * 0.5
 *         top_left.y = center.y - size.y * 0.5
 */
  __pyx_v_top_left.x = (__pyx_v_center.x - (__pyx_v_size.x * 0.5));

  /* "dearcygui/core.pyx":4276
 *             size.y = self._max_side
 *         top_left.x = center.x - size.x * 0.5
 *         bottom_right.x = top_left.x + size.x * 0.5             # <<<<<<<<<<<<<<
 *         top_left.y = center.y - size.y * 0.5
 *         bottom_right.y = top_left.y + size.y
 */
  __pyx_v_bottom_right.x = (__pyx_v_top_left.x + (__pyx_v_size.x * 0.5));

  /* "dearcygui/core.pyx":4277
 *         top_left.x = center.x - size.x * 0.5
 *         bottom_right.x = top_left.x + size.x * 0.5
 *         top_left.y = center.y - size.y * 0.5             # <<<<<<<<<<<<<<
 *         bottom_right.y = top_left.y + size.y
 *         # Update rect and position size
 */
  __pyx_v_top_left.y = (__pyx_v_center.y - (__pyx_v_size.y * 0.5));

  /* "dearcygui/core.pyx":4278
 *         bottom_right.x = top_left.x + size.x * 0.5
 *         top_left.y = center.y - size.y * 0.5
 *         bottom_right.y = top_left.y + size.y             # <<<<<<<<<<<<<<
 *         # Update rect and position size
 *         self.state.cur.rect_size = size
 */
  __pyx_v_bottom_right.y = (__pyx_v_top_left.y + __pyx_v_size.y);

  /* "dearcygui/core.pyx":4280
 *         bottom_right.y = top_left.y + size.y
 *         # Update rect and position size
 *         self.state.cur.rect_size = size             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_viewport = top_left
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 */
  __pyx_v_self->state.cur.rect_size = __pyx_v_size;

  /* "dearcygui/core.pyx":4281
 *         # Update rect and position size
 *         self.state.cur.rect_size = size
 *         self.state.cur.pos_to_viewport = top_left             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 */
  __pyx_v_self->state.cur.pos_to_viewport = __pyx_v_top_left;

  /* "dearcygui/core.pyx":4282
 *         self.state.cur.rect_size = size
 *         self.state.cur.pos_to_viewport = top_left
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 */
  __pyx_v_self->state.cur.pos_to_window.x = (__pyx_v_self->state.cur.pos_to_viewport.x - __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos.x);

  /* "dearcygui/core.pyx":4283
 *         self.state.cur.pos_to_viewport = top_left
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 */
  __pyx_v_self->state.cur.pos_to_window.y = (__pyx_v_self->state.cur.pos_to_viewport.y - __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos.y);

  /* "dearcygui/core.pyx":4284
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         cdef bint was_visible = self.state.cur.rendered
 */
  __pyx_v_self->state.cur.pos_to_parent.x = (__pyx_v_self->state.cur.pos_to_viewport.x - __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos.x);

  /* "dearcygui/core.pyx":4285
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y             # <<<<<<<<<<<<<<
 *         cdef bint was_visible = self.state.cur.rendered
 *         self.state.cur.rendered = imgui.IsRectVisible(top_left, bottom_right) or self.state.cur.active
 */
  __pyx_v_self->state.cur.pos_to_parent.y = (__pyx_v_self->state.cur.pos_to_viewport.y - __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos.y);

  /* "dearcygui/core.pyx":4286
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         cdef bint was_visible = self.state.cur.rendered             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = imgui.IsRectVisible(top_left, bottom_right) or self.state.cur.active
 *         if not(was_visible) and not(self.state.cur.rendered):
 */
  __pyx_t_1 = __pyx_v_self->state.cur.rendered;
  __pyx_v_was_visible = __pyx_t_1;

  /* "dearcygui/core.pyx":4287
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         cdef bint was_visible = self.state.cur.rendered
 *         self.state.cur.rendered = imgui.IsRectVisible(top_left, bottom_right) or self.state.cur.active             # <<<<<<<<<<<<<<
 *         if not(was_visible) and not(self.state.cur.rendered):
 *             # Item is entirely clipped.
 */
  __pyx_t_5 = ImGui::IsRectVisible(__pyx_v_top_left, __pyx_v_bottom_right);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->state.cur.active;
  __pyx_L9_bool_binop_done:;
  __pyx_v_self->state.cur.rendered = __pyx_t_1;

  /* "dearcygui/core.pyx":4288
 *         cdef bint was_visible = self.state.cur.rendered
 *         self.state.cur.rendered = imgui.IsRectVisible(top_left, bottom_right) or self.state.cur.active
 *         if not(was_visible) and not(self.state.cur.rendered):             # <<<<<<<<<<<<<<
 *             # Item is entirely clipped.
 *             # Do not skip the first time it is clipped,
 */
  __pyx_t_5 = (!__pyx_v_was_visible);
  if (__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_5 = (!__pyx_v_self->state.cur.rendered);
  __pyx_t_1 = __pyx_t_5;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4293
 *             # in order to update the relevant states to False.
 *             # If the button is active, do not skip anything.
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # Render children if any
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4288
 *         cdef bint was_visible = self.state.cur.rendered
 *         self.state.cur.rendered = imgui.IsRectVisible(top_left, bottom_right) or self.state.cur.active
 *         if not(was_visible) and not(self.state.cur.rendered):             # <<<<<<<<<<<<<<
 *             # Item is entirely clipped.
 *             # Do not skip the first time it is clipped,
 */
  }

  /* "dearcygui/core.pyx":4296
 * 
 *         # Render children if any
 *         cdef double[2] cur_scales = self.context._viewport.scales             # <<<<<<<<<<<<<<
 *         cdef double[2] cur_shifts = self.context._viewport.shifts
 *         cdef bint cur_in_plot = self.context._viewport.in_plot
 */
  __pyx_t_6 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales;
  memcpy(&(__pyx_v_cur_scales[0]), __pyx_t_6, sizeof(__pyx_v_cur_scales[0]) * (2 - 0));

  /* "dearcygui/core.pyx":4297
 *         # Render children if any
 *         cdef double[2] cur_scales = self.context._viewport.scales
 *         cdef double[2] cur_shifts = self.context._viewport.shifts             # <<<<<<<<<<<<<<
 *         cdef bint cur_in_plot = self.context._viewport.in_plot
 * 
 */
  __pyx_t_6 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts;
  memcpy(&(__pyx_v_cur_shifts[0]), __pyx_t_6, sizeof(__pyx_v_cur_shifts[0]) * (2 - 0));

  /* "dearcygui/core.pyx":4298
 *         cdef double[2] cur_scales = self.context._viewport.scales
 *         cdef double[2] cur_shifts = self.context._viewport.shifts
 *         cdef bint cur_in_plot = self.context._viewport.in_plot             # <<<<<<<<<<<<<<
 * 
 *         # draw children
 */
  __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot;
  __pyx_v_cur_in_plot = __pyx_t_1;

  /* "dearcygui/core.pyx":4301
 * 
 *         # draw children
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[0] = <double>top_left.x
 *             self.context._viewport.shifts[1] = <double>top_left.y
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4302
 *         # draw children
 *         if self.last_drawings_child is not None:
 *             self.context._viewport.shifts[0] = <double>top_left.x             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[1] = <double>top_left.y
 *             self.context._viewport.scales = [<double>size.x, <double>size.y]
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) = ((double)__pyx_v_top_left.x);

    /* "dearcygui/core.pyx":4303
 *         if self.last_drawings_child is not None:
 *             self.context._viewport.shifts[0] = <double>top_left.x
 *             self.context._viewport.shifts[1] = <double>top_left.y             # <<<<<<<<<<<<<<
 *             self.context._viewport.scales = [<double>size.x, <double>size.y]
 *             self.context._viewport.in_plot = False
 */
    (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[1]) = ((double)__pyx_v_top_left.y);

    /* "dearcygui/core.pyx":4304
 *             self.context._viewport.shifts[0] = <double>top_left.x
 *             self.context._viewport.shifts[1] = <double>top_left.y
 *             self.context._viewport.scales = [<double>size.x, <double>size.y]             # <<<<<<<<<<<<<<
 *             self.context._viewport.in_plot = False
 *             self.last_drawings_child.draw(drawlist)
 */
    __pyx_t_7[0] = ((double)__pyx_v_size.x);
    __pyx_t_7[1] = ((double)__pyx_v_size.y);
    memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_t_7, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2));

    /* "dearcygui/core.pyx":4305
 *             self.context._viewport.shifts[1] = <double>top_left.y
 *             self.context._viewport.scales = [<double>size.x, <double>size.y]
 *             self.context._viewport.in_plot = False             # <<<<<<<<<<<<<<
 *             self.last_drawings_child.draw(drawlist)
 * 
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot = 0;

    /* "dearcygui/core.pyx":4306
 *             self.context._viewport.scales = [<double>size.x, <double>size.y]
 *             self.context._viewport.in_plot = False
 *             self.last_drawings_child.draw(drawlist)             # <<<<<<<<<<<<<<
 * 
 *         # restore states
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child, __pyx_v_drawlist);

    /* "dearcygui/core.pyx":4301
 * 
 *         # draw children
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             self.context._viewport.shifts[0] = <double>top_left.x
 *             self.context._viewport.shifts[1] = <double>top_left.y
 */
  }

  /* "dearcygui/core.pyx":4309
 * 
 *         # restore states
 *         self.context._viewport.scales = cur_scales             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts = cur_shifts
 *         self.context._viewport.in_plot = cur_in_plot
 */
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_v_cur_scales, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2));

  /* "dearcygui/core.pyx":4310
 *         # restore states
 *         self.context._viewport.scales = cur_scales
 *         self.context._viewport.shifts = cur_shifts             # <<<<<<<<<<<<<<
 *         self.context._viewport.in_plot = cur_in_plot
 * 
 */
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]), __pyx_v_cur_shifts, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) * (2));

  /* "dearcygui/core.pyx":4311
 *         self.context._viewport.scales = cur_scales
 *         self.context._viewport.shifts = cur_shifts
 *         self.context._viewport.in_plot = cur_in_plot             # <<<<<<<<<<<<<<
 * 
 *         cdef bint mouse_down = False
 */
  __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot = __pyx_v_cur_in_plot;

  /* "dearcygui/core.pyx":4313
 *         self.context._viewport.in_plot = cur_in_plot
 * 
 *         cdef bint mouse_down = False             # <<<<<<<<<<<<<<
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):
 *             mouse_down = True
 */
  __pyx_v_mouse_down = 0;

  /* "dearcygui/core.pyx":4314
 * 
 *         cdef bint mouse_down = False
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 */
  __pyx_t_5 = ((__pyx_v_self->_button & 1) != 0);
  if (__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L16_bool_binop_done;
  }
  __pyx_t_5 = ImGui::IsMouseDown(ImGuiMouseButton_Left);
  __pyx_t_1 = __pyx_t_5;
  __pyx_L16_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4315
 *         cdef bint mouse_down = False
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):
 *             mouse_down = True             # <<<<<<<<<<<<<<
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 *             mouse_down = True
 */
    __pyx_v_mouse_down = 1;

    /* "dearcygui/core.pyx":4314
 * 
 *         cdef bint mouse_down = False
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 */
  }

  /* "dearcygui/core.pyx":4316
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):
 *             mouse_down = True
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):
 */
  __pyx_t_5 = ((__pyx_v_self->_button & 2) != 0);
  if (__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L19_bool_binop_done;
  }
  __pyx_t_5 = ImGui::IsMouseDown(ImGuiMouseButton_Right);
  __pyx_t_1 = __pyx_t_5;
  __pyx_L19_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4317
 *             mouse_down = True
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 *             mouse_down = True             # <<<<<<<<<<<<<<
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):
 *             mouse_down = True
 */
    __pyx_v_mouse_down = 1;

    /* "dearcygui/core.pyx":4316
 *         if (self._button & 1) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Left):
 *             mouse_down = True
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):
 */
  }

  /* "dearcygui/core.pyx":4318
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 *             mouse_down = True
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 * 
 */
  __pyx_t_5 = ((__pyx_v_self->_button & 4) != 0);
  if (__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L22_bool_binop_done;
  }
  __pyx_t_5 = ImGui::IsMouseDown(ImGuiMouseButton_Middle);
  __pyx_t_1 = __pyx_t_5;
  __pyx_L22_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4319
 *             mouse_down = True
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):
 *             mouse_down = True             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_mouse_down = 1;

    /* "dearcygui/core.pyx":4318
 *         if (self._button & 2) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Right):
 *             mouse_down = True
 *         if (self._button & 4) != 0 and imgui.IsMouseDown(imgui.ImGuiMouseButton_Middle):             # <<<<<<<<<<<<<<
 *             mouse_down = True
 * 
 */
  }

  /* "dearcygui/core.pyx":4325
 *         cdef implot.ImPlotPoint cur_mouse_pos_plot
 * 
 *         cdef bool hovered = False             # <<<<<<<<<<<<<<
 *         cdef bool held = False
 *         cdef bint activated
 */
  __pyx_v_hovered = 0;

  /* "dearcygui/core.pyx":4326
 * 
 *         cdef bool hovered = False
 *         cdef bool held = False             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         if not(self._no_input):
 */
  __pyx_v_held = 0;

  /* "dearcygui/core.pyx":4328
 *         cdef bool held = False
 *         cdef bint activated
 *         if not(self._no_input):             # <<<<<<<<<<<<<<
 *             activated = InvisibleDrawButton(self.uuid,
 *                                             top_left,
 */
  __pyx_t_1 = (!__pyx_v_self->_no_input);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4329
 *         cdef bint activated
 *         if not(self._no_input):
 *             activated = InvisibleDrawButton(self.uuid,             # <<<<<<<<<<<<<<
 *                                             top_left,
 *                                             size,
 */
    __pyx_v_activated = InvisibleDrawButton(__pyx_v_self->__pyx_base.__pyx_base.uuid, ((ImVec2 &)__pyx_v_top_left), ((ImVec2 &)__pyx_v_size), __pyx_v_self->_button, __pyx_v_self->_capture_mouse, (&__pyx_v_hovered), (&__pyx_v_held));

    /* "dearcygui/core.pyx":4328
 *         cdef bool held = False
 *         cdef bint activated
 *         if not(self._no_input):             # <<<<<<<<<<<<<<
 *             activated = InvisibleDrawButton(self.uuid,
 *                                             top_left,
 */
    goto __pyx_L24;
  }

  /* "dearcygui/core.pyx":4337
 *                                             &held)
 *         else:
 *             activated = False             # <<<<<<<<<<<<<<
 *         self._capture_mouse = False
 *         self.state.cur.active = activated or held
 */
  /*else*/ {
    __pyx_v_activated = 0;
  }
  __pyx_L24:;

  /* "dearcygui/core.pyx":4338
 *         else:
 *             activated = False
 *         self._capture_mouse = False             # <<<<<<<<<<<<<<
 *         self.state.cur.active = activated or held
 *         self.state.cur.hovered = hovered
 */
  __pyx_v_self->_capture_mouse = 0;

  /* "dearcygui/core.pyx":4339
 *             activated = False
 *         self._capture_mouse = False
 *         self.state.cur.active = activated or held             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = hovered
 *         if activated:
 */
  if (!__pyx_v_activated) {
  } else {
    __pyx_t_1 = __pyx_v_activated;
    goto __pyx_L25_bool_binop_done;
  }
  __pyx_t_5 = (__pyx_v_held != 0);
  __pyx_t_1 = __pyx_t_5;
  __pyx_L25_bool_binop_done:;
  __pyx_v_self->state.cur.active = __pyx_t_1;

  /* "dearcygui/core.pyx":4340
 *         self._capture_mouse = False
 *         self.state.cur.active = activated or held
 *         self.state.cur.hovered = hovered             # <<<<<<<<<<<<<<
 *         if activated:
 *             if self.context._viewport.in_plot:
 */
  __pyx_v_self->state.cur.hovered = __pyx_v_hovered;

  /* "dearcygui/core.pyx":4341
 *         self.state.cur.active = activated or held
 *         self.state.cur.hovered = hovered
 *         if activated:             # <<<<<<<<<<<<<<
 *             if self.context._viewport.in_plot:
 *                 # IMPLOT_AUTO uses current axes
 */
  if (__pyx_v_activated) {

    /* "dearcygui/core.pyx":4342
 *         self.state.cur.hovered = hovered
 *         if activated:
 *             if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *                 # IMPLOT_AUTO uses current axes
 *                 cur_mouse_pos_plot = \
 */
    if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {

      /* "dearcygui/core.pyx":4345
 *                 # IMPLOT_AUTO uses current axes
 *                 cur_mouse_pos_plot = \
 *                     implot.GetPlotMousePos(implot.IMPLOT_AUTO,             # <<<<<<<<<<<<<<
 *                                            implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x
 */
      __pyx_v_cur_mouse_pos_plot = ImPlot::GetPlotMousePos(IMPLOT_AUTO, IMPLOT_AUTO);

      /* "dearcygui/core.pyx":4347
 *                     implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 *                                            implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x             # <<<<<<<<<<<<<<
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y
 *                 self.initial_mouse_position = cur_mouse_pos
 */
      __pyx_v_cur_mouse_pos.x = ((float)__pyx_v_cur_mouse_pos_plot.x);

      /* "dearcygui/core.pyx":4348
 *                                            implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y             # <<<<<<<<<<<<<<
 *                 self.initial_mouse_position = cur_mouse_pos
 *             else:
 */
      __pyx_v_cur_mouse_pos.y = ((float)__pyx_v_cur_mouse_pos_plot.y);

      /* "dearcygui/core.pyx":4349
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y
 *                 self.initial_mouse_position = cur_mouse_pos             # <<<<<<<<<<<<<<
 *             else:
 *                 self.initial_mouse_position = imgui.GetMousePos()
 */
      __pyx_v_self->initial_mouse_position = __pyx_v_cur_mouse_pos;

      /* "dearcygui/core.pyx":4342
 *         self.state.cur.hovered = hovered
 *         if activated:
 *             if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *                 # IMPLOT_AUTO uses current axes
 *                 cur_mouse_pos_plot = \
 */
      goto __pyx_L28;
    }

    /* "dearcygui/core.pyx":4351
 *                 self.initial_mouse_position = cur_mouse_pos
 *             else:
 *                 self.initial_mouse_position = imgui.GetMousePos()             # <<<<<<<<<<<<<<
 *         cdef bint dragging = False
 *         cdef int i
 */
    /*else*/ {
      __pyx_v_self->initial_mouse_position = ImGui::GetMousePos();
    }
    __pyx_L28:;

    /* "dearcygui/core.pyx":4341
 *         self.state.cur.active = activated or held
 *         self.state.cur.hovered = hovered
 *         if activated:             # <<<<<<<<<<<<<<
 *             if self.context._viewport.in_plot:
 *                 # IMPLOT_AUTO uses current axes
 */
  }

  /* "dearcygui/core.pyx":4352
 *             else:
 *                 self.initial_mouse_position = imgui.GetMousePos()
 *         cdef bint dragging = False             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self.state.cur.active:
 */
  __pyx_v_dragging = 0;

  /* "dearcygui/core.pyx":4354
 *         cdef bint dragging = False
 *         cdef int i
 *         if self.state.cur.active:             # <<<<<<<<<<<<<<
 *             if self.context._viewport.in_plot:
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 */
  if (__pyx_v_self->state.cur.active) {

    /* "dearcygui/core.pyx":4355
 *         cdef int i
 *         if self.state.cur.active:
 *             if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 *                                                             implot.IMPLOT_AUTO)
 */
    if (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot) {

      /* "dearcygui/core.pyx":4356
 *         if self.state.cur.active:
 *             if self.context._viewport.in_plot:
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,             # <<<<<<<<<<<<<<
 *                                                             implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x
 */
      __pyx_v_cur_mouse_pos_plot = ImPlot::GetPlotMousePos(IMPLOT_AUTO, IMPLOT_AUTO);

      /* "dearcygui/core.pyx":4358
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 *                                                             implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x             # <<<<<<<<<<<<<<
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y
 *             else:
 */
      __pyx_v_cur_mouse_pos.x = ((float)__pyx_v_cur_mouse_pos_plot.x);

      /* "dearcygui/core.pyx":4359
 *                                                             implot.IMPLOT_AUTO)
 *                 cur_mouse_pos.x = <float>cur_mouse_pos_plot.x
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y             # <<<<<<<<<<<<<<
 *             else:
 *                 cur_mouse_pos = imgui.GetMousePos()
 */
      __pyx_v_cur_mouse_pos.y = ((float)__pyx_v_cur_mouse_pos_plot.y);

      /* "dearcygui/core.pyx":4355
 *         cdef int i
 *         if self.state.cur.active:
 *             if self.context._viewport.in_plot:             # <<<<<<<<<<<<<<
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 *                                                             implot.IMPLOT_AUTO)
 */
      goto __pyx_L30;
    }

    /* "dearcygui/core.pyx":4361
 *                 cur_mouse_pos.y = <float>cur_mouse_pos_plot.y
 *             else:
 *                 cur_mouse_pos = imgui.GetMousePos()             # <<<<<<<<<<<<<<
 *             dragging = cur_mouse_pos.x != self.initial_mouse_position.x or \
 *                        cur_mouse_pos.y != self.initial_mouse_position.y
 */
    /*else*/ {
      __pyx_v_cur_mouse_pos = ImGui::GetMousePos();
    }
    __pyx_L30:;

    /* "dearcygui/core.pyx":4362
 *             else:
 *                 cur_mouse_pos = imgui.GetMousePos()
 *             dragging = cur_mouse_pos.x != self.initial_mouse_position.x or \             # <<<<<<<<<<<<<<
 *                        cur_mouse_pos.y != self.initial_mouse_position.y
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
    __pyx_t_5 = (__pyx_v_cur_mouse_pos.x != __pyx_v_self->initial_mouse_position.x);
    if (!__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L31_bool_binop_done;
    }

    /* "dearcygui/core.pyx":4363
 *                 cur_mouse_pos = imgui.GetMousePos()
 *             dragging = cur_mouse_pos.x != self.initial_mouse_position.x or \
 *                        cur_mouse_pos.y != self.initial_mouse_position.y             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)
 */
    __pyx_t_5 = (__pyx_v_cur_mouse_pos.y != __pyx_v_self->initial_mouse_position.y);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L31_bool_binop_done:;
    __pyx_v_dragging = __pyx_t_1;

    /* "dearcygui/core.pyx":4364
 *             dragging = cur_mouse_pos.x != self.initial_mouse_position.x or \
 *                        cur_mouse_pos.y != self.initial_mouse_position.y
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)
 *                 if dragging:
 */
    __pyx_t_8 = ((int)ImGuiMouseButton_COUNT);
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "dearcygui/core.pyx":4365
 *                        cur_mouse_pos.y != self.initial_mouse_position.y
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)             # <<<<<<<<<<<<<<
 *                 if dragging:
 *                     self.state.cur.drag_deltas[i].x = cur_mouse_pos.x - self.initial_mouse_position.x
 */
      if (__pyx_v_dragging) {
      } else {
        __pyx_t_1 = __pyx_v_dragging;
        goto __pyx_L35_bool_binop_done;
      }
      __pyx_t_5 = ImGui::IsMouseDown(__pyx_v_i);
      __pyx_t_1 = __pyx_t_5;
      __pyx_L35_bool_binop_done:;
      (__pyx_v_self->state.cur.dragging[__pyx_v_i]) = __pyx_t_1;

      /* "dearcygui/core.pyx":4366
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)
 *                 if dragging:             # <<<<<<<<<<<<<<
 *                     self.state.cur.drag_deltas[i].x = cur_mouse_pos.x - self.initial_mouse_position.x
 *                     self.state.cur.drag_deltas[i].y = cur_mouse_pos.y - self.initial_mouse_position.y
 */
      if (__pyx_v_dragging) {

        /* "dearcygui/core.pyx":4367
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)
 *                 if dragging:
 *                     self.state.cur.drag_deltas[i].x = cur_mouse_pos.x - self.initial_mouse_position.x             # <<<<<<<<<<<<<<
 *                     self.state.cur.drag_deltas[i].y = cur_mouse_pos.y - self.initial_mouse_position.y
 *         else:
 */
        (__pyx_v_self->state.cur.drag_deltas[__pyx_v_i]).x = (__pyx_v_cur_mouse_pos.x - __pyx_v_self->initial_mouse_position.x);

        /* "dearcygui/core.pyx":4368
 *                 if dragging:
 *                     self.state.cur.drag_deltas[i].x = cur_mouse_pos.x - self.initial_mouse_position.x
 *                     self.state.cur.drag_deltas[i].y = cur_mouse_pos.y - self.initial_mouse_position.y             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
        (__pyx_v_self->state.cur.drag_deltas[__pyx_v_i]).y = (__pyx_v_cur_mouse_pos.y - __pyx_v_self->initial_mouse_position.y);

        /* "dearcygui/core.pyx":4366
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.dragging[i] = dragging and imgui.IsMouseDown(i)
 *                 if dragging:             # <<<<<<<<<<<<<<
 *                     self.state.cur.drag_deltas[i].x = cur_mouse_pos.x - self.initial_mouse_position.x
 *                     self.state.cur.drag_deltas[i].y = cur_mouse_pos.y - self.initial_mouse_position.y
 */
      }
    }

    /* "dearcygui/core.pyx":4354
 *         cdef bint dragging = False
 *         cdef int i
 *         if self.state.cur.active:             # <<<<<<<<<<<<<<
 *             if self.context._viewport.in_plot:
 *                 cur_mouse_pos_plot = implot.GetPlotMousePos(implot.IMPLOT_AUTO,
 */
    goto __pyx_L29;
  }

  /* "dearcygui/core.pyx":4370
 *                     self.state.cur.drag_deltas[i].y = cur_mouse_pos.y - self.initial_mouse_position.y
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 self.state.cur.dragging[i] = False
 * 
 */
  /*else*/ {
    __pyx_t_8 = ((int)ImGuiMouseButton_COUNT);
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "dearcygui/core.pyx":4371
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.dragging[i] = False             # <<<<<<<<<<<<<<
 * 
 *         if self.state.cur.hovered:
 */
      (__pyx_v_self->state.cur.dragging[__pyx_v_i]) = 0;
    }
  }
  __pyx_L29:;

  /* "dearcygui/core.pyx":4373
 *                 self.state.cur.dragging[i] = False
 * 
 *         if self.state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 */
  if (__pyx_v_self->state.cur.hovered) {

    /* "dearcygui/core.pyx":4374
 * 
 *         if self.state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 self.state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 *                 self.state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 */
    __pyx_t_8 = ((int)ImGuiMouseButton_COUNT);
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "dearcygui/core.pyx":4375
 *         if self.state.cur.hovered:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = imgui.IsMouseClicked(i, False)             # <<<<<<<<<<<<<<
 *                 self.state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 *         else:
 */
      (__pyx_v_self->state.cur.clicked[__pyx_v_i]) = ImGui::IsMouseClicked(__pyx_v_i, 0);

      /* "dearcygui/core.pyx":4376
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 *                 self.state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
      (__pyx_v_self->state.cur.double_clicked[__pyx_v_i]) = ImGui::IsMouseDoubleClicked(__pyx_v_i);
    }

    /* "dearcygui/core.pyx":4373
 *                 self.state.cur.dragging[i] = False
 * 
 *         if self.state.cur.hovered:             # <<<<<<<<<<<<<<
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = imgui.IsMouseClicked(i, False)
 */
    goto __pyx_L40;
  }

  /* "dearcygui/core.pyx":4378
 *                 self.state.cur.double_clicked[i] = imgui.IsMouseDoubleClicked(i)
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *                 self.state.cur.clicked[i] = False
 *                 self.state.cur.double_clicked[i] = False
 */
  /*else*/ {
    __pyx_t_8 = ((int)ImGuiMouseButton_COUNT);
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "dearcygui/core.pyx":4379
 *         else:
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = False             # <<<<<<<<<<<<<<
 *                 self.state.cur.double_clicked[i] = False
 * 
 */
      (__pyx_v_self->state.cur.clicked[__pyx_v_i]) = 0;

      /* "dearcygui/core.pyx":4380
 *             for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *                 self.state.cur.clicked[i] = False
 *                 self.state.cur.double_clicked[i] = False             # <<<<<<<<<<<<<<
 * 
 *         self.run_handlers()
 */
      (__pyx_v_self->state.cur.double_clicked[__pyx_v_i]) = 0;
    }
  }
  __pyx_L40:;

  /* "dearcygui/core.pyx":4382
 *                 self.state.cur.double_clicked[i] = False
 * 
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":4231
 *         self._capture_mouse = value
 * 
 *     cdef void draw(self,             # <<<<<<<<<<<<<<
 *                    imgui.ImDrawList* drawlist) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_19DrawInvisibleButton_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_19DrawInvisibleButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInvisibleButton.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4420
 *     visible/etc tests maintained and thus do not have a callback.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self.state.cap.can_be_clicked = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12DrawInWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12DrawInWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawInWindow___cinit__(((struct __pyx_obj_9dearcygui_4core_DrawInWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12DrawInWindow___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4421
 *     """
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":4422
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":4423
 *         self.can_have_drawing_child = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":4424
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":4425
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":4420
 *     visible/etc tests maintained and thus do not have a callback.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self.state.cap.can_be_clicked = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4427
 *         self.state.cap.has_rect_size = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # negative width is used to indicate UI alignment
 *         cdef float clip_width = abs(self.requested_size.x)
 */

static int __pyx_f_9dearcygui_4core_12DrawInWindow_draw_item(struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self) {
  float __pyx_v_clip_width;
  float __pyx_v_clip_height;
  ImDrawList *__pyx_v_drawlist;
  float __pyx_v_startx;
  float __pyx_v_starty;
  int __pyx_v_active;
  int __pyx_r;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;
  double __pyx_t_4[2];

  /* "dearcygui/core.pyx":4429
 *     cdef bint draw_item(self) noexcept nogil:
 *         # negative width is used to indicate UI alignment
 *         cdef float clip_width = abs(self.requested_size.x)             # <<<<<<<<<<<<<<
 *         if clip_width == 0:
 *             clip_width = imgui.CalcItemWidth()
 */
  __pyx_v_clip_width = fabsf(__pyx_v_self->__pyx_base.requested_size.x);

  /* "dearcygui/core.pyx":4430
 *         # negative width is used to indicate UI alignment
 *         cdef float clip_width = abs(self.requested_size.x)
 *         if clip_width == 0:             # <<<<<<<<<<<<<<
 *             clip_width = imgui.CalcItemWidth()
 *         cdef float clip_height = self.requested_size.y
 */
  __pyx_t_1 = (__pyx_v_clip_width == 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4431
 *         cdef float clip_width = abs(self.requested_size.x)
 *         if clip_width == 0:
 *             clip_width = imgui.CalcItemWidth()             # <<<<<<<<<<<<<<
 *         cdef float clip_height = self.requested_size.y
 *         if clip_height <= 0 or clip_width == 0:
 */
    __pyx_v_clip_width = ImGui::CalcItemWidth();

    /* "dearcygui/core.pyx":4430
 *         # negative width is used to indicate UI alignment
 *         cdef float clip_width = abs(self.requested_size.x)
 *         if clip_width == 0:             # <<<<<<<<<<<<<<
 *             clip_width = imgui.CalcItemWidth()
 *         cdef float clip_height = self.requested_size.y
 */
  }

  /* "dearcygui/core.pyx":4432
 *         if clip_width == 0:
 *             clip_width = imgui.CalcItemWidth()
 *         cdef float clip_height = self.requested_size.y             # <<<<<<<<<<<<<<
 *         if clip_height <= 0 or clip_width == 0:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.requested_size.y;
  __pyx_v_clip_height = __pyx_t_2;

  /* "dearcygui/core.pyx":4433
 *             clip_width = imgui.CalcItemWidth()
 *         cdef float clip_height = self.requested_size.y
 *         if clip_height <= 0 or clip_width == 0:             # <<<<<<<<<<<<<<
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though
 *             return False
 */
  __pyx_t_3 = (__pyx_v_clip_height <= 0.0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_clip_width == 0.0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4434
 *         cdef float clip_height = self.requested_size.y
 *         if clip_height <= 0 or clip_width == 0:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though             # <<<<<<<<<<<<<<
 *             return False
 *         cdef imgui.ImDrawList* drawlist = imgui.GetWindowDrawList()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInWindow *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":4435
 *         if clip_height <= 0 or clip_width == 0:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though
 *             return False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImDrawList* drawlist = imgui.GetWindowDrawList()
 * 
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4433
 *             clip_width = imgui.CalcItemWidth()
 *         cdef float clip_height = self.requested_size.y
 *         if clip_height <= 0 or clip_width == 0:             # <<<<<<<<<<<<<<
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though
 *             return False
 */
  }

  /* "dearcygui/core.pyx":4436
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers() # won't propagate though
 *             return False
 *         cdef imgui.ImDrawList* drawlist = imgui.GetWindowDrawList()             # <<<<<<<<<<<<<<
 * 
 *         cdef float startx = <float>imgui.GetCursorScreenPos().x
 */
  __pyx_v_drawlist = ImGui::GetWindowDrawList();

  /* "dearcygui/core.pyx":4438
 *         cdef imgui.ImDrawList* drawlist = imgui.GetWindowDrawList()
 * 
 *         cdef float startx = <float>imgui.GetCursorScreenPos().x             # <<<<<<<<<<<<<<
 *         cdef float starty = <float>imgui.GetCursorScreenPos().y
 * 
 */
  __pyx_v_startx = ((float)ImGui::GetCursorScreenPos().x);

  /* "dearcygui/core.pyx":4439
 * 
 *         cdef float startx = <float>imgui.GetCursorScreenPos().x
 *         cdef float starty = <float>imgui.GetCursorScreenPos().y             # <<<<<<<<<<<<<<
 * 
 *         # Reset current drawInfo
 */
  __pyx_v_starty = ((float)ImGui::GetCursorScreenPos().y);

  /* "dearcygui/core.pyx":4442
 * 
 *         # Reset current drawInfo
 *         self.context._viewport.in_plot = False             # <<<<<<<<<<<<<<
 *         self.context._viewport.parent_pos = imgui.GetCursorScreenPos()
 *         self.context._viewport.shifts[0] = <double>startx
 */
  __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->in_plot = 0;

  /* "dearcygui/core.pyx":4443
 *         # Reset current drawInfo
 *         self.context._viewport.in_plot = False
 *         self.context._viewport.parent_pos = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts[0] = <double>startx
 *         self.context._viewport.shifts[1] = <double>starty
 */
  __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = ImGui::GetCursorScreenPos();

  /* "dearcygui/core.pyx":4444
 *         self.context._viewport.in_plot = False
 *         self.context._viewport.parent_pos = imgui.GetCursorScreenPos()
 *         self.context._viewport.shifts[0] = <double>startx             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts[1] = <double>starty
 *         self.context._viewport.scales = [1., 1.]
 */
  (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[0]) = ((double)__pyx_v_startx);

  /* "dearcygui/core.pyx":4445
 *         self.context._viewport.parent_pos = imgui.GetCursorScreenPos()
 *         self.context._viewport.shifts[0] = <double>startx
 *         self.context._viewport.shifts[1] = <double>starty             # <<<<<<<<<<<<<<
 *         self.context._viewport.scales = [1., 1.]
 * 
 */
  (__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->shifts[1]) = ((double)__pyx_v_starty);

  /* "dearcygui/core.pyx":4446
 *         self.context._viewport.shifts[0] = <double>startx
 *         self.context._viewport.shifts[1] = <double>starty
 *         self.context._viewport.scales = [1., 1.]             # <<<<<<<<<<<<<<
 * 
 *         imgui.PushClipRect(imgui.ImVec2(startx, starty),
 */
  __pyx_t_4[0] = 1.;
  __pyx_t_4[1] = 1.;
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_t_4, sizeof(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2));

  /* "dearcygui/core.pyx":4448
 *         self.context._viewport.scales = [1., 1.]
 * 
 *         imgui.PushClipRect(imgui.ImVec2(startx, starty),             # <<<<<<<<<<<<<<
 *                            imgui.ImVec2(startx + clip_width,
 *                                         starty + clip_height),
 */
  ImGui::PushClipRect(ImVec2(__pyx_v_startx, __pyx_v_starty), ImVec2((__pyx_v_startx + __pyx_v_clip_width), (__pyx_v_starty + __pyx_v_clip_height)), 1);

  /* "dearcygui/core.pyx":4453
 *                            True)
 * 
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_drawings_child.draw(drawlist)
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4454
 * 
 *         if self.last_drawings_child is not None:
 *             self.last_drawings_child.draw(drawlist)             # <<<<<<<<<<<<<<
 * 
 *         imgui.PopClipRect()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_drawings_child, __pyx_v_drawlist);

    /* "dearcygui/core.pyx":4453
 *                            True)
 * 
 *         if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *             self.last_drawings_child.draw(drawlist)
 * 
 */
  }

  /* "dearcygui/core.pyx":4456
 *             self.last_drawings_child.draw(drawlist)
 * 
 *         imgui.PopClipRect()             # <<<<<<<<<<<<<<
 * 
 *         # Indicate the item might be overlapped by over UI,
 */
  ImGui::PopClipRect();

  /* "dearcygui/core.pyx":4461
 *         # for correct hovering tests. Indeed the user might want
 *         # to insert some UI on top of the draw elements.
 *         imgui.SetNextItemAllowOverlap()             # <<<<<<<<<<<<<<
 *         cdef bint active = imgui.InvisibleButton(self.imgui_label.c_str(),
 *                                  imgui.ImVec2(clip_width,
 */
  ImGui::SetNextItemAllowOverlap();

  /* "dearcygui/core.pyx":4462
 *         # to insert some UI on top of the draw elements.
 *         imgui.SetNextItemAllowOverlap()
 *         cdef bint active = imgui.InvisibleButton(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  imgui.ImVec2(clip_width,
 *                                               clip_height),
 */
  __pyx_v_active = ImGui::InvisibleButton(__pyx_v_self->__pyx_base.imgui_label.c_str(), ImVec2(__pyx_v_clip_width, __pyx_v_clip_height), ((ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight) | ImGuiButtonFlags_MouseButtonMiddle));

  /* "dearcygui/core.pyx":4468
 *                                  imgui.ImGuiButtonFlags_MouseButtonRight | \
 *                                  imgui.ImGuiButtonFlags_MouseButtonMiddle)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return active
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInWindow *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":4469
 *                                  imgui.ImGuiButtonFlags_MouseButtonMiddle)
 *         self.update_current_state()
 *         return active             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_active;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4427
 *         self.state.cap.has_rect_size = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # negative width is used to indicate UI alignment
 *         cdef float clip_width = abs(self.requested_size.x)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawInWindow_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawInWindow_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawInWindow_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawInWindow_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawInWindow_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawInWindow_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInWindow.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12DrawInWindow_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12DrawInWindow_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawInWindow_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12DrawInWindow_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12DrawInWindow_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInWindow *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12DrawInWindow_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInWindow.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4473
 * 
 * cdef class ViewportDrawList_(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_viewport_drawlist
 *         self.can_have_drawing_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17ViewportDrawList__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_17ViewportDrawList__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_17ViewportDrawList____cinit__(((struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17ViewportDrawList____cinit__(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4474
 * cdef class ViewportDrawList_(baseItem):
 *     def __cinit__(self):
 *         self.element_child_category = child_type.cat_viewport_drawlist             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self._show = True
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_viewport_drawlist;

  /* "dearcygui/core.pyx":4475
 *     def __cinit__(self):
 *         self.element_child_category = child_type.cat_viewport_drawlist
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self._front = True
 */
  __pyx_v_self->__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":4476
 *         self.element_child_category = child_type.cat_viewport_drawlist
 *         self.can_have_drawing_child = True
 *         self._show = True             # <<<<<<<<<<<<<<
 *         self._front = True
 * 
 */
  __pyx_v_self->_show = 1;

  /* "dearcygui/core.pyx":4477
 *         self.can_have_drawing_child = True
 *         self._show = True
 *         self._front = True             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __pyx_v_self->_front = 1;

  /* "dearcygui/core.pyx":4473
 * 
 * cdef class ViewportDrawList_(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_viewport_drawlist
 *         self.can_have_drawing_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4479
 *         self._front = True
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if not(self._show):
 */

static void __pyx_f_9dearcygui_4core_17ViewportDrawList__draw(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImDrawList *__pyx_v_internal_drawlist;
  int __pyx_t_1;
  double __pyx_t_2[2];
  double __pyx_t_3[2];
  ImDrawList *__pyx_t_4;

  /* "dearcygui/core.pyx":4480
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if not(self._show):
 *             return
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4481
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  __pyx_t_1 = (!__pyx_v_self->_show);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4482
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if not(self._show):
 *             return             # <<<<<<<<<<<<<<
 *         if self.last_drawings_child is None:
 *             return
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4481
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_drawings_child is None:
 */
  }

  /* "dearcygui/core.pyx":4483
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.last_drawings_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4484
 *             return
 *         if self.last_drawings_child is None:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # Reset current drawInfo
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4483
 *         if not(self._show):
 *             return
 *         if self.last_drawings_child is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":4487
 * 
 *         # Reset current drawInfo
 *         self.context._viewport.in_plot = False             # <<<<<<<<<<<<<<
 *         self.context._viewport.window_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.parent_pos = imgui.ImVec2(0., 0.)
 */
  __pyx_v_self->__pyx_base.context->_viewport->in_plot = 0;

  /* "dearcygui/core.pyx":4488
 *         # Reset current drawInfo
 *         self.context._viewport.in_plot = False
 *         self.context._viewport.window_pos = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         self.context._viewport.parent_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.shifts = [0., 0.]
 */
  __pyx_v_self->__pyx_base.context->_viewport->window_pos = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":4489
 *         self.context._viewport.in_plot = False
 *         self.context._viewport.window_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.parent_pos = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts = [0., 0.]
 *         self.context._viewport.scales = [1., 1.]
 */
  __pyx_v_self->__pyx_base.context->_viewport->parent_pos = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":4490
 *         self.context._viewport.window_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.parent_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.shifts = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.context._viewport.scales = [1., 1.]
 * 
 */
  __pyx_t_2[0] = 0.;
  __pyx_t_2[1] = 0.;
  memcpy(&(__pyx_v_self->__pyx_base.context->_viewport->shifts[0]), __pyx_t_2, sizeof(__pyx_v_self->__pyx_base.context->_viewport->shifts[0]) * (2));

  /* "dearcygui/core.pyx":4491
 *         self.context._viewport.parent_pos = imgui.ImVec2(0., 0.)
 *         self.context._viewport.shifts = [0., 0.]
 *         self.context._viewport.scales = [1., 1.]             # <<<<<<<<<<<<<<
 * 
 *         cdef imgui.ImDrawList* internal_drawlist = \
 */
  __pyx_t_3[0] = 1.;
  __pyx_t_3[1] = 1.;
  memcpy(&(__pyx_v_self->__pyx_base.context->_viewport->scales[0]), __pyx_t_3, sizeof(__pyx_v_self->__pyx_base.context->_viewport->scales[0]) * (2));

  /* "dearcygui/core.pyx":4494
 * 
 *         cdef imgui.ImDrawList* internal_drawlist = \
 *             imgui.GetForegroundDrawList() if self._front else \             # <<<<<<<<<<<<<<
 *             imgui.GetBackgroundDrawList()
 *         self.last_drawings_child.draw(internal_drawlist)
 */
  if (__pyx_v_self->_front) {
    __pyx_t_4 = ImGui::GetForegroundDrawList();
  } else {

    /* "dearcygui/core.pyx":4495
 *         cdef imgui.ImDrawList* internal_drawlist = \
 *             imgui.GetForegroundDrawList() if self._front else \
 *             imgui.GetBackgroundDrawList()             # <<<<<<<<<<<<<<
 *         self.last_drawings_child.draw(internal_drawlist)
 * 
 */
    __pyx_t_4 = ImGui::GetBackgroundDrawList();
  }
  __pyx_v_internal_drawlist = __pyx_t_4;

  /* "dearcygui/core.pyx":4496
 *             imgui.GetForegroundDrawList() if self._front else \
 *             imgui.GetBackgroundDrawList()
 *         self.last_drawings_child.draw(internal_drawlist)             # <<<<<<<<<<<<<<
 * 
 * """
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.last_drawings_child, __pyx_v_internal_drawlist);

  /* "dearcygui/core.pyx":4479
 *         self._front = True
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if not(self._show):
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17ViewportDrawList__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17ViewportDrawList__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ViewportDrawList_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17ViewportDrawList__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17ViewportDrawList__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ViewportDrawList_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4510
 * 
 * cdef class KeyDownHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_15KeyDownHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_15KeyDownHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_15KeyDownHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_15KeyDownHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4511
 * cdef class KeyDownHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_key = ImGuiKey_None;

  /* "dearcygui/core.pyx":4510
 * 
 * cdef class KeyDownHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4513
 *         self._key = imgui.ImGuiKey_None
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef imgui.ImGuiKeyData *key_info
 */

static int __pyx_f_9dearcygui_4core_15KeyDownHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  struct ImGuiKeyData *__pyx_v_key_info;
  int __pyx_r;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4516
 *         cdef int i
 *         cdef imgui.ImGuiKeyData *key_info
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4517
 *         cdef imgui.ImGuiKeyData *key_info
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4518
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)             # <<<<<<<<<<<<<<
 *                 if key_info.Down:
 *                     return True
 */
      __pyx_v_key_info = ImGui::GetKeyData(((enum ImGuiKey)__pyx_v_i));

      /* "dearcygui/core.pyx":4519
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      if (__pyx_v_key_info->Down) {

        /* "dearcygui/core.pyx":4520
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:
 *                     return True             # <<<<<<<<<<<<<<
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 */
        __pyx_r = 1;
        goto __pyx_L0;

        /* "dearcygui/core.pyx":4519
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4516
 *         cdef int i
 *         cdef imgui.ImGuiKeyData *key_info
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":4522
 *                     return True
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)             # <<<<<<<<<<<<<<
 *             if key_info.Down:
 *                 return True
 */
  /*else*/ {
    __pyx_v_key_info = ImGui::GetKeyData(((enum ImGuiKey)__pyx_v_self->_key));

    /* "dearcygui/core.pyx":4523
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    if (__pyx_v_key_info->Down) {

      /* "dearcygui/core.pyx":4524
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4523
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":4525
 *             if key_info.Down:
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4513
 *         self._key = imgui.ImGuiKey_None
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef imgui.ImGuiKeyData *key_info
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4527
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef imgui.ImGuiKeyData *key_info
 */

static void __pyx_f_9dearcygui_4core_15KeyDownHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  struct ImGuiKeyData *__pyx_v_key_info;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4528
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiKeyData *key_info
 *         cdef int i
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4531
 *         cdef imgui.ImGuiKeyData *key_info
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4532
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4531
 *         cdef imgui.ImGuiKeyData *key_info
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4533
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4534
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4533
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  }

  /* "dearcygui/core.pyx":4535
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4536
 *             return
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4537
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)             # <<<<<<<<<<<<<<
 *                 if key_info.Down:
 *                     self.context.queue_callback_arg1int1float(self._callback, self, item, i, key_info.DownDuration)
 */
      __pyx_v_key_info = ImGui::GetKeyData(((enum ImGuiKey)__pyx_v_i));

      /* "dearcygui/core.pyx":4538
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int1float(self._callback, self, item, i, key_info.DownDuration)
 *         else:
 */
      if (__pyx_v_key_info->Down) {

        /* "dearcygui/core.pyx":4539
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:
 *                     self.context.queue_callback_arg1int1float(self._callback, self, item, i, key_info.DownDuration)             # <<<<<<<<<<<<<<
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 */
        ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int1float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i, __pyx_v_key_info->DownDuration);

        /* "dearcygui/core.pyx":4538
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 *                 if key_info.Down:             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int1float(self._callback, self, item, i, key_info.DownDuration)
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4535
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 key_info = imgui.GetKeyData(<imgui.ImGuiKey>i)
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":4541
 *                     self.context.queue_callback_arg1int1float(self._callback, self, item, i, key_info.DownDuration)
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)             # <<<<<<<<<<<<<<
 *             if key_info.Down:
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, self._key, key_info.DownDuration)
 */
  /*else*/ {
    __pyx_v_key_info = ImGui::GetKeyData(((enum ImGuiKey)__pyx_v_self->_key));

    /* "dearcygui/core.pyx":4542
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, self._key, key_info.DownDuration)
 * 
 */
    if (__pyx_v_key_info->Down) {

      /* "dearcygui/core.pyx":4543
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, self._key, key_info.DownDuration)             # <<<<<<<<<<<<<<
 * 
 * cdef class KeyPressHandler_(baseHandler):
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int1float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_self->_key, __pyx_v_key_info->DownDuration);

      /* "dearcygui/core.pyx":4542
 *         else:
 *             key_info = imgui.GetKeyData(<imgui.ImGuiKey>self._key)
 *             if key_info.Down:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, self._key, key_info.DownDuration)
 * 
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":4527
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef imgui.ImGuiKeyData *key_info
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15KeyDownHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_15KeyDownHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyDownHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15KeyDownHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_15KeyDownHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyDownHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4546
 * 
 * cdef class KeyPressHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 *         self._repeat = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16KeyPressHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16KeyPressHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16KeyPressHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16KeyPressHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4547
 * cdef class KeyPressHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None             # <<<<<<<<<<<<<<
 *         self._repeat = True
 * 
 */
  __pyx_v_self->_key = ImGuiKey_None;

  /* "dearcygui/core.pyx":4548
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None
 *         self._repeat = True             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_repeat = 1;

  /* "dearcygui/core.pyx":4546
 * 
 * cdef class KeyPressHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 *         self._repeat = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4550
 *         self._repeat = True
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._key == 0:
 */

static int __pyx_f_9dearcygui_4core_16KeyPressHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4552
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4553
 *         cdef int i
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 *                     return True
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4554
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      __pyx_t_1 = ImGui::IsKeyPressed(((enum ImGuiKey)__pyx_v_i), __pyx_v_self->_repeat);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":4555
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 *                     return True             # <<<<<<<<<<<<<<
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):
 */
        __pyx_r = 1;
        goto __pyx_L0;

        /* "dearcygui/core.pyx":4554
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4552
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":4557
 *                     return True
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
  /*else*/ {
    __pyx_t_1 = ImGui::IsKeyPressed(((enum ImGuiKey)__pyx_v_self->_key), __pyx_v_self->_repeat);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4558
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4557
 *                     return True
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":4559
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4550
 *         self._repeat = True
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._key == 0:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4561
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_16KeyPressHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4562
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4564
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4565
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4564
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4566
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4567
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4566
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  }

  /* "dearcygui/core.pyx":4568
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4569
 *             return
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4570
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 */
      __pyx_t_1 = ImGui::IsKeyPressed(((enum ImGuiKey)__pyx_v_i), __pyx_v_self->_repeat);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":4571
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)             # <<<<<<<<<<<<<<
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):
 */
        ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i);

        /* "dearcygui/core.pyx":4570
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4568
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyPressed(<imgui.ImGuiKey>i, self._repeat):
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":4573
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)
 * 
 */
  /*else*/ {
    __pyx_t_1 = ImGui::IsKeyPressed(((enum ImGuiKey)__pyx_v_self->_key), __pyx_v_self->_repeat);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4574
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)             # <<<<<<<<<<<<<<
 * 
 * cdef class KeyReleaseHandler_(baseHandler):
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_self->_key);

      /* "dearcygui/core.pyx":4573
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 *             if imgui.IsKeyPressed(<imgui.ImGuiKey>self._key, self._repeat):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)
 * 
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":4561
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16KeyPressHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16KeyPressHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyPressHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16KeyPressHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16KeyPressHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyPressHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4577
 * 
 * cdef class KeyReleaseHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_18KeyReleaseHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_18KeyReleaseHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_18KeyReleaseHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_18KeyReleaseHandler____cinit__(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4578
 * cdef class KeyReleaseHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._key = imgui.ImGuiKey_None             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_key = ImGuiKey_None;

  /* "dearcygui/core.pyx":4577
 * 
 * cdef class KeyReleaseHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._key = imgui.ImGuiKey_None
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4580
 *         self._key = imgui.ImGuiKey_None
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._key == 0:
 */

static int __pyx_f_9dearcygui_4core_18KeyReleaseHandler__check_state(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4582
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4583
 *         cdef int i
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 *                     return True
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4584
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      __pyx_t_1 = ImGui::IsKeyReleased(((enum ImGuiKey)__pyx_v_i));
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":4585
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 *                     return True             # <<<<<<<<<<<<<<
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):
 */
        __pyx_r = 1;
        goto __pyx_L0;

        /* "dearcygui/core.pyx":4584
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):             # <<<<<<<<<<<<<<
 *                     return True
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4582
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":4587
 *                     return True
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
  /*else*/ {
    __pyx_t_1 = ImGui::IsKeyReleased(((enum ImGuiKey)__pyx_v_self->_key));
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4588
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4587
 *                     return True
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":4589
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4580
 *         self._key = imgui.ImGuiKey_None
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._key == 0:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4591
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_18KeyReleaseHandler__run_handler(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiKey __pyx_t_2;
  enum ImGuiKey __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":4592
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4594
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4595
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4594
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4596
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4597
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4596
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self._key == 0:
 */
  }

  /* "dearcygui/core.pyx":4598
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 */
  __pyx_t_1 = (__pyx_v_self->_key == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4599
 *             return
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):             # <<<<<<<<<<<<<<
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 */
    __pyx_t_2 = ImGuiKey_AppForward;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = ImGuiKey_NamedKey_BEGIN; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":4600
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 */
      __pyx_t_1 = ImGui::IsKeyReleased(((enum ImGuiKey)__pyx_v_i));
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":4601
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)             # <<<<<<<<<<<<<<
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):
 */
        ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i);

        /* "dearcygui/core.pyx":4600
 *         if self._key == 0:
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):             # <<<<<<<<<<<<<<
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 */
      }
    }

    /* "dearcygui/core.pyx":4598
 *         if not(self._enabled):
 *             return
 *         if self._key == 0:             # <<<<<<<<<<<<<<
 *             for i in range(imgui.ImGuiKey_NamedKey_BEGIN, imgui.ImGuiKey_AppForward):
 *                 if imgui.IsKeyReleased(<imgui.ImGuiKey>i):
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":4603
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)
 * 
 */
  /*else*/ {
    __pyx_t_1 = ImGui::IsKeyReleased(((enum ImGuiKey)__pyx_v_self->_key));
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4604
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_self->_key);

      /* "dearcygui/core.pyx":4603
 *                     self.context.queue_callback_arg1int(self._callback, self, item, i)
 *         else:
 *             if imgui.IsKeyReleased(<imgui.ImGuiKey>self._key):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, self._key)
 * 
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":4591
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_18KeyReleaseHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_18KeyReleaseHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyReleaseHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_18KeyReleaseHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_18KeyReleaseHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.KeyReleaseHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4608
 * 
 * cdef class MouseClickHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 *         self._repeat = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_18MouseClickHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_18MouseClickHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_18MouseClickHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_18MouseClickHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4609
 * cdef class MouseClickHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._button = -1             # <<<<<<<<<<<<<<
 *         self._repeat = False
 * 
 */
  __pyx_v_self->_button = -1;

  /* "dearcygui/core.pyx":4610
 *     def __cinit__(self):
 *         self._button = -1
 *         self._repeat = False             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_repeat = 0;

  /* "dearcygui/core.pyx":4608
 * 
 * cdef class MouseClickHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 *         self._repeat = False
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4612
 *         self._repeat = False
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

static int __pyx_f_9dearcygui_4core_18MouseClickHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  enum ImGuiMouseButton_ __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4614
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_1 = ImGuiMouseButton_COUNT;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":4615
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4616
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseClicked(i, self._repeat):
 *                 return True
 */
      goto __pyx_L3_continue;

      /* "dearcygui/core.pyx":4615
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 */
    }

    /* "dearcygui/core.pyx":4617
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_4 = ImGui::IsMouseClicked(__pyx_v_i, __pyx_v_self->_repeat);
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4618
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4617
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
    __pyx_L3_continue:;
  }

  /* "dearcygui/core.pyx":4619
 *             if imgui.IsMouseClicked(i, self._repeat):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4612
 *         self._repeat = False
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4621
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_18MouseClickHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  enum ImGuiMouseButton_ __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4622
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4624
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4625
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4624
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4626
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4627
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4626
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":4628
 *         if not(self._enabled):
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_2 = ImGuiMouseButton_COUNT;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4629
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4630
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseClicked(i, self._repeat):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 */
      goto __pyx_L5_continue;

      /* "dearcygui/core.pyx":4629
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 */
    }

    /* "dearcygui/core.pyx":4631
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    __pyx_t_1 = ImGui::IsMouseClicked(__pyx_v_i, __pyx_v_self->_repeat);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4632
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)             # <<<<<<<<<<<<<<
 * 
 * cdef class MouseDoubleClickHandler_(baseHandler):
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i);

      /* "dearcygui/core.pyx":4631
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseClicked(i, self._repeat):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    }
    __pyx_L5_continue:;
  }

  /* "dearcygui/core.pyx":4621
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_18MouseClickHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_18MouseClickHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseClickHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_18MouseClickHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_18MouseClickHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseClickHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4635
 * 
 * cdef class MouseDoubleClickHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4636
 * cdef class MouseDoubleClickHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._button = -1             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_button = -1;

  /* "dearcygui/core.pyx":4635
 * 
 * cdef class MouseDoubleClickHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4638
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

static int __pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  enum ImGuiMouseButton_ __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4640
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_1 = ImGuiMouseButton_COUNT;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":4641
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4642
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDoubleClicked(i):
 *                 return True
 */
      goto __pyx_L3_continue;

      /* "dearcygui/core.pyx":4641
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 */
    }

    /* "dearcygui/core.pyx":4643
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_4 = ImGui::IsMouseDoubleClicked(__pyx_v_i);
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4644
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4643
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
    __pyx_L3_continue:;
  }

  /* "dearcygui/core.pyx":4645
 *             if imgui.IsMouseDoubleClicked(i):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4638
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4647
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  enum ImGuiMouseButton_ __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4648
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4650
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4651
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4650
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4652
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4653
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4652
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":4654
 *         if not(self._enabled):
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_2 = ImGuiMouseButton_COUNT;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4655
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4656
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDoubleClicked(i):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 */
      goto __pyx_L5_continue;

      /* "dearcygui/core.pyx":4655
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 */
    }

    /* "dearcygui/core.pyx":4657
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    __pyx_t_1 = ImGui::IsMouseDoubleClicked(__pyx_v_i);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4658
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i);

      /* "dearcygui/core.pyx":4657
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDoubleClicked(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    }
    __pyx_L5_continue:;
  }

  /* "dearcygui/core.pyx":4647
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDoubleClickHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_24MouseDoubleClickHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDoubleClickHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4662
 * 
 * cdef class MouseDownHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17MouseDownHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_17MouseDownHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDownHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17MouseDownHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4663
 * cdef class MouseDownHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._button = -1             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_button = -1;

  /* "dearcygui/core.pyx":4662
 * 
 * cdef class MouseDownHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4665
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

static int __pyx_f_9dearcygui_4core_17MouseDownHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  enum ImGuiMouseButton_ __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4667
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_1 = ImGuiMouseButton_COUNT;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":4668
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDown(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4669
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDown(i):
 *                 return True
 */
      goto __pyx_L3_continue;

      /* "dearcygui/core.pyx":4668
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDown(i):
 */
    }

    /* "dearcygui/core.pyx":4670
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDown(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_4 = ImGui::IsMouseDown(__pyx_v_i);
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4671
 *                 continue
 *             if imgui.IsMouseDown(i):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4670
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDown(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
    __pyx_L3_continue:;
  }

  /* "dearcygui/core.pyx":4672
 *             if imgui.IsMouseDown(i):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4665
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4674
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_17MouseDownHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  enum ImGuiMouseButton_ __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4675
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4677
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4678
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4677
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4679
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4680
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4679
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":4681
 *         if not(self._enabled):
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_2 = ImGuiMouseButton_COUNT;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4682
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDown(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4683
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDown(i):
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, i, imgui.GetIO().MouseDownDuration[i])
 */
      goto __pyx_L5_continue;

      /* "dearcygui/core.pyx":4682
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDown(i):
 */
    }

    /* "dearcygui/core.pyx":4684
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDown(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, i, imgui.GetIO().MouseDownDuration[i])
 * 
 */
    __pyx_t_1 = ImGui::IsMouseDown(__pyx_v_i);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4685
 *                 continue
 *             if imgui.IsMouseDown(i):
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, i, imgui.GetIO().MouseDownDuration[i])             # <<<<<<<<<<<<<<
 * 
 * cdef class MouseDragHandler_(baseHandler):
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int1float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i, (ImGui::GetIO().MouseDownDuration[__pyx_v_i]));

      /* "dearcygui/core.pyx":4684
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDown(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int1float(self._callback, self, item, i, imgui.GetIO().MouseDownDuration[i])
 * 
 */
    }
    __pyx_L5_continue:;
  }

  /* "dearcygui/core.pyx":4674
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDownHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseDownHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDownHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDownHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseDownHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDownHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4688
 * 
 * cdef class MouseDragHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 *         self._threshold = -1 # < 0. means use default
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17MouseDragHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_17MouseDragHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDragHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17MouseDragHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4689
 * cdef class MouseDragHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._button = -1             # <<<<<<<<<<<<<<
 *         self._threshold = -1 # < 0. means use default
 * 
 */
  __pyx_v_self->_button = -1;

  /* "dearcygui/core.pyx":4690
 *     def __cinit__(self):
 *         self._button = -1
 *         self._threshold = -1 # < 0. means use default             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_threshold = -1.0;

  /* "dearcygui/core.pyx":4688
 * 
 * cdef class MouseDragHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 *         self._threshold = -1 # < 0. means use default
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4692
 *         self._threshold = -1 # < 0. means use default
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

static int __pyx_f_9dearcygui_4core_17MouseDragHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  enum ImGuiMouseButton_ __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4694
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_1 = ImGuiMouseButton_COUNT;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":4695
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4696
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 return True
 */
      goto __pyx_L3_continue;

      /* "dearcygui/core.pyx":4695
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 */
    }

    /* "dearcygui/core.pyx":4697
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_4 = ImGui::IsMouseDragging(__pyx_v_i, __pyx_v_self->_threshold);
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4698
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4697
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
    __pyx_L3_continue:;
  }

  /* "dearcygui/core.pyx":4699
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4692
 *         self._threshold = -1 # < 0. means use default
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4701
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_17MouseDragHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  ImVec2 __pyx_v_delta;
  int __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  enum ImGuiMouseButton_ __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4702
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef imgui.ImVec2 delta
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4705
 *         cdef int i
 *         cdef imgui.ImVec2 delta
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4706
 *         cdef imgui.ImVec2 delta
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4705
 *         cdef int i
 *         cdef imgui.ImVec2 delta
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4707
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4708
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4707
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":4709
 *         if not(self._enabled):
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_2 = ImGuiMouseButton_COUNT;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4710
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4711
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 delta = imgui.GetMouseDragDelta(i, self._threshold)
 */
      goto __pyx_L5_continue;

      /* "dearcygui/core.pyx":4710
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 */
    }

    /* "dearcygui/core.pyx":4712
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):             # <<<<<<<<<<<<<<
 *                 delta = imgui.GetMouseDragDelta(i, self._threshold)
 *                 self.context.queue_callback_arg1int2float(self._callback, self, item, i, delta.x, delta.y)
 */
    __pyx_t_1 = ImGui::IsMouseDragging(__pyx_v_i, __pyx_v_self->_threshold);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4713
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 delta = imgui.GetMouseDragDelta(i, self._threshold)             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int2float(self._callback, self, item, i, delta.x, delta.y)
 * 
 */
      __pyx_v_delta = ImGui::GetMouseDragDelta(__pyx_v_i, __pyx_v_self->_threshold);

      /* "dearcygui/core.pyx":4714
 *             if imgui.IsMouseDragging(i, self._threshold):
 *                 delta = imgui.GetMouseDragDelta(i, self._threshold)
 *                 self.context.queue_callback_arg1int2float(self._callback, self, item, i, delta.x, delta.y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int2float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i, __pyx_v_delta.x, __pyx_v_delta.y);

      /* "dearcygui/core.pyx":4712
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseDragging(i, self._threshold):             # <<<<<<<<<<<<<<
 *                 delta = imgui.GetMouseDragDelta(i, self._threshold)
 *                 self.context.queue_callback_arg1int2float(self._callback, self, item, i, delta.x, delta.y)
 */
    }
    __pyx_L5_continue:;
  }

  /* "dearcygui/core.pyx":4701
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDragHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseDragHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDragHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseDragHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseDragHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseDragHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4718
 * 
 * cdef class MouseMoveHandler(baseHandler):
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \
 */

static int __pyx_f_9dearcygui_4core_16MouseMoveHandler_check_state(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  ImGuiIO __pyx_v_io;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":4719
 * cdef class MouseMoveHandler(baseHandler):
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()             # <<<<<<<<<<<<<<
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:
 */
  __pyx_v_io = ImGui::GetIO();

  /* "dearcygui/core.pyx":4720
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             return True
 */
  __pyx_t_2 = (__pyx_v_io.MousePos.x != __pyx_v_io.MousePosPrev.x);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":4721
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:             # <<<<<<<<<<<<<<
 *             return True
 *         return False
 */
  __pyx_t_2 = (__pyx_v_io.MousePos.y != __pyx_v_io.MousePosPrev.y);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":4720
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             return True
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4722
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:
 *             return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
    __pyx_r = 1;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4720
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             return True
 */
  }

  /* "dearcygui/core.pyx":4723
 *            io.MousePos.y != io.MousePosPrev.y:
 *             return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4718
 * 
 * cdef class MouseMoveHandler(baseHandler):
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4725
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_16MouseMoveHandler_run_handler(struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImGuiIO __pyx_v_io;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":4726
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4727
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4728
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4727
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4729
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4730
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4729
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 */
  }

  /* "dearcygui/core.pyx":4731
 *         if not(self._enabled):
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()             # <<<<<<<<<<<<<<
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:
 */
  __pyx_v_io = ImGui::GetIO();

  /* "dearcygui/core.pyx":4732
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             self.context.queue_callback_arg2float(self._callback, self, item, io.MousePos.x, io.MousePos.y)
 */
  __pyx_t_2 = (__pyx_v_io.MousePos.x != __pyx_v_io.MousePosPrev.x);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L6_bool_binop_done;
  }

  /* "dearcygui/core.pyx":4733
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:             # <<<<<<<<<<<<<<
 *             self.context.queue_callback_arg2float(self._callback, self, item, io.MousePos.x, io.MousePos.y)
 * 
 */
  __pyx_t_2 = (__pyx_v_io.MousePos.y != __pyx_v_io.MousePosPrev.y);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L6_bool_binop_done:;

  /* "dearcygui/core.pyx":4732
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             self.context.queue_callback_arg2float(self._callback, self, item, io.MousePos.x, io.MousePos.y)
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4734
 *         if io.MousePos.x != io.MousePosPrev.x or \
 *            io.MousePos.y != io.MousePosPrev.y:
 *             self.context.queue_callback_arg2float(self._callback, self, item, io.MousePos.x, io.MousePos.y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg2float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_io.MousePos.x, __pyx_v_io.MousePos.y);

    /* "dearcygui/core.pyx":4732
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if io.MousePos.x != io.MousePosPrev.x or \             # <<<<<<<<<<<<<<
 *            io.MousePos.y != io.MousePosPrev.y:
 *             self.context.queue_callback_arg2float(self._callback, self, item, io.MousePos.x, io.MousePos.y)
 */
  }

  /* "dearcygui/core.pyx":4725
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16MouseMoveHandler___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16MouseMoveHandler___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseMoveHandler.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16MouseMoveHandler_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16MouseMoveHandler_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseMoveHandler.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4738
 * 
 * cdef class MouseReleaseHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_20MouseReleaseHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_20MouseReleaseHandler__1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_20MouseReleaseHandler____cinit__(((struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_20MouseReleaseHandler____cinit__(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4739
 * cdef class MouseReleaseHandler_(baseHandler):
 *     def __cinit__(self):
 *         self._button = -1             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_button = -1;

  /* "dearcygui/core.pyx":4738
 * 
 * cdef class MouseReleaseHandler_(baseHandler):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._button = -1
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4741
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

static int __pyx_f_9dearcygui_4core_20MouseReleaseHandler__check_state(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_v_i;
  int __pyx_r;
  enum ImGuiMouseButton_ __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4743
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_1 = ImGuiMouseButton_COUNT;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":4744
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseReleased(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4745
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseReleased(i):
 *                 return True
 */
      goto __pyx_L3_continue;

      /* "dearcygui/core.pyx":4744
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseReleased(i):
 */
    }

    /* "dearcygui/core.pyx":4746
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseReleased(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_4 = ImGui::IsMouseReleased(__pyx_v_i);
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":4747
 *                 continue
 *             if imgui.IsMouseReleased(i):
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4746
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseReleased(i):             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
    __pyx_L3_continue:;
  }

  /* "dearcygui/core.pyx":4748
 *             if imgui.IsMouseReleased(i):
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4741
 *         self._button = -1
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4750
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

static void __pyx_f_9dearcygui_4core_20MouseReleaseHandler__run_handler(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  int __pyx_t_1;
  enum ImGuiMouseButton_ __pyx_t_2;
  enum ImGuiMouseButton_ __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":4751
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4753
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4754
 *         cdef int i
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4753
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4755
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4756
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4755
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 */
  }

  /* "dearcygui/core.pyx":4757
 *         if not(self._enabled):
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             if self._button >= 0 and self._button != i:
 *                 continue
 */
  __pyx_t_2 = ImGuiMouseButton_COUNT;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":4758
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseReleased(i):
 */
    __pyx_t_5 = (__pyx_v_self->_button >= 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_1 = __pyx_t_5;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_self->_button != __pyx_v_i);
    __pyx_t_1 = __pyx_t_5;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4759
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:
 *                 continue             # <<<<<<<<<<<<<<
 *             if imgui.IsMouseReleased(i):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 */
      goto __pyx_L5_continue;

      /* "dearcygui/core.pyx":4758
 *             return
 *         for i in range(imgui.ImGuiMouseButton_COUNT):
 *             if self._button >= 0 and self._button != i:             # <<<<<<<<<<<<<<
 *                 continue
 *             if imgui.IsMouseReleased(i):
 */
    }

    /* "dearcygui/core.pyx":4760
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseReleased(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    __pyx_t_1 = ImGui::IsMouseReleased(__pyx_v_i);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4761
 *                 continue
 *             if imgui.IsMouseReleased(i):
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)             # <<<<<<<<<<<<<<
 * 
 * cdef class MouseWheelHandler(baseHandler):
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1int(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_i);

      /* "dearcygui/core.pyx":4760
 *             if self._button >= 0 and self._button != i:
 *                 continue
 *             if imgui.IsMouseReleased(i):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1int(self._callback, self, item, i)
 * 
 */
    }
    __pyx_L5_continue:;
  }

  /* "dearcygui/core.pyx":4750
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_20MouseReleaseHandler__2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_20MouseReleaseHandler__2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseReleaseHandler_.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_20MouseReleaseHandler__4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_20MouseReleaseHandler__4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseReleaseHandler_.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4764
 * 
 * cdef class MouseWheelHandler(baseHandler):
 *     def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._horizontal = False
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17MouseWheelHandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_17MouseWheelHandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseWheelHandler___cinit__(((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17MouseWheelHandler___cinit__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4765
 * cdef class MouseWheelHandler(baseHandler):
 *     def __cinit__(self, *args, **kwargs):
 *         self._horizontal = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_horizontal = 0;

  /* "dearcygui/core.pyx":4764
 * 
 * cdef class MouseWheelHandler(baseHandler):
 *     def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._horizontal = False
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4767
 *         self._horizontal = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4775
 *         NOTE: Shift+ vertical wheel => horizontal wheel
 *         """
 *         return self._horizontal             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_horizontal); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4767
 *         self._horizontal = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.MouseWheelHandler.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4777
 *         return self._horizontal
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4778, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseWheelHandler.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_17MouseWheelHandler_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":4780
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._horizontal = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4781
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._horizontal = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
  __pyx_v_self->_horizontal = __pyx_v_value;

  /* "dearcygui/core.pyx":4777
 *         return self._horizontal
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4783
 *         self._horizontal = value
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 */

static int __pyx_f_9dearcygui_4core_17MouseWheelHandler_check_state(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  ImGuiIO __pyx_v_io;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":4784
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()             # <<<<<<<<<<<<<<
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:
 */
  __pyx_v_io = ImGui::GetIO();

  /* "dearcygui/core.pyx":4785
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:             # <<<<<<<<<<<<<<
 *             if abs(io.MouseWheelH) > 0.:
 *                 return True
 */
  if (__pyx_v_self->_horizontal) {

    /* "dearcygui/core.pyx":4786
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:             # <<<<<<<<<<<<<<
 *                 return True
 *         else:
 */
    __pyx_t_1 = (fabsf(__pyx_v_io.MouseWheelH) > 0.);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4787
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:
 *                 return True             # <<<<<<<<<<<<<<
 *         else:
 *             if abs(io.MouseWheel) > 0.:
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4786
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:             # <<<<<<<<<<<<<<
 *                 return True
 *         else:
 */
    }

    /* "dearcygui/core.pyx":4785
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:             # <<<<<<<<<<<<<<
 *             if abs(io.MouseWheelH) > 0.:
 *                 return True
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":4789
 *                 return True
 *         else:
 *             if abs(io.MouseWheel) > 0.:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
  /*else*/ {
    __pyx_t_1 = (fabsf(__pyx_v_io.MouseWheel) > 0.);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4790
 *         else:
 *             if abs(io.MouseWheel) > 0.:
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __pyx_r = 1;
      goto __pyx_L0;

      /* "dearcygui/core.pyx":4789
 *                 return True
 *         else:
 *             if abs(io.MouseWheel) > 0.:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":4791
 *             if abs(io.MouseWheel) > 0.:
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4783
 *         self._horizontal = value
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4793
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_17MouseWheelHandler_run_handler(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImGuiIO __pyx_v_io;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":4794
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":4795
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4796
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":4795
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":4797
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4798
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4797
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 */
  }

  /* "dearcygui/core.pyx":4799
 *         if not(self._enabled):
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()             # <<<<<<<<<<<<<<
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:
 */
  __pyx_v_io = ImGui::GetIO();

  /* "dearcygui/core.pyx":4800
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:             # <<<<<<<<<<<<<<
 *             if abs(io.MouseWheelH) > 0.:
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 */
  if (__pyx_v_self->_horizontal) {

    /* "dearcygui/core.pyx":4801
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 *         else:
 */
    __pyx_t_1 = (fabsf(__pyx_v_io.MouseWheelH) > 0.);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4802
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)             # <<<<<<<<<<<<<<
 *         else:
 *             if abs(io.MouseWheel) > 0.:
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_io.MouseWheelH);

      /* "dearcygui/core.pyx":4801
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:
 *             if abs(io.MouseWheelH) > 0.:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 *         else:
 */
    }

    /* "dearcygui/core.pyx":4800
 *             return
 *         cdef imgui.ImGuiIO io = imgui.GetIO()
 *         if self._horizontal:             # <<<<<<<<<<<<<<
 *             if abs(io.MouseWheelH) > 0.:
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":4804
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 *         else:
 *             if abs(io.MouseWheel) > 0.:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheel)
 * 
 */
  /*else*/ {
    __pyx_t_1 = (fabsf(__pyx_v_io.MouseWheel) > 0.);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":4805
 *         else:
 *             if abs(io.MouseWheel) > 0.:
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheel)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1float(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->__pyx_base._callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_io.MouseWheel);

      /* "dearcygui/core.pyx":4804
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheelH)
 *         else:
 *             if abs(io.MouseWheel) > 0.:             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1float(self._callback, self, item, io.MouseWheel)
 * 
 */
    }
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":4793
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseWheelHandler_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseWheelHandler.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_17MouseWheelHandler_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_17MouseWheelHandler_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MouseWheelHandler.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4813
 * 
 * cdef class SharedValue:
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         # We create all shared objects using __new__, thus
 *         # bypassing __init__. If __init__ is called, it's
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedValue_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedValue_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue___init__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedValue___init__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4818
 *         # from the user.
 *         # __init__ is called after __cinit__
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     def __cinit__(self, Context context, *args, **kwargs):
 *         self.context = context
 */
  __pyx_v_self->_num_attached = 0;

  /* "dearcygui/core.pyx":4813
 * 
 * cdef class SharedValue:
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         # We create all shared objects using __new__, thus
 *         # bypassing __init__. If __init__ is called, it's
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4819
 *         # __init__ is called after __cinit__
 *         self._num_attached = 0
 *     def __cinit__(self, Context context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self._last_frame_change = context._viewport.frame_count
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedValue_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedValue_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4819, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4819, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 4819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.SharedValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4819, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_2__cinit__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedValue_2__cinit__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":4820
 *         self._num_attached = 0
 *     def __cinit__(self, Context context, *args, **kwargs):
 *         self.context = context             # <<<<<<<<<<<<<<
 *         self._last_frame_change = context._viewport.frame_count
 *         self._last_frame_update = context._viewport.frame_count
 */
  __Pyx_INCREF((PyObject *)__pyx_v_context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_context);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->context);
  __Pyx_DECREF((PyObject *)__pyx_v_self->context);
  __pyx_v_self->context = __pyx_v_context;

  /* "dearcygui/core.pyx":4821
 *     def __cinit__(self, Context context, *args, **kwargs):
 *         self.context = context
 *         self._last_frame_change = context._viewport.frame_count             # <<<<<<<<<<<<<<
 *         self._last_frame_update = context._viewport.frame_count
 *         self._num_attached = 1
 */
  __pyx_t_1 = __pyx_v_context->_viewport->frame_count;
  __pyx_v_self->_last_frame_change = __pyx_t_1;

  /* "dearcygui/core.pyx":4822
 *         self.context = context
 *         self._last_frame_change = context._viewport.frame_count
 *         self._last_frame_update = context._viewport.frame_count             # <<<<<<<<<<<<<<
 *         self._num_attached = 1
 *     @property
 */
  __pyx_t_1 = __pyx_v_context->_viewport->frame_count;
  __pyx_v_self->_last_frame_update = __pyx_t_1;

  /* "dearcygui/core.pyx":4823
 *         self._last_frame_change = context._viewport.frame_count
 *         self._last_frame_update = context._viewport.frame_count
 *         self._num_attached = 1             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->_num_attached = 1;

  /* "dearcygui/core.pyx":4819
 *         # __init__ is called after __cinit__
 *         self._num_attached = 0
 *     def __cinit__(self, Context context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self._last_frame_change = context._viewport.frame_count
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4824
 *         self._last_frame_update = context._viewport.frame_count
 *         self._num_attached = 1
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return None
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_5value___get__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4826
 *     @property
 *     def value(self):
 *         return None             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4824
 *         self._last_frame_update = context._viewport.frame_count
 *         self._num_attached = 1
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return None
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4827
 *     def value(self):
 *         return None
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         if value is None:
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedValue_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedValue_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedValue_5value_2__set__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":4829
 *     @value.setter
 *     def value(self, value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             # In case of automated backup of
 *             # the value of all items
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":4832
 *             # In case of automated backup of
 *             # the value of all items
 *             return             # <<<<<<<<<<<<<<
 *         raise ValueError("Shared value is empty. Cannot set.")
 * 
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":4829
 *     @value.setter
 *     def value(self, value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             # In case of automated backup of
 *             # the value of all items
 */
  }

  /* "dearcygui/core.pyx":4833
 *             # the value of all items
 *             return
 *         raise ValueError("Shared value is empty. Cannot set.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(1, 4833, __pyx_L1_error)

  /* "dearcygui/core.pyx":4827
 *     def value(self):
 *         return None
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         if value is None:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedValue.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4835
 *         raise ValueError("Shared value is empty. Cannot set.")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shareable_value(self):
 *         return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_15shareable_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_15shareable_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_15shareable_value___get__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_15shareable_value___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4837
 *     @property
 *     def shareable_value(self):
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4835
 *         raise ValueError("Shared value is empty. Cannot set.")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shareable_value(self):
 *         return self
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4839
 *         return self
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def last_frame_update(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_update_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_update_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_update___get__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_update___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4845
 *         was updated (can be identical value).
 *         """
 *         return self._last_frame_update             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_frame_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4839
 *         return self
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def last_frame_update(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedValue.last_frame_update.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4847
 *         return self._last_frame_update
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def last_frame_change(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_change_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_change_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_change___get__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_17last_frame_change___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4855
 *         last_frame_update to avoid heavy comparisons.
 *         """
 *         return self._last_frame_change             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_frame_change); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4847
 *         return self._last_frame_update
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def last_frame_change(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedValue.last_frame_change.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4857
 *         return self._last_frame_change
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def num_attached(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_12num_attached_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_12num_attached_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_12num_attached___get__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_12num_attached___get__(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4862
 *         Readable attribute: Number of items sharing this value
 *         """
 *         return self._num_attached             # <<<<<<<<<<<<<<
 * 
 *     cdef void on_update(self, bint changed) noexcept nogil:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_num_attached); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4857
 *         return self._last_frame_change
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def num_attached(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedValue.num_attached.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4864
 *         return self._num_attached
 * 
 *     cdef void on_update(self, bint changed) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         # TODO: figure out if not using mutex is ok
 */

static void __pyx_f_9dearcygui_4core_11SharedValue_on_update(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, int __pyx_v_changed) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":4865
 * 
 *     cdef void on_update(self, bint changed) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         # TODO: figure out if not using mutex is ok
 *         self._last_frame_update = self.context._viewport.frame_count
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":4867
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         # TODO: figure out if not using mutex is ok
 *         self._last_frame_update = self.context._viewport.frame_count             # <<<<<<<<<<<<<<
 *         if changed:
 *             self._last_frame_change = self.context._viewport.frame_count
 */
  __pyx_t_1 = __pyx_v_self->context->_viewport->frame_count;
  __pyx_v_self->_last_frame_update = __pyx_t_1;

  /* "dearcygui/core.pyx":4868
 *         # TODO: figure out if not using mutex is ok
 *         self._last_frame_update = self.context._viewport.frame_count
 *         if changed:             # <<<<<<<<<<<<<<
 *             self._last_frame_change = self.context._viewport.frame_count
 * 
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":4869
 *         self._last_frame_update = self.context._viewport.frame_count
 *         if changed:
 *             self._last_frame_change = self.context._viewport.frame_count             # <<<<<<<<<<<<<<
 * 
 *     cdef void inc_num_attached(self) noexcept nogil:
 */
    __pyx_t_1 = __pyx_v_self->context->_viewport->frame_count;
    __pyx_v_self->_last_frame_change = __pyx_t_1;

    /* "dearcygui/core.pyx":4868
 *         # TODO: figure out if not using mutex is ok
 *         self._last_frame_update = self.context._viewport.frame_count
 *         if changed:             # <<<<<<<<<<<<<<
 *             self._last_frame_change = self.context._viewport.frame_count
 * 
 */
  }

  /* "dearcygui/core.pyx":4864
 *         return self._num_attached
 * 
 *     cdef void on_update(self, bint changed) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         # TODO: figure out if not using mutex is ok
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":4871
 *             self._last_frame_change = self.context._viewport.frame_count
 * 
 *     cdef void inc_num_attached(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached += 1
 */

static void __pyx_f_9dearcygui_4core_11SharedValue_inc_num_attached(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":4872
 * 
 *     cdef void inc_num_attached(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._num_attached += 1
 * 
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":4873
 *     cdef void inc_num_attached(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached += 1             # <<<<<<<<<<<<<<
 * 
 *     cdef void dec_num_attached(self) noexcept nogil:
 */
  __pyx_v_self->_num_attached = (__pyx_v_self->_num_attached + 1);

  /* "dearcygui/core.pyx":4871
 *             self._last_frame_change = self.context._viewport.frame_count
 * 
 *     cdef void inc_num_attached(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached += 1
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":4875
 *         self._num_attached += 1
 * 
 *     cdef void dec_num_attached(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached -= 1
 */

static void __pyx_f_9dearcygui_4core_11SharedValue_dec_num_attached(struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":4876
 * 
 *     cdef void dec_num_attached(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._num_attached -= 1
 * 
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->mutex);

  /* "dearcygui/core.pyx":4877
 *     cdef void dec_num_attached(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached -= 1             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->_num_attached = (__pyx_v_self->_num_attached - 1);

  /* "dearcygui/core.pyx":4875
 *         self._num_attached += 1
 * 
 *     cdef void dec_num_attached(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._num_attached -= 1
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedValue_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedValue_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedValue_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedValue_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedValue_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4881
 * 
 * cdef class SharedBool(SharedValue):
 *     def __init__(self, Context context, bint value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SharedBool_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SharedBool_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  int __pyx_v_value;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4881, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4881, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4881, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 4881, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4881, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 4881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedBool.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4881, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedBool___init__(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SharedBool___init__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, int __pyx_v_value) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4882
 * cdef class SharedBool(SharedValue):
 *     def __init__(self, Context context, bint value):
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4883
 *     def __init__(self, Context context, bint value):
 *         self._value = value
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":4881
 * 
 * cdef class SharedBool(SharedValue):
 *     def __init__(self, Context context, bint value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4884
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedBool_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4887
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4888
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4884
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedBool.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4889
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SharedBool_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SharedBool_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4890, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedBool.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedBool_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SharedBool_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;
  int __pyx_r;

  /* "dearcygui/core.pyx":4892
 *     def value(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4893
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4894
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 *     cdef bint get(self) noexcept nogil:
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4895
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 *     cdef bint get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4889
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4896
 *         self._value = value
 *         self.on_update(changed)
 *     cdef bint get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static int __pyx_f_9dearcygui_4core_10SharedBool_get(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":4897
 *         self.on_update(changed)
 *     cdef bint get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef void set(self, bint value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4898
 *     cdef bint get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, bint value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4896
 *         self._value = value
 *         self.on_update(changed)
 *     cdef bint get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4899
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, bint value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

static void __pyx_f_9dearcygui_4core_10SharedBool_set(struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, int __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;

  /* "dearcygui/core.pyx":4900
 *         return self._value
 *     cdef void set(self, bint value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4901
 *     cdef void set(self, bint value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4902
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 * 
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4903
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedFloat(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4899
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, bint value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SharedBool_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedBool_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedBool_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedBool.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SharedBool_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedBool_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SharedBool_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedBool_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedBool_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedBool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedBool.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4906
 * 
 * cdef class SharedFloat(SharedValue):
 *     def __init__(self, Context context, float value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedFloat_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedFloat_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  float __pyx_v_value;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4906, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 4906, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 4906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedFloat.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4906, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedFloat___init__(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedFloat___init__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, float __pyx_v_value) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4907
 * cdef class SharedFloat(SharedValue):
 *     def __init__(self, Context context, float value):
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4908
 *     def __init__(self, Context context, float value):
 *         self._value = value
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":4906
 * 
 * cdef class SharedFloat(SharedValue):
 *     def __init__(self, Context context, float value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4909
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedFloat_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4912
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4913
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, float value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4909
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedFloat.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4914
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedFloat_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedFloat_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 4915, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedFloat_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedFloat_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;
  int __pyx_r;

  /* "dearcygui/core.pyx":4917
 *     def value(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4918
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4919
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 *     cdef float get(self) noexcept nogil:
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4920
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 *     cdef float get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4914
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4921
 *         self._value = value
 *         self.on_update(changed)
 *     cdef float get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static float __pyx_f_9dearcygui_4core_11SharedFloat_get(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_r;

  /* "dearcygui/core.pyx":4922
 *         self.on_update(changed)
 *     cdef float get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef void set(self, float value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4923
 *     cdef float get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, float value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4921
 *         self._value = value
 *         self.on_update(changed)
 *     cdef float get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4924
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, float value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

static void __pyx_f_9dearcygui_4core_11SharedFloat_set(struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, float __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;

  /* "dearcygui/core.pyx":4925
 *         return self._value
 *     cdef void set(self, float value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4926
 *     cdef void set(self, float value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4927
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 * 
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4928
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedInt(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4924
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, float value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedFloat_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedFloat_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedFloat_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedFloat_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedFloat_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedFloat_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedFloat_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedFloat_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4931
 * 
 * cdef class SharedInt(SharedValue):
 *     def __init__(self, Context context, int value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9SharedInt_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9SharedInt_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  int __pyx_v_value;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4931, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4931, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4931, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 4931, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4931, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 4931, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedInt.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4931, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedInt___init__(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9SharedInt___init__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, int __pyx_v_value) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4932
 * cdef class SharedInt(SharedValue):
 *     def __init__(self, Context context, int value):
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4933
 *     def __init__(self, Context context, int value):
 *         self._value = value
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":4931
 * 
 * cdef class SharedInt(SharedValue):
 *     def __init__(self, Context context, int value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4934
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedInt_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4937
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4938
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, int value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4934
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedInt.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4939
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9SharedInt_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9SharedInt_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4940, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedInt_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9SharedInt_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;
  int __pyx_r;

  /* "dearcygui/core.pyx":4942
 *     def value(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4943
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4944
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 *     cdef int get(self) noexcept nogil:
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4945
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 *     cdef int get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4939
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4946
 *         self._value = value
 *         self.on_update(changed)
 *     cdef int get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static int __pyx_f_9dearcygui_4core_9SharedInt_get(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":4947
 *         self.on_update(changed)
 *     cdef int get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef void set(self, int value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4948
 *     cdef int get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, int value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4946
 *         self._value = value
 *         self.on_update(changed)
 *     cdef int get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4949
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, int value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

static void __pyx_f_9dearcygui_4core_9SharedInt_set(struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, int __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;

  /* "dearcygui/core.pyx":4950
 *         return self._value
 *     cdef void set(self, int value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4951
 *     cdef void set(self, int value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":4952
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 * 
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4953
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedColor(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":4949
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, int value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9SharedInt_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedInt_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedInt_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9SharedInt_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedInt_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9SharedInt_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedInt_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedInt_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4956
 * 
 * cdef class SharedColor(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedColor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedColor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4956, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4956, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4956, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 4956, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 4956, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedColor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4956, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedColor___init__(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedColor___init__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":4957
 * cdef class SharedColor(SharedValue):
 *     def __init__(self, Context context, value):
 *         self._value = parse_color(value)             # <<<<<<<<<<<<<<
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self._num_attached = 0
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 4957, __pyx_L1_error)
  __pyx_v_self->_value = __pyx_t_1;

  /* "dearcygui/core.pyx":4958
 *     def __init__(self, Context context, value):
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_v_self->_value_asfloat4 = ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_value);

  /* "dearcygui/core.pyx":4959
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":4956
 * 
 * cdef class SharedColor(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedColor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4960
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedColor_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4963
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         "Color data is an int32 (rgba, little endian),\n" \
 *         "If you pass an array of int (r, g, b, a), or float\n" \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4967
 *         "If you pass an array of int (r, g, b, a), or float\n" \
 *         "(r, g, b, a) normalized it will get converted automatically"
 *         return <int>self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4960
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedColor.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4968
 *         "(r, g, b, a) normalized it will get converted automatically"
 *         return <int>self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11SharedColor_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11SharedColor_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedColor_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11SharedColor_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":4971
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4972
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._value = parse_color(value)             # <<<<<<<<<<<<<<
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 4972, __pyx_L1_error)
  __pyx_v_self->_value = __pyx_t_1;

  /* "dearcygui/core.pyx":4973
 *         lock_gil_friendly(m, self.mutex)
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:
 */
  __pyx_v_self->_value_asfloat4 = ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_value);

  /* "dearcygui/core.pyx":4974
 *         self._value = parse_color(value)
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":4968
 *         "(r, g, b, a) normalized it will get converted automatically"
 *         return <int>self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedColor.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4975
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static ImU32 __pyx_f_9dearcygui_4core_11SharedColor_getU32(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImU32 __pyx_r;

  /* "dearcygui/core.pyx":4976
 *         self.on_update(True)
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4977
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4975
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 *     cdef imgui.ImU32 getU32(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4978
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value_asfloat4
 */

static ImVec4 __pyx_f_9dearcygui_4core_11SharedColor_getF4(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec4 __pyx_r;

  /* "dearcygui/core.pyx":4979
 *         return self._value
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value_asfloat4
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4980
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value_asfloat4             # <<<<<<<<<<<<<<
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value_asfloat4;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4978
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef imgui.ImVec4 getF4(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value_asfloat4
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4981
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value_asfloat4
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

static void __pyx_f_9dearcygui_4core_11SharedColor_setU32(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, ImU32 __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":4982
 *         return self._value_asfloat4
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4983
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4984
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:
 */
  __pyx_v_self->_value_asfloat4 = ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_value);

  /* "dearcygui/core.pyx":4985
 *         self._value = value
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":4981
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value_asfloat4
 *     cdef void setU32(self, imgui.ImU32 value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":4986
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value_asfloat4 = value
 */

static void __pyx_f_9dearcygui_4core_11SharedColor_setF4(struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, ImVec4 __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":4987
 *         self.on_update(True)
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value_asfloat4 = value
 *         self._value = imgui.ColorConvertFloat4ToU32(self._value_asfloat4)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":4988
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value_asfloat4 = value             # <<<<<<<<<<<<<<
 *         self._value = imgui.ColorConvertFloat4ToU32(self._value_asfloat4)
 *         self.on_update(True)
 */
  __pyx_v_self->_value_asfloat4 = __pyx_v_value;

  /* "dearcygui/core.pyx":4989
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value_asfloat4 = value
 *         self._value = imgui.ColorConvertFloat4ToU32(self._value_asfloat4)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  __pyx_v_self->_value = ImGui::ColorConvertFloat4ToU32(__pyx_v_self->_value_asfloat4);

  /* "dearcygui/core.pyx":4990
 *         self._value_asfloat4 = value
 *         self._value = imgui.ColorConvertFloat4ToU32(self._value_asfloat4)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedDouble(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":4986
 *         self._value_asfloat4 = imgui.ColorConvertU32ToFloat4(self._value)
 *         self.on_update(True)
 *     cdef void setF4(self, imgui.ImVec4 value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value_asfloat4 = value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedColor_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedColor_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedColor_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedColor.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11SharedColor_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedColor_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11SharedColor_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11SharedColor_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11SharedColor_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedColor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedColor.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":4993
 * 
 * cdef class SharedDouble(SharedValue):
 *     def __init__(self, Context context, double value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12SharedDouble_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12SharedDouble_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  double __pyx_v_value;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4993, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4993, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4993, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 4993, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 4993, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 4993, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedDouble.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 4993, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedDouble___init__(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12SharedDouble___init__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, double __pyx_v_value) {
  int __pyx_r;

  /* "dearcygui/core.pyx":4994
 * cdef class SharedDouble(SharedValue):
 *     def __init__(self, Context context, double value):
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":4995
 *     def __init__(self, Context context, double value):
 *         self._value = value
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":4993
 * 
 * cdef class SharedDouble(SharedValue):
 *     def __init__(self, Context context, double value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":4996
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedDouble_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":4999
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5000
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, double value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":4996
 *         self._value = value
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SharedDouble.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5001
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12SharedDouble_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_12SharedDouble_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 5002, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedDouble_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12SharedDouble_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;
  int __pyx_r;

  /* "dearcygui/core.pyx":5004
 *     def value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5005
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":5006
 *         lock_gil_friendly(m, self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 *     cdef double get(self) noexcept nogil:
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":5007
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 *     cdef double get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":5001
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5008
 *         self._value = value
 *         self.on_update(changed)
 *     cdef double get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static double __pyx_f_9dearcygui_4core_12SharedDouble_get(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  double __pyx_r;

  /* "dearcygui/core.pyx":5009
 *         self.on_update(changed)
 *     cdef double get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef void set(self, double value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5010
 *     cdef double get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, double value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5008
 *         self._value = value
 *         self.on_update(changed)
 *     cdef double get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5011
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, double value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

static void __pyx_f_9dearcygui_4core_12SharedDouble_set(struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, double __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_changed;

  /* "dearcygui/core.pyx":5012
 *         return self._value
 *     cdef void set(self, double value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint changed = value != self._value
 *         self._value = value
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5013
 *     cdef void set(self, double value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(changed)
 */
  __pyx_v_changed = (__pyx_v_value != __pyx_v_self->_value);

  /* "dearcygui/core.pyx":5014
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(changed)
 * 
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":5015
 *         cdef bint changed = value != self._value
 *         self._value = value
 *         self.on_update(changed)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedStr(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), __pyx_v_changed);

  /* "dearcygui/core.pyx":5011
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, double value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint changed = value != self._value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12SharedDouble_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedDouble_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedDouble_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12SharedDouble_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedDouble_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12SharedDouble_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedDouble_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedDouble_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5018
 * 
 * cdef class SharedStr(SharedValue):
 *     def __init__(self, Context context, str value):             # <<<<<<<<<<<<<<
 *         self._value = bytes(str(value), 'utf-8')
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9SharedStr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9SharedStr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 5018, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5018, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = ((PyObject*)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 5018, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedStr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 5018, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 5018, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedStr___init__(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9SharedStr___init__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);

  /* "dearcygui/core.pyx":5019
 * cdef class SharedStr(SharedValue):
 *     def __init__(self, Context context, str value):
 *         self._value = bytes(str(value), 'utf-8')             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 5019, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 5019, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_value = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":5020
 *     def __init__(self, Context context, str value):
 *         self._value = bytes(str(value), 'utf-8')
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":5018
 * 
 * cdef class SharedStr(SharedValue):
 *     def __init__(self, Context context, str value):             # <<<<<<<<<<<<<<
 *         self._value = bytes(str(value), 'utf-8')
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedStr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5021
 *         self._value = bytes(str(value), 'utf-8')
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedStr_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5024
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._value, encoding='utf-8')
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5025
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._value, encoding='utf-8')             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 5025, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 5025, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5021
 *         self._value = bytes(str(value), 'utf-8')
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.SharedStr.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5026
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._value, encoding='utf-8')
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9SharedStr_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9SharedStr_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedStr_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9SharedStr_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5029
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._value = bytes(str(value), 'utf-8')
 *         self.on_update(True)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5030
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._value = bytes(str(value), 'utf-8')             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef void get(self, string& out) noexcept nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 5030, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 5030, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_value = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":5031
 *         lock_gil_friendly(m, self.mutex)
 *         self._value = bytes(str(value), 'utf-8')
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef void get(self, string& out) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5026
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._value, encoding='utf-8')
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedStr.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5032
 *         self._value = bytes(str(value), 'utf-8')
 *         self.on_update(True)
 *     cdef void get(self, string& out) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         out = self._value
 */

static void __pyx_f_9dearcygui_4core_9SharedStr_get(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED std::string &__pyx_v_out) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::string __pyx_t_1;

  /* "dearcygui/core.pyx":5033
 *         self.on_update(True)
 *     cdef void get(self, string& out) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         out = self._value
 *     cdef void set(self, string value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5034
 *     cdef void get(self, string& out) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         out = self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, string value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __pyx_t_1 = __pyx_v_self->_value;
  __pyx_v_out = __pyx_t_1;

  /* "dearcygui/core.pyx":5032
 *         self._value = bytes(str(value), 'utf-8')
 *         self.on_update(True)
 *     cdef void get(self, string& out) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         out = self._value
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5035
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         out = self._value
 *     cdef void set(self, string value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

static void __pyx_f_9dearcygui_4core_9SharedStr_set(struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, std::string __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5036
 *         out = self._value
 *     cdef void set(self, string value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(True)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5037
 *     cdef void set(self, string value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":5038
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedFloat4(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5035
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         out = self._value
 *     cdef void set(self, string value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9SharedStr_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedStr_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedStr_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedStr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9SharedStr_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedStr_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9SharedStr_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9SharedStr_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9SharedStr_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedStr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedStr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5041
 * 
 * cdef class SharedFloat4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[float](self._value, value)
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12SharedFloat4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12SharedFloat4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5041, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5041, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 5041, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5041, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 5041, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 5041, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedFloat4___init__(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12SharedFloat4___init__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5042
 * cdef class SharedFloat4(SharedValue):
 *     def __init__(self, Context context, value):
 *         read_vec4[float](self._value, value)             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5042, __pyx_L1_error)

  /* "dearcygui/core.pyx":5043
 *     def __init__(self, Context context, value):
 *         read_vec4[float](self._value, value)
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":5041
 * 
 * cdef class SharedFloat4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[float](self._value, value)
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5044
 *         read_vec4[float](self._value, value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedFloat4_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5047
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._value)
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5048
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_self->_value, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5044
 *         read_vec4[float](self._value, value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5049
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12SharedFloat4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_12SharedFloat4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedFloat4_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12SharedFloat4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5052
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_vec4[float](self._value, value)
 *         self.on_update(True)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5053
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._value, value)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef void get(self, float *dst) noexcept nogil:
 */
  __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5053, __pyx_L1_error)

  /* "dearcygui/core.pyx":5054
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._value, value)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef void get(self, float *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5049
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5055
 *         read_vec4[float](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, float *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

static void __pyx_f_9dearcygui_4core_12SharedFloat4_get(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, float *__pyx_v_dst) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5056
 *         self.on_update(True)
 *     cdef void get(self, float *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5057
 *     cdef void get(self, float *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]             # <<<<<<<<<<<<<<
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 */
  (__pyx_v_dst[0]) = (__pyx_v_self->_value[0]);

  /* "dearcygui/core.pyx":5058
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]             # <<<<<<<<<<<<<<
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 */
  (__pyx_v_dst[1]) = (__pyx_v_self->_value[1]);

  /* "dearcygui/core.pyx":5059
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]             # <<<<<<<<<<<<<<
 *         dst[3] = self._value[3]
 *     cdef void set(self, float[4] value) noexcept nogil:
 */
  (__pyx_v_dst[2]) = (__pyx_v_self->_value[2]);

  /* "dearcygui/core.pyx":5060
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]             # <<<<<<<<<<<<<<
 *     cdef void set(self, float[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  (__pyx_v_dst[3]) = (__pyx_v_self->_value[3]);

  /* "dearcygui/core.pyx":5055
 *         read_vec4[float](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, float *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5061
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, float[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

static void __pyx_f_9dearcygui_4core_12SharedFloat4_set(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, float *__pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5062
 *         dst[3] = self._value[3]
 *     cdef void set(self, float[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5063
 *     cdef void set(self, float[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]             # <<<<<<<<<<<<<<
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 */
  (__pyx_v_self->_value[0]) = (__pyx_v_value[0]);

  /* "dearcygui/core.pyx":5064
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]             # <<<<<<<<<<<<<<
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 */
  (__pyx_v_self->_value[1]) = (__pyx_v_value[1]);

  /* "dearcygui/core.pyx":5065
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]             # <<<<<<<<<<<<<<
 *         self._value[3] = value[3]
 *         self.on_update(True)
 */
  (__pyx_v_self->_value[2]) = (__pyx_v_value[2]);

  /* "dearcygui/core.pyx":5066
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  (__pyx_v_self->_value[3]) = (__pyx_v_value[3]);

  /* "dearcygui/core.pyx":5067
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedInt4(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5061
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, float[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12SharedFloat4_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedFloat4_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedFloat4_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12SharedFloat4_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedFloat4_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12SharedFloat4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12SharedFloat4_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12SharedFloat4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloat4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloat4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5070
 * 
 * cdef class SharedInt4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[int](self._value, value)
 *         self._num_attached = 0
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SharedInt4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SharedInt4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5070, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5070, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 5070, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5070, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 5070, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 5070, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedInt4___init__(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SharedInt4___init__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5071
 * cdef class SharedInt4(SharedValue):
 *     def __init__(self, Context context, value):
 *         read_vec4[int](self._value, value)             # <<<<<<<<<<<<<<
 *         self._num_attached = 0
 *     @property
 */
  __pyx_fuse_0__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5071, __pyx_L1_error)

  /* "dearcygui/core.pyx":5072
 *     def __init__(self, Context context, value):
 *         read_vec4[int](self._value, value)
 *         self._num_attached = 0             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_v_self->__pyx_base._num_attached = 0;

  /* "dearcygui/core.pyx":5070
 * 
 * cdef class SharedInt4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[int](self._value, value)
 *         self._num_attached = 0
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5073
 *         read_vec4[int](self._value, value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedInt4_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5076
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._value)
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5077
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int(__pyx_v_self->_value, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5073
 *         read_vec4[int](self._value, value)
 *         self._num_attached = 0
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5078
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SharedInt4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SharedInt4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedInt4_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SharedInt4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5081
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_vec4[int](self._value, value)
 *         self.on_update(True)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5082
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[int](self._value, value)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef void get(self, int *dst) noexcept nogil:
 */
  __pyx_fuse_0__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5082, __pyx_L1_error)

  /* "dearcygui/core.pyx":5083
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[int](self._value, value)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef void get(self, int *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5078
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5084
 *         read_vec4[int](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, int *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

static void __pyx_f_9dearcygui_4core_10SharedInt4_get(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, int *__pyx_v_dst) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5085
 *         self.on_update(True)
 *     cdef void get(self, int *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5086
 *     cdef void get(self, int *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]             # <<<<<<<<<<<<<<
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 */
  (__pyx_v_dst[0]) = (__pyx_v_self->_value[0]);

  /* "dearcygui/core.pyx":5087
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]             # <<<<<<<<<<<<<<
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 */
  (__pyx_v_dst[1]) = (__pyx_v_self->_value[1]);

  /* "dearcygui/core.pyx":5088
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]             # <<<<<<<<<<<<<<
 *         dst[3] = self._value[3]
 *     cdef void set(self, int[4] value) noexcept nogil:
 */
  (__pyx_v_dst[2]) = (__pyx_v_self->_value[2]);

  /* "dearcygui/core.pyx":5089
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]             # <<<<<<<<<<<<<<
 *     cdef void set(self, int[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  (__pyx_v_dst[3]) = (__pyx_v_self->_value[3]);

  /* "dearcygui/core.pyx":5084
 *         read_vec4[int](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, int *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5090
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, int[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

static void __pyx_f_9dearcygui_4core_10SharedInt4_set(struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, int *__pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5091
 *         dst[3] = self._value[3]
 *     cdef void set(self, int[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5092
 *     cdef void set(self, int[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]             # <<<<<<<<<<<<<<
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 */
  (__pyx_v_self->_value[0]) = (__pyx_v_value[0]);

  /* "dearcygui/core.pyx":5093
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]             # <<<<<<<<<<<<<<
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 */
  (__pyx_v_self->_value[1]) = (__pyx_v_value[1]);

  /* "dearcygui/core.pyx":5094
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]             # <<<<<<<<<<<<<<
 *         self._value[3] = value[3]
 *         self.on_update(True)
 */
  (__pyx_v_self->_value[2]) = (__pyx_v_value[2]);

  /* "dearcygui/core.pyx":5095
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  (__pyx_v_self->_value[3]) = (__pyx_v_value[3]);

  /* "dearcygui/core.pyx":5096
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedDouble4(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5090
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, int[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SharedInt4_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedInt4_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedInt4_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SharedInt4_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedInt4_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SharedInt4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SharedInt4_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SharedInt4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedInt4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedInt4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5099
 * 
 * cdef class SharedDouble4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[double](self._value, value)
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13SharedDouble4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_13SharedDouble4_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5099, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5099, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 5099, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5099, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 5099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 5099, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_13SharedDouble4___init__(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13SharedDouble4___init__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5100
 * cdef class SharedDouble4(SharedValue):
 *     def __init__(self, Context context, value):
 *         read_vec4[double](self._value, value)             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_fuse_2__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5100, __pyx_L1_error)

  /* "dearcygui/core.pyx":5099
 * 
 * cdef class SharedDouble4(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         read_vec4[double](self._value, value)
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5101
 *     def __init__(self, Context context, value):
 *         read_vec4[double](self._value, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13SharedDouble4_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5104
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._value)
 *     @value.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5105
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_double(__pyx_v_self->_value, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5101
 *     def __init__(self, Context context, value):
 *         read_vec4[double](self._value, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5106
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13SharedDouble4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_13SharedDouble4_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13SharedDouble4_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13SharedDouble4_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5109
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_vec4[double](self._value, value)
 *         self.on_update(True)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5110
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[double](self._value, value)             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef void get(self, double *dst) noexcept nogil:
 */
  __pyx_fuse_2__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_value, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5110, __pyx_L1_error)

  /* "dearcygui/core.pyx":5111
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[double](self._value, value)
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef void get(self, double *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5106
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5112
 *         read_vec4[double](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, double *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

static void __pyx_f_9dearcygui_4core_13SharedDouble4_get(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, double *__pyx_v_dst) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5113
 *         self.on_update(True)
 *     cdef void get(self, double *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5114
 *     cdef void get(self, double *dst) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]             # <<<<<<<<<<<<<<
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 */
  (__pyx_v_dst[0]) = (__pyx_v_self->_value[0]);

  /* "dearcygui/core.pyx":5115
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]             # <<<<<<<<<<<<<<
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 */
  (__pyx_v_dst[1]) = (__pyx_v_self->_value[1]);

  /* "dearcygui/core.pyx":5116
 *         dst[0] = self._value[0]
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]             # <<<<<<<<<<<<<<
 *         dst[3] = self._value[3]
 *     cdef void set(self, double[4] value) noexcept nogil:
 */
  (__pyx_v_dst[2]) = (__pyx_v_self->_value[2]);

  /* "dearcygui/core.pyx":5117
 *         dst[1] = self._value[1]
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]             # <<<<<<<<<<<<<<
 *     cdef void set(self, double[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  (__pyx_v_dst[3]) = (__pyx_v_self->_value[3]);

  /* "dearcygui/core.pyx":5112
 *         read_vec4[double](self._value, value)
 *         self.on_update(True)
 *     cdef void get(self, double *dst) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         dst[0] = self._value[0]
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5118
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, double[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

static void __pyx_f_9dearcygui_4core_13SharedDouble4_set(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, double *__pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5119
 *         dst[3] = self._value[3]
 *     cdef void set(self, double[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5120
 *     cdef void set(self, double[4] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]             # <<<<<<<<<<<<<<
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 */
  (__pyx_v_self->_value[0]) = (__pyx_v_value[0]);

  /* "dearcygui/core.pyx":5121
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]             # <<<<<<<<<<<<<<
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 */
  (__pyx_v_self->_value[1]) = (__pyx_v_value[1]);

  /* "dearcygui/core.pyx":5122
 *         self._value[0] = value[0]
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]             # <<<<<<<<<<<<<<
 *         self._value[3] = value[3]
 *         self.on_update(True)
 */
  (__pyx_v_self->_value[2]) = (__pyx_v_value[2]);

  /* "dearcygui/core.pyx":5123
 *         self._value[1] = value[1]
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  (__pyx_v_self->_value[3]) = (__pyx_v_value[3]);

  /* "dearcygui/core.pyx":5124
 *         self._value[2] = value[2]
 *         self._value[3] = value[3]
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * cdef class SharedFloatVect(SharedValue):
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5118
 *         dst[2] = self._value[2]
 *         dst[3] = self._value[3]
 *     cdef void set(self, double[4] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value[0] = value[0]
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13SharedDouble4_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13SharedDouble4_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13SharedDouble4_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13SharedDouble4_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13SharedDouble4_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13SharedDouble4_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13SharedDouble4_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13SharedDouble4_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedDouble4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedDouble4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5127
 * 
 * cdef class SharedFloatVect(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_15SharedFloatVect_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_15SharedFloatVect_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context = 0;
  PyObject *__pyx_v_value = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_value,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5127, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5127, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 5127, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5127, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
      values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
    }
    __pyx_v_context = ((struct __pyx_obj_9dearcygui_4core_Context *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 5127, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_context), __pyx_ptype_9dearcygui_4core_Context, 1, "context", 0))) __PYX_ERR(1, 5127, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_15SharedFloatVect___init__(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self), __pyx_v_context, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_15SharedFloatVect___init__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Context *__pyx_v_context, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_memviewslice __pyx_t_1 = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5128
 * cdef class SharedFloatVect(SharedValue):
 *     def __init__(self, Context context, value):
 *         self._value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_float(__pyx_v_value, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(1, 5128, __pyx_L1_error)
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_self->_value, 0);
  __pyx_v_self->_value = __pyx_t_1;
  __pyx_t_1.memview = NULL;
  __pyx_t_1.data = NULL;

  /* "dearcygui/core.pyx":5127
 * 
 * cdef class SharedFloatVect(SharedValue):
 *     def __init__(self, Context context, value):             # <<<<<<<<<<<<<<
 *         self._value = value
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5129
 *     def __init__(self, Context context, value):
 *         self._value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15SharedFloatVect_5value___get__(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_5value___get__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  unsigned int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5132
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._value_np is None:
 *             return None
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5133
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value_np is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return np.copy(self._value)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_value_np) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5134
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value_np is None:
 *             return None             # <<<<<<<<<<<<<<
 *         return np.copy(self._value)
 *     @value.setter
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5133
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value_np is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return np.copy(self._value)
 */
  }

  /* "dearcygui/core.pyx":5135
 *         if self._value_np is None:
 *             return None
 *         return np.copy(self._value)             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __pyx_memoryview_fromslice(__pyx_v_self->_value, 1, (PyObject *(*)(char *)) __pyx_memview_get_float, (int (*)(char *, PyObject *)) __pyx_memview_set_float, 0);; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5129
 *     def __init__(self, Context context, value):
 *         self._value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5136
 *             return None
 *         return np.copy(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15SharedFloatVect_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_15SharedFloatVect_5value_2__set__(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_memviewslice __pyx_t_6 = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5139
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._value_np = np.array(value, dtype=np.float32)
 *         self._value = self._value_np
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5140
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._value_np = np.array(value, dtype=np.float32)             # <<<<<<<<<<<<<<
 *         self._value = self._value_np
 *         self.on_update(True)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 5140, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 5140, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_5);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value_np);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value_np);
  __pyx_v_self->_value_np = ((PyArrayObject *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "dearcygui/core.pyx":5141
 *         lock_gil_friendly(m, self.mutex)
 *         self._value_np = np.array(value, dtype=np.float32)
 *         self._value = self._value_np             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 *     cdef float[:] get(self) noexcept nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_float(((PyObject *)__pyx_v_self->_value_np), PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(1, 5141, __pyx_L1_error)
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_self->_value, 0);
  __pyx_v_self->_value = __pyx_t_6;
  __pyx_t_6.memview = NULL;
  __pyx_t_6.data = NULL;

  /* "dearcygui/core.pyx":5142
 *         self._value_np = np.array(value, dtype=np.float32)
 *         self._value = self._value_np
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 *     cdef float[:] get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloatVect *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5136
 *             return None
 *         return np.copy(self._value)
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5143
 *         self._value = self._value_np
 *         self.on_update(True)
 *     cdef float[:] get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

static __Pyx_memviewslice __pyx_f_9dearcygui_4core_15SharedFloatVect_get(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  __Pyx_memviewslice __pyx_r = { 0, 0, { 0 }, { 0 }, { 0 } };

  /* "dearcygui/core.pyx":5144
 *         self.on_update(True)
 *     cdef float[:] get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 *     cdef void set(self, float[:] value) noexcept nogil:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5145
 *     cdef float[:] get(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 *     cdef void set(self, float[:] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */
  __PYX_INC_MEMVIEW(&__pyx_v_self->_value, 0);
  __pyx_r = __pyx_v_self->_value;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5143
 *         self._value = self._value_np
 *         self.on_update(True)
 *     cdef float[:] get(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 */

  /* function exit code */
  __pyx_L0:;
  if (unlikely(!__pyx_r.memview)) {
    #ifdef WITH_THREAD
    PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
    #endif
    PyErr_SetString(PyExc_TypeError, "Memoryview return value is not initialized");
    #ifdef WITH_THREAD
    __Pyx_PyGILState_Release(__pyx_gilstate_save);
    #endif
  }
  return __pyx_r;
}

/* "dearcygui/core.pyx":5146
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, float[:] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

static void __pyx_f_9dearcygui_4core_15SharedFloatVect_set(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, __Pyx_memviewslice __pyx_v_value) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5147
 *         return self._value
 *     cdef void set(self, float[:] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self.on_update(True)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5148
 *     cdef void set(self, float[:] value) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self.on_update(True)
 * 
 */
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_self->_value, 0);
  __PYX_INC_MEMVIEW(&__pyx_v_value, 0);
  __pyx_v_self->_value = __pyx_v_value;

  /* "dearcygui/core.pyx":5149
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 *         self.on_update(True)             # <<<<<<<<<<<<<<
 * 
 * """
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedFloatVect *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.on_update(((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_v_self), 1);

  /* "dearcygui/core.pyx":5146
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         return self._value
 *     cdef void set(self, float[:] value) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self._value = value
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15SharedFloatVect_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_15SharedFloatVect_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_15SharedFloatVect_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SharedFloatVect *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SharedFloatVect.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5177
 * 
 * cdef class baseHandler(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._enabled = True
 *         self.can_have_sibling = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11baseHandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11baseHandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler___cinit__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11baseHandler___cinit__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":5178
 * cdef class baseHandler(baseItem):
 *     def __cinit__(self):
 *         self._enabled = True             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_handler
 */
  __pyx_v_self->_enabled = 1;

  /* "dearcygui/core.pyx":5179
 *     def __cinit__(self):
 *         self._enabled = True
 *         self.can_have_sibling = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_handler
 *     @property
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 1;

  /* "dearcygui/core.pyx":5180
 *         self._enabled = True
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_handler             # <<<<<<<<<<<<<<
 *     @property
 *     def enabled(self):
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_handler;

  /* "dearcygui/core.pyx":5177
 * 
 * cdef class baseHandler(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._enabled = True
 *         self.can_have_sibling = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5181
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_handler
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_7enabled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_7enabled___get__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_7enabled___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5184
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._enabled
 *     @enabled.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5185
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled             # <<<<<<<<<<<<<<
 *     @enabled.setter
 *     def enabled(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5181
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_handler
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseHandler.enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5186
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11baseHandler_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11baseHandler_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5187, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.baseHandler.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_7enabled_2__set__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11baseHandler_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":5189
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._enabled = value
 *     # for backward compatibility
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5190
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._enabled = value             # <<<<<<<<<<<<<<
 *     # for backward compatibility
 *     @property
 */
  __pyx_v_self->_enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":5186
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5192
 *         self._enabled = value
 *     # for backward compatibility
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_4show_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_4show_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_4show___get__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_4show___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5195
 *     def show(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._enabled
 *     @show.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5196
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled             # <<<<<<<<<<<<<<
 *     @show.setter
 *     def show(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5192
 *         self._enabled = value
 *     # for backward compatibility
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseHandler.show.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5197
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11baseHandler_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11baseHandler_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5198, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.baseHandler.show.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_4show_2__set__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11baseHandler_4show_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":5200
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._enabled = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5201
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._enabled = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":5197
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5203
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def callback(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_8callback_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_8callback_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_8callback___get__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_8callback___get__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5206
 *     def callback(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._callback
 *     @callback.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5207
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._callback             # <<<<<<<<<<<<<<
 *     @callback.setter
 *     def callback(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_callback);
  __pyx_r = ((PyObject *)__pyx_v_self->_callback);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5203
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def callback(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5208
 *         lock_gil_friendly(m, self.mutex)
 *         return self._callback
 *     @callback.setter             # <<<<<<<<<<<<<<
 *     def callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11baseHandler_8callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11baseHandler_8callback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_8callback_2__set__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11baseHandler_8callback_2__set__(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5211
 *     def callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5212
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._callback = value if isinstance(value, Callback) or value is None else Callback(value)             # <<<<<<<<<<<<<<
 * 
 *     cdef void check_bind(self, baseItem item):
 */
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_value == Py_None);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L3_bool_binop_done:;
  if (__pyx_t_2) {
    if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback))))) __PYX_ERR(1, 5212, __pyx_L1_error)
    __Pyx_INCREF(__pyx_v_value);
    __pyx_t_1 = __pyx_v_value;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Callback), __pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_callback);
  __pyx_v_self->_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5208
 *         lock_gil_friendly(m, self.mutex)
 *         return self._callback
 *     @callback.setter             # <<<<<<<<<<<<<<
 *     def callback(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseHandler.callback.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5214
 *         self._callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     cdef void check_bind(self, baseItem item):             # <<<<<<<<<<<<<<
 *         """
 *         Must raise en error if the handler cannot be bound for the
 */

static void __pyx_f_9dearcygui_4core_11baseHandler_check_bind(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5220
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).check_bind(item)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5221
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).check_bind(item)
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5222
 *         lock_gil_friendly(m, self.mutex)
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).check_bind(item)             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base._prev_sibling), __pyx_v_item); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5222, __pyx_L1_error)

    /* "dearcygui/core.pyx":5221
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).check_bind(item)
 * 
 */
  }

  /* "dearcygui/core.pyx":5214
 *         self._callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     cdef void check_bind(self, baseItem item):             # <<<<<<<<<<<<<<
 *         """
 *         Must raise en error if the handler cannot be bound for the
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseHandler.check_bind", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}

/* "dearcygui/core.pyx":5224
 *             (<baseHandler>self._prev_sibling).check_bind(item)
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the target state it True.
 */

static int __pyx_f_9dearcygui_4core_11baseHandler_check_state(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  int __pyx_r;

  /* "dearcygui/core.pyx":5232
 *         override run_handler in addition to check_state.
 *         """
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5224
 *             (<baseHandler>self._prev_sibling).check_bind(item)
 * 
 *     cdef bint check_state(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the target state it True.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5234
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_11baseHandler_run_handler(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":5235
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5236
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5237
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->run_handler(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base._prev_sibling), __pyx_v_item);

    /* "dearcygui/core.pyx":5236
 *     cdef void run_handler(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":5238
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self.check_state(item):
 */
  __pyx_t_1 = (!__pyx_v_self->_enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5239
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):
 *             return             # <<<<<<<<<<<<<<
 *         if self.check_state(item):
 *             self.run_callback(item)
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5238
 *         if self._prev_sibling is not None:
 *             (<baseHandler>self._prev_sibling).run_handler(item)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             return
 *         if self.check_state(item):
 */
  }

  /* "dearcygui/core.pyx":5240
 *         if not(self._enabled):
 *             return
 *         if self.check_state(item):             # <<<<<<<<<<<<<<
 *             self.run_callback(item)
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_vtab)->check_state(__pyx_v_self, __pyx_v_item);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5241
 *             return
 *         if self.check_state(item):
 *             self.run_callback(item)             # <<<<<<<<<<<<<<
 * 
 *     cdef void run_callback(self, baseItem item) noexcept nogil:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)__pyx_v_self->__pyx_base.__pyx_vtab)->run_callback(__pyx_v_self, __pyx_v_item);

    /* "dearcygui/core.pyx":5240
 *         if not(self._enabled):
 *             return
 *         if self.check_state(item):             # <<<<<<<<<<<<<<
 *             self.run_callback(item)
 * 
 */
  }

  /* "dearcygui/core.pyx":5234
 *         return False
 * 
 *     cdef void run_handler(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":5243
 *             self.run_callback(item)
 * 
 *     cdef void run_callback(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.context.queue_callback_arg1obj(self._callback, self, item, item)
 */

static void __pyx_f_9dearcygui_4core_11baseHandler_run_callback(struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_item) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;

  /* "dearcygui/core.pyx":5244
 * 
 *     cdef void run_callback(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         self.context.queue_callback_arg1obj(self._callback, self, item, item)
 * 
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5245
 *     cdef void run_callback(self, baseItem item) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.context.queue_callback_arg1obj(self._callback, self, item, item)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.context->__pyx_vtab)->queue_callback_arg1obj(__pyx_v_self->__pyx_base.context, __pyx_v_self->_callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_item, __pyx_v_item);

  /* "dearcygui/core.pyx":5243
 *             self.run_callback(item)
 * 
 *     cdef void run_callback(self, baseItem item) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         self.context.queue_callback_arg1obj(self._callback, self, item, item)
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11baseHandler_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11baseHandler_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseHandler.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11baseHandler_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11baseHandler_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11baseHandler_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11baseHandler_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11baseHandler_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseHandler.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5248
 * 
 * 
 * cdef inline object IntPairFromVec2(imgui.ImVec2 v):             # <<<<<<<<<<<<<<
 *     return (<int>v.x, <int>v.y)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_9dearcygui_4core_IntPairFromVec2(ImVec2 __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("IntPairFromVec2", 1);

  /* "dearcygui/core.pyx":5249
 * 
 * cdef inline object IntPairFromVec2(imgui.ImVec2 v):
 *     return (<int>v.x, <int>v.y)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from * nogil:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_v.x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_v.y)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(1, 5249, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2)) __PYX_ERR(1, 5249, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5248
 * 
 * 
 * cdef inline object IntPairFromVec2(imgui.ImVec2 v):             # <<<<<<<<<<<<<<
 *     return (<int>v.x, <int>v.y)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.IntPairFromVec2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5261
 * 
 * cdef class uiItem(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # mvAppItemInfo
 *         self.imgui_label = b'###%ld'% self.uuid
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem___cinit__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem___cinit__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  enum __pyx_t_9dearcygui_4core_positioning __pyx_t_4[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":5263
 *     def __cinit__(self):
 *         # mvAppItemInfo
 *         self.imgui_label = b'###%ld'% self.uuid             # <<<<<<<<<<<<<<
 *         self.user_label = ""
 *         self._show = True
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->__pyx_base.uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Remainder(__pyx_kp_b_ld, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":5264
 *         # mvAppItemInfo
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self._enabled = True
 */
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->user_label);
  __Pyx_DECREF(__pyx_v_self->user_label);
  __pyx_v_self->user_label = __pyx_kp_u_;

  /* "dearcygui/core.pyx":5265
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""
 *         self._show = True             # <<<<<<<<<<<<<<
 *         self._enabled = True
 *         self.can_be_disabled = True
 */
  __pyx_v_self->_show = 1;

  /* "dearcygui/core.pyx":5266
 *         self.user_label = ""
 *         self._show = True
 *         self._enabled = True             # <<<<<<<<<<<<<<
 *         self.can_be_disabled = True
 *         #self.location = -1
 */
  __pyx_v_self->_enabled = 1;

  /* "dearcygui/core.pyx":5267
 *         self._show = True
 *         self._enabled = True
 *         self.can_be_disabled = True             # <<<<<<<<<<<<<<
 *         #self.location = -1
 *         # next frame triggers
 */
  __pyx_v_self->can_be_disabled = 1;

  /* "dearcygui/core.pyx":5270
 *         #self.location = -1
 *         # next frame triggers
 *         self.focus_update_requested = False             # <<<<<<<<<<<<<<
 *         self.show_update_requested = True
 *         self.size_update_requested = True
 */
  __pyx_v_self->focus_update_requested = 0;

  /* "dearcygui/core.pyx":5271
 *         # next frame triggers
 *         self.focus_update_requested = False
 *         self.show_update_requested = True             # <<<<<<<<<<<<<<
 *         self.size_update_requested = True
 *         self.pos_update_requested = False
 */
  __pyx_v_self->show_update_requested = 1;

  /* "dearcygui/core.pyx":5272
 *         self.focus_update_requested = False
 *         self.show_update_requested = True
 *         self.size_update_requested = True             # <<<<<<<<<<<<<<
 *         self.pos_update_requested = False
 *         self.enabled_update_requested = False
 */
  __pyx_v_self->size_update_requested = 1;

  /* "dearcygui/core.pyx":5273
 *         self.show_update_requested = True
 *         self.size_update_requested = True
 *         self.pos_update_requested = False             # <<<<<<<<<<<<<<
 *         self.enabled_update_requested = False
 *         self.last_frame_update = 0 # last frame update occured. TODO remove ?
 */
  __pyx_v_self->pos_update_requested = 0;

  /* "dearcygui/core.pyx":5274
 *         self.size_update_requested = True
 *         self.pos_update_requested = False
 *         self.enabled_update_requested = False             # <<<<<<<<<<<<<<
 *         self.last_frame_update = 0 # last frame update occured. TODO remove ?
 *         # mvAppItemConfig
 */
  __pyx_v_self->enabled_update_requested = 0;

  /* "dearcygui/core.pyx":5275
 *         self.pos_update_requested = False
 *         self.enabled_update_requested = False
 *         self.last_frame_update = 0 # last frame update occured. TODO remove ?             # <<<<<<<<<<<<<<
 *         # mvAppItemConfig
 *         #self.filter = b""
 */
  __pyx_v_self->last_frame_update = 0;

  /* "dearcygui/core.pyx":5279
 *         #self.filter = b""
 *         #self.alias = b""
 *         self.payloadType = b"$$DPG_PAYLOAD"             # <<<<<<<<<<<<<<
 *         self.requested_size = imgui.ImVec2(0., 0.)
 *         self._indent = 0.
 */
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_DPG_PAYLOAD); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5279, __pyx_L1_error)
  __pyx_v_self->payloadType = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":5280
 *         #self.alias = b""
 *         self.payloadType = b"$$DPG_PAYLOAD"
 *         self.requested_size = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         self._indent = 0.
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True
 */
  __pyx_v_self->requested_size = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":5281
 *         self.payloadType = b"$$DPG_PAYLOAD"
 *         self.requested_size = imgui.ImVec2(0., 0.)
 *         self._indent = 0.             # <<<<<<<<<<<<<<
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True
 *         self.theme_condition_category = theme_categories.t_any
 */
  __pyx_v_self->_indent = 0.;

  /* "dearcygui/core.pyx":5282
 *         self.requested_size = imgui.ImVec2(0., 0.)
 *         self._indent = 0.
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_any
 *         self.can_have_sibling = True
 */
  __pyx_v_self->theme_condition_enabled = __pyx_e_9dearcygui_4core_t_enabled_True;

  /* "dearcygui/core.pyx":5283
 *         self._indent = 0.
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True
 *         self.theme_condition_category = theme_categories.t_any             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_widget
 */
  __pyx_v_self->theme_condition_category = __pyx_e_9dearcygui_4core_t_any;

  /* "dearcygui/core.pyx":5284
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True
 *         self.theme_condition_category = theme_categories.t_any
 *         self.can_have_sibling = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_widget
 *         self.state.cap.has_position = True # ALL widgets have position
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 1;

  /* "dearcygui/core.pyx":5285
 *         self.theme_condition_category = theme_categories.t_any
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_widget             # <<<<<<<<<<<<<<
 *         self.state.cap.has_position = True # ALL widgets have position
 *         self.state.cap.has_rect_size = True # ALL items have a rectangle size
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_widget;

  /* "dearcygui/core.pyx":5286
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_widget
 *         self.state.cap.has_position = True # ALL widgets have position             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True # ALL items have a rectangle size
 *         self.p_state = &self.state
 */
  __pyx_v_self->state.cap.has_position = 1;

  /* "dearcygui/core.pyx":5287
 *         self.element_child_category = child_type.cat_widget
 *         self.state.cap.has_position = True # ALL widgets have position
 *         self.state.cap.has_rect_size = True # ALL items have a rectangle size             # <<<<<<<<<<<<<<
 *         self.p_state = &self.state
 *         self._pos_policy = [positioning.DEFAULT, positioning.DEFAULT]
 */
  __pyx_v_self->state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":5288
 *         self.state.cap.has_position = True # ALL widgets have position
 *         self.state.cap.has_rect_size = True # ALL items have a rectangle size
 *         self.p_state = &self.state             # <<<<<<<<<<<<<<
 *         self._pos_policy = [positioning.DEFAULT, positioning.DEFAULT]
 *         #self.trackOffset = 0.5 # 0.0f:top, 0.5f:center, 1.0f:bottom
 */
  __pyx_v_self->__pyx_base.p_state = (&__pyx_v_self->state);

  /* "dearcygui/core.pyx":5289
 *         self.state.cap.has_rect_size = True # ALL items have a rectangle size
 *         self.p_state = &self.state
 *         self._pos_policy = [positioning.DEFAULT, positioning.DEFAULT]             # <<<<<<<<<<<<<<
 *         #self.trackOffset = 0.5 # 0.0f:top, 0.5f:center, 1.0f:bottom
 *         #self.tracked = False
 */
  __pyx_t_4[0] = __pyx_e_9dearcygui_4core_DEFAULT;
  __pyx_t_4[1] = __pyx_e_9dearcygui_4core_DEFAULT;
  memcpy(&(__pyx_v_self->_pos_policy[0]), __pyx_t_4, sizeof(__pyx_v_self->_pos_policy[0]) * (2));

  /* "dearcygui/core.pyx":5292
 *         #self.trackOffset = 0.5 # 0.0f:top, 0.5f:center, 1.0f:bottom
 *         #self.tracked = False
 *         self.dragCallback = None             # <<<<<<<<<<<<<<
 *         self.dropCallback = None
 *         self._value = SharedValue(self.context) # To be changed by class
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->dragCallback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->dragCallback);
  __pyx_v_self->dragCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None);

  /* "dearcygui/core.pyx":5293
 *         #self.tracked = False
 *         self.dragCallback = None
 *         self.dropCallback = None             # <<<<<<<<<<<<<<
 *         self._value = SharedValue(self.context) # To be changed by class
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->dropCallback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->dropCallback);
  __pyx_v_self->dropCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None);

  /* "dearcygui/core.pyx":5294
 *         self.dragCallback = None
 *         self.dropCallback = None
 *         self._value = SharedValue(self.context) # To be changed by class             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue), ((PyObject *)__pyx_v_self->__pyx_base.context)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":5261
 * 
 * cdef class uiItem(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # mvAppItemInfo
 *         self.imgui_label = b'###%ld'% self.uuid
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.uiItem.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5296
 *         self._value = SharedValue(self.context) # To be changed by class
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         clear_obj_vector(self._callbacks)
 * 
 */

/* Python wrapper */
static void __pyx_pw_9dearcygui_4core_6uiItem_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9dearcygui_4core_6uiItem_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9dearcygui_4core_6uiItem_2__dealloc__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9dearcygui_4core_6uiItem_2__dealloc__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5297
 * 
 *     def __dealloc__(self):
 *         clear_obj_vector(self._callbacks)             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, **kwargs):
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->_callbacks); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5297, __pyx_L1_error)

  /* "dearcygui/core.pyx":5296
 *         self._value = SharedValue(self.context) # To be changed by class
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         clear_obj_vector(self._callbacks)
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("dearcygui.core.uiItem.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
}

/* "dearcygui/core.pyx":5299
 *         clear_obj_vector(self._callbacks)
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6uiItem_5configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_6uiItem_5configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_4configure(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4configure(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_source = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  ImVec2 __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":5301
 *     def configure(self, **kwargs):
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:             # <<<<<<<<<<<<<<
 *             pos = kwargs.pop("pos")
 *             if pos is not None and len(pos) == 2:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_pos, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 5301, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5302
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:
 *             pos = kwargs.pop("pos")             # <<<<<<<<<<<<<<
 *             if pos is not None and len(pos) == 2:
 *                 self.pos_to_window = pos
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_pos};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5302, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pos = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":5303
 *         if 'pos' in kwargs:
 *             pos = kwargs.pop("pos")
 *             if pos is not None and len(pos) == 2:             # <<<<<<<<<<<<<<
 *                 self.pos_to_window = pos
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 */
    __pyx_t_6 = (__pyx_v_pos != Py_None);
    if (__pyx_t_6) {
    } else {
      __pyx_t_1 = __pyx_t_6;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_7 = PyObject_Length(__pyx_v_pos); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5303, __pyx_L1_error)
    __pyx_t_6 = (__pyx_t_7 == 2);
    __pyx_t_1 = __pyx_t_6;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":5304
 *             pos = kwargs.pop("pos")
 *             if pos is not None and len(pos) == 2:
 *                 self.pos_to_window = pos             # <<<<<<<<<<<<<<
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 *         if 'callback' in kwargs:
 */
      if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pos_to_window, __pyx_v_pos) < 0) __PYX_ERR(1, 5304, __pyx_L1_error)

      /* "dearcygui/core.pyx":5305
 *             if pos is not None and len(pos) == 2:
 *                 self.pos_to_window = pos
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure             # <<<<<<<<<<<<<<
 *         if 'callback' in kwargs:
 *             self.callbacks = kwargs.pop("callback")
 */
      __pyx_t_8 = __pyx_v_self->state.cur.pos_to_window;
      __pyx_v_self->state.cur.pos_to_viewport = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_8);

      /* "dearcygui/core.pyx":5303
 *         if 'pos' in kwargs:
 *             pos = kwargs.pop("pos")
 *             if pos is not None and len(pos) == 2:             # <<<<<<<<<<<<<<
 *                 self.pos_to_window = pos
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 */
    }

    /* "dearcygui/core.pyx":5301
 *     def configure(self, **kwargs):
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:             # <<<<<<<<<<<<<<
 *             pos = kwargs.pop("pos")
 *             if pos is not None and len(pos) == 2:
 */
  }

  /* "dearcygui/core.pyx":5306
 *                 self.pos_to_window = pos
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 *         if 'callback' in kwargs:             # <<<<<<<<<<<<<<
 *             self.callbacks = kwargs.pop("callback")
 *         if 'source' in kwargs:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_callback, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 5306, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5307
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 *         if 'callback' in kwargs:
 *             self.callbacks = kwargs.pop("callback")             # <<<<<<<<<<<<<<
 *         if 'source' in kwargs:
 *             source = kwargs.pop("source")
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5307, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_callbacks, __pyx_t_2) < 0) __PYX_ERR(1, 5307, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":5306
 *                 self.pos_to_window = pos
 *                 self.state.cur.pos_to_viewport = self.state.cur.pos_to_window # for windows TODO move to own configure
 *         if 'callback' in kwargs:             # <<<<<<<<<<<<<<
 *             self.callbacks = kwargs.pop("callback")
 *         if 'source' in kwargs:
 */
  }

  /* "dearcygui/core.pyx":5308
 *         if 'callback' in kwargs:
 *             self.callbacks = kwargs.pop("callback")
 *         if 'source' in kwargs:             # <<<<<<<<<<<<<<
 *             source = kwargs.pop("source")
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_source, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 5308, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5309
 *             self.callbacks = kwargs.pop("callback")
 *         if 'source' in kwargs:
 *             source = kwargs.pop("source")             # <<<<<<<<<<<<<<
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):
 *                 self.shareable_value = self.context[source].shareable_value
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_source};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5309, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_source = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":5310
 *         if 'source' in kwargs:
 *             source = kwargs.pop("source")
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):             # <<<<<<<<<<<<<<
 *                 self.shareable_value = self.context[source].shareable_value
 *         return super().configure(**kwargs)
 */
    __pyx_t_6 = (__pyx_v_source != Py_None);
    if (__pyx_t_6) {
    } else {
      __pyx_t_1 = __pyx_t_6;
      goto __pyx_L10_bool_binop_done;
    }
    __pyx_t_6 = PyInt_Check(__pyx_v_source); 
    __pyx_t_9 = (!__pyx_t_6);
    if (!__pyx_t_9) {
    } else {
      __pyx_t_1 = __pyx_t_9;
      goto __pyx_L10_bool_binop_done;
    }
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_source, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5310, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 5310, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_9;
    __pyx_L10_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":5311
 *             source = kwargs.pop("source")
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):
 *                 self.shareable_value = self.context[source].shareable_value             # <<<<<<<<<<<<<<
 *         return super().configure(**kwargs)
 * 
 */
      __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self->__pyx_base.context), __pyx_v_source); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5311, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_shareable_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5311, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_shareable_value, __pyx_t_3) < 0) __PYX_ERR(1, 5311, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":5310
 *         if 'source' in kwargs:
 *             source = kwargs.pop("source")
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):             # <<<<<<<<<<<<<<
 *                 self.shareable_value = self.context[source].shareable_value
 *         return super().configure(**kwargs)
 */
    }

    /* "dearcygui/core.pyx":5308
 *         if 'callback' in kwargs:
 *             self.callbacks = kwargs.pop("callback")
 *         if 'source' in kwargs:             # <<<<<<<<<<<<<<
 *             source = kwargs.pop("source")
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):
 */
  }

  /* "dearcygui/core.pyx":5312
 *             if source is not None and (not(isinstance(source, int)) or (source > 0)):
 *                 self.shareable_value = self.context[source].shareable_value
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     cdef void update_current_state(self) noexcept nogil:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_uiItem);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_uiItem);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_uiItem))) __PYX_ERR(1, 5312, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 5312, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_configure); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5299
 *         clear_obj_vector(self._callbacks)
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pos);
  __Pyx_XDECREF(__pyx_v_source);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5314
 *         return super().configure(**kwargs)
 * 
 *     cdef void update_current_state(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Updates the state of the last imgui object.
 */

static void __pyx_f_9dearcygui_4core_6uiItem_update_current_state(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":5318
 *         Updates the state of the last imgui object.
 *         """
 *         if self.state.cap.can_be_hovered:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_active:
 */
  if (__pyx_v_self->state.cap.can_be_hovered) {

    /* "dearcygui/core.pyx":5319
 *         """
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_active:
 *             self.state.cur.active = imgui.IsItemActive()
 */
    __pyx_v_self->state.cur.hovered = ImGui::IsItemHovered(ImGuiHoveredFlags_None);

    /* "dearcygui/core.pyx":5318
 *         Updates the state of the last imgui object.
 *         """
 *         if self.state.cap.can_be_hovered:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_active:
 */
  }

  /* "dearcygui/core.pyx":5320
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_active:             # <<<<<<<<<<<<<<
 *             self.state.cur.active = imgui.IsItemActive()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 */
  if (__pyx_v_self->state.cap.can_be_active) {

    /* "dearcygui/core.pyx":5321
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_active:
 *             self.state.cur.active = imgui.IsItemActive()             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 */
    __pyx_v_self->state.cur.active = ImGui::IsItemActive();

    /* "dearcygui/core.pyx":5320
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_active:             # <<<<<<<<<<<<<<
 *             self.state.cur.active = imgui.IsItemActive()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 */
  }

  /* "dearcygui/core.pyx":5322
 *         if self.state.cap.can_be_active:
 *             self.state.cur.active = imgui.IsItemActive()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.can_be_deactivated_after_edited:
 */
  if (!__pyx_v_self->state.cap.can_be_clicked) {
  } else {
    __pyx_t_1 = __pyx_v_self->state.cap.can_be_clicked;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->state.cap.can_be_dragged;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5323
 *             self.state.cur.active = imgui.IsItemActive()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_deactivated_after_edited:
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 */
    __pyx_f_9dearcygui_4core_update_current_mouse_states(__pyx_v_self->state);

    /* "dearcygui/core.pyx":5322
 *         if self.state.cap.can_be_active:
 *             self.state.cur.active = imgui.IsItemActive()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.can_be_deactivated_after_edited:
 */
  }

  /* "dearcygui/core.pyx":5324
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.can_be_deactivated_after_edited:             # <<<<<<<<<<<<<<
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 *         if self.state.cap.can_be_edited:
 */
  if (__pyx_v_self->state.cap.can_be_deactivated_after_edited) {

    /* "dearcygui/core.pyx":5325
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.can_be_deactivated_after_edited:
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_edited:
 *             self.state.cur.edited = imgui.IsItemEdited()
 */
    __pyx_v_self->state.cur.deactivated_after_edited = ImGui::IsItemDeactivatedAfterEdit();

    /* "dearcygui/core.pyx":5324
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.can_be_deactivated_after_edited:             # <<<<<<<<<<<<<<
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 *         if self.state.cap.can_be_edited:
 */
  }

  /* "dearcygui/core.pyx":5326
 *         if self.state.cap.can_be_deactivated_after_edited:
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 *         if self.state.cap.can_be_edited:             # <<<<<<<<<<<<<<
 *             self.state.cur.edited = imgui.IsItemEdited()
 *         if self.state.cap.can_be_focused:
 */
  if (__pyx_v_self->state.cap.can_be_edited) {

    /* "dearcygui/core.pyx":5327
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 *         if self.state.cap.can_be_edited:
 *             self.state.cur.edited = imgui.IsItemEdited()             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 */
    __pyx_v_self->state.cur.edited = ImGui::IsItemEdited();

    /* "dearcygui/core.pyx":5326
 *         if self.state.cap.can_be_deactivated_after_edited:
 *             self.state.cur.deactivated_after_edited = imgui.IsItemDeactivatedAfterEdit()
 *         if self.state.cap.can_be_edited:             # <<<<<<<<<<<<<<
 *             self.state.cur.edited = imgui.IsItemEdited()
 *         if self.state.cap.can_be_focused:
 */
  }

  /* "dearcygui/core.pyx":5328
 *         if self.state.cap.can_be_edited:
 *             self.state.cur.edited = imgui.IsItemEdited()
 *         if self.state.cap.can_be_focused:             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:
 */
  if (__pyx_v_self->state.cap.can_be_focused) {

    /* "dearcygui/core.pyx":5329
 *             self.state.cur.edited = imgui.IsItemEdited()
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_toggled:
 *             if imgui.IsItemToggledOpen():
 */
    __pyx_v_self->state.cur.focused = ImGui::IsItemFocused();

    /* "dearcygui/core.pyx":5328
 *         if self.state.cap.can_be_edited:
 *             self.state.cur.edited = imgui.IsItemEdited()
 *         if self.state.cap.can_be_focused:             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:
 */
  }

  /* "dearcygui/core.pyx":5330
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:             # <<<<<<<<<<<<<<
 *             if imgui.IsItemToggledOpen():
 *                 self.state.cur.open = True
 */
  if (__pyx_v_self->state.cap.can_be_toggled) {

    /* "dearcygui/core.pyx":5331
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:
 *             if imgui.IsItemToggledOpen():             # <<<<<<<<<<<<<<
 *                 self.state.cur.open = True
 *         if self.state.cap.has_rect_size:
 */
    __pyx_t_1 = ImGui::IsItemToggledOpen();
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":5332
 *         if self.state.cap.can_be_toggled:
 *             if imgui.IsItemToggledOpen():
 *                 self.state.cur.open = True             # <<<<<<<<<<<<<<
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 */
      __pyx_v_self->state.cur.open = 1;

      /* "dearcygui/core.pyx":5331
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:
 *             if imgui.IsItemToggledOpen():             # <<<<<<<<<<<<<<
 *                 self.state.cur.open = True
 *         if self.state.cap.has_rect_size:
 */
    }

    /* "dearcygui/core.pyx":5330
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_toggled:             # <<<<<<<<<<<<<<
 *             if imgui.IsItemToggledOpen():
 *                 self.state.cur.open = True
 */
  }

  /* "dearcygui/core.pyx":5333
 *             if imgui.IsItemToggledOpen():
 *                 self.state.cur.open = True
 *         if self.state.cap.has_rect_size:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()
 */
  if (__pyx_v_self->state.cap.has_rect_size) {

    /* "dearcygui/core.pyx":5334
 *                 self.state.cur.open = True
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = imgui.IsItemVisible()
 *         #if not(self.state.cur.rendered):
 */
    __pyx_v_self->state.cur.rect_size = ImGui::GetItemRectSize();

    /* "dearcygui/core.pyx":5333
 *             if imgui.IsItemToggledOpen():
 *                 self.state.cur.open = True
 *         if self.state.cap.has_rect_size:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()
 */
  }

  /* "dearcygui/core.pyx":5335
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()             # <<<<<<<<<<<<<<
 *         #if not(self.state.cur.rendered):
 *         #    self.propagate_hidden_state_to_children_with_handlers()
 */
  __pyx_v_self->state.cur.rendered = ImGui::IsItemVisible();

  /* "dearcygui/core.pyx":5314
 *         return super().configure(**kwargs)
 * 
 *     cdef void update_current_state(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Updates the state of the last imgui object.
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5339
 *         #    self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     cdef void update_current_state_subset(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Helper for items that manage themselves the active,
 */

static void __pyx_f_9dearcygui_4core_6uiItem_update_current_state_subset(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":5344
 *         edited, etc states
 *         """
 *         if self.state.cap.can_be_hovered:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_focused:
 */
  if (__pyx_v_self->state.cap.can_be_hovered) {

    /* "dearcygui/core.pyx":5345
 *         """
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 */
    __pyx_v_self->state.cur.hovered = ImGui::IsItemHovered(ImGuiHoveredFlags_None);

    /* "dearcygui/core.pyx":5344
 *         edited, etc states
 *         """
 *         if self.state.cap.can_be_hovered:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_focused:
 */
  }

  /* "dearcygui/core.pyx":5346
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_focused:             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 */
  if (__pyx_v_self->state.cap.can_be_focused) {

    /* "dearcygui/core.pyx":5347
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()             # <<<<<<<<<<<<<<
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 */
    __pyx_v_self->state.cur.focused = ImGui::IsItemFocused();

    /* "dearcygui/core.pyx":5346
 *         if self.state.cap.can_be_hovered:
 *             self.state.cur.hovered = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *         if self.state.cap.can_be_focused:             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 */
  }

  /* "dearcygui/core.pyx":5348
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.has_rect_size:
 */
  if (!__pyx_v_self->state.cap.can_be_clicked) {
  } else {
    __pyx_t_1 = __pyx_v_self->state.cap.can_be_clicked;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->state.cap.can_be_dragged;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5349
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)             # <<<<<<<<<<<<<<
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 */
    __pyx_f_9dearcygui_4core_update_current_mouse_states(__pyx_v_self->state);

    /* "dearcygui/core.pyx":5348
 *         if self.state.cap.can_be_focused:
 *             self.state.cur.focused = imgui.IsItemFocused()
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:             # <<<<<<<<<<<<<<
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.has_rect_size:
 */
  }

  /* "dearcygui/core.pyx":5350
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.has_rect_size:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()
 */
  if (__pyx_v_self->state.cap.has_rect_size) {

    /* "dearcygui/core.pyx":5351
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = imgui.IsItemVisible()
 *         #if not(self.state.cur.rendered):
 */
    __pyx_v_self->state.cur.rect_size = ImGui::GetItemRectSize();

    /* "dearcygui/core.pyx":5350
 *         if self.state.cap.can_be_clicked or self.state.cap.can_be_dragged:
 *             update_current_mouse_states(self.state)
 *         if self.state.cap.has_rect_size:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()
 */
  }

  /* "dearcygui/core.pyx":5352
 *         if self.state.cap.has_rect_size:
 *             self.state.cur.rect_size = imgui.GetItemRectSize()
 *         self.state.cur.rendered = imgui.IsItemVisible()             # <<<<<<<<<<<<<<
 *         #if not(self.state.cur.rendered):
 *         #    self.propagate_hidden_state_to_children_with_handlers()
 */
  __pyx_v_self->state.cur.rendered = ImGui::IsItemVisible();

  /* "dearcygui/core.pyx":5339
 *         #    self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     cdef void update_current_state_subset(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Helper for items that manage themselves the active,
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":5357
 * 
 *     # TODO: Find a better way to share all these attributes while avoiding AttributeError
 *     def __dir__(self):             # <<<<<<<<<<<<<<
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7__dir__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6uiItem_7__dir__ = {"__dir__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_7__dir__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7__dir__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dir__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6__dir__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6__dir__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  PyObject *__pyx_v_default_dir = 0;
  PyObject *__pyx_v_results = 0;
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dir__", 1);

  /* "dearcygui/core.pyx":5358
 *     # TODO: Find a better way to share all these attributes while avoiding AttributeError
 *     def __dir__(self):
 *         default_dir = dir(type(self))             # <<<<<<<<<<<<<<
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 *             default_dir + list(self.__dict__.keys())
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_default_dir = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5359
 *     def __dir__(self):
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing             # <<<<<<<<<<<<<<
 *             default_dir + list(self.__dict__.keys())
 *         # Remove invalid ones
 */
  __pyx_t_2 = __Pyx_HasAttr(((PyObject *)__pyx_v_self), __pyx_n_u_dict); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 5359, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":5360
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 *             default_dir + list(self.__dict__.keys())             # <<<<<<<<<<<<<<
 *         # Remove invalid ones
 *         results = []
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dict); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5360, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_t_4 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_v_default_dir, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":5359
 *     def __dir__(self):
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing             # <<<<<<<<<<<<<<
 *             default_dir + list(self.__dict__.keys())
 *         # Remove invalid ones
 */
  }

  /* "dearcygui/core.pyx":5362
 *             default_dir + list(self.__dict__.keys())
 *         # Remove invalid ones
 *         results = []             # <<<<<<<<<<<<<<
 *         for e in default_dir:
 *             if hasattr(self, e):
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_results = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5363
 *         # Remove invalid ones
 *         results = []
 *         for e in default_dir:             # <<<<<<<<<<<<<<
 *             if hasattr(self, e):
 *                 results.append(e)
 */
  if (likely(PyList_CheckExact(__pyx_v_default_dir)) || PyTuple_CheckExact(__pyx_v_default_dir)) {
    __pyx_t_1 = __pyx_v_default_dir; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_default_dir); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5363, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5363, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 5363, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5363, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5363, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 5363, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5363, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 5363, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_e, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":5364
 *         results = []
 *         for e in default_dir:
 *             if hasattr(self, e):             # <<<<<<<<<<<<<<
 *                 results.append(e)
 *         return list(set(results))
 */
    __pyx_t_2 = __Pyx_HasAttr(((PyObject *)__pyx_v_self), __pyx_v_e); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 5364, __pyx_L1_error)
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":5365
 *         for e in default_dir:
 *             if hasattr(self, e):
 *                 results.append(e)             # <<<<<<<<<<<<<<
 *         return list(set(results))
 * 
 */
      __pyx_t_8 = __Pyx_PyObject_Append(__pyx_v_results, __pyx_v_e); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 5365, __pyx_L1_error)

      /* "dearcygui/core.pyx":5364
 *         results = []
 *         for e in default_dir:
 *             if hasattr(self, e):             # <<<<<<<<<<<<<<
 *                 results.append(e)
 *         return list(set(results))
 */
    }

    /* "dearcygui/core.pyx":5363
 *         # Remove invalid ones
 *         results = []
 *         for e in default_dir:             # <<<<<<<<<<<<<<
 *             if hasattr(self, e):
 *                 results.append(e)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5366
 *             if hasattr(self, e):
 *                 results.append(e)
 *         return list(set(results))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PySet_New(__pyx_v_results); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5357
 * 
 *     # TODO: Find a better way to share all these attributes while avoiding AttributeError
 *     def __dir__(self):             # <<<<<<<<<<<<<<
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.__dir__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_default_dir);
  __Pyx_XDECREF(__pyx_v_results);
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5368
 *         return list(set(results))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def active(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6active_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6active_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6active___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6active___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5375
 *         it is when selected, etc.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_active);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5376
 *         """
 *         if not(self.state.cap.can_be_active):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5376, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5376, __pyx_L1_error)

    /* "dearcygui/core.pyx":5375
 *         it is when selected, etc.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5378
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5379
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.active             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.active); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5368
 *         return list(set(results))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def active(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.active.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5381
 *         return self.state.cur.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def activated(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9activated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9activated_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_9activated___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9activated___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5388
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_active);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5389
 *         """
 *         if not(self.state.cap.can_be_active):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5389, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5389, __pyx_L1_error)

    /* "dearcygui/core.pyx":5388
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5391
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5392
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_self->state.cur.active) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.active); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = (!__pyx_v_self->state.prev.active);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L4_bool_binop_done:;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5381
 *         return self.state.cur.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def activated(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.activated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5394
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7clicked_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7clicked_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7clicked___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7clicked___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5403
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_clicked):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_clicked);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5404
 *         """
 *         if not(self.state.cap.can_be_clicked):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5404, __pyx_L1_error)

    /* "dearcygui/core.pyx":5403
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_clicked):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5406
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return tuple(self.state.cur.clicked)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5407
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return tuple(self.state.cur.clicked)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_carray_to_py_bint(__pyx_v_self->state.cur.clicked, ((int)ImGuiMouseButton_COUNT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5394
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.clicked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5409
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def double_clicked(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_14double_clicked_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_14double_clicked_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_14double_clicked___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_14double_clicked___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5418
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_clicked):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_clicked);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5419
 *         """
 *         if not(self.state.cap.can_be_clicked):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5419, __pyx_L1_error)

    /* "dearcygui/core.pyx":5418
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_clicked):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5421
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.double_clicked
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5422
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.double_clicked             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_carray_to_py_bint(__pyx_v_self->state.cur.double_clicked, ((int)ImGuiMouseButton_COUNT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5409
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def double_clicked(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.double_clicked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5424
 *         return self.state.cur.double_clicked
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_11deactivated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_11deactivated_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_11deactivated___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_11deactivated___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5431
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_active);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5432
 *         """
 *         if not(self.state.cap.can_be_active):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5432, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5432, __pyx_L1_error)

    /* "dearcygui/core.pyx":5431
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_active):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5434
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return not(self.state.cur.active) and self.state.prev.active
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5435
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return not(self.state.cur.active) and self.state.prev.active             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = (!__pyx_v_self->state.cur.active);
  if (__pyx_t_1) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->state.prev.active); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L4_bool_binop_done:;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5424
 *         return self.state.cur.double_clicked
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.deactivated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5437
 *         return not(self.state.cur.active) and self.state.prev.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated_after_edited(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_24deactivated_after_edited_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_24deactivated_after_edited_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_24deactivated_after_edited___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_24deactivated_after_edited___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5445
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_deactivated_after_edited):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_deactivated_after_edited);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5446
 *         """
 *         if not(self.state.cap.can_be_deactivated_after_edited):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5446, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5446, __pyx_L1_error)

    /* "dearcygui/core.pyx":5445
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_deactivated_after_edited):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5448
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.deactivated_after_edited
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5449
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.deactivated_after_edited             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.deactivated_after_edited); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5437
 *         return not(self.state.cur.active) and self.state.prev.active
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def deactivated_after_edited(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.deactivated_after_edited.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5451
 *         return self.state.cur.deactivated_after_edited
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def edited(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6edited_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6edited_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6edited___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6edited___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5458
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_edited):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_edited);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5459
 *         """
 *         if not(self.state.cap.can_be_edited):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5459, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5459, __pyx_L1_error)

    /* "dearcygui/core.pyx":5458
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_edited):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5461
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.edited
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5462
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.edited             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.edited); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5451
 *         return self.state.cur.deactivated_after_edited
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def edited(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.edited.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5464
 *         return self.state.cur.edited
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def focused(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7focused_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7focused_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7focused___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7focused___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5471
 *         while for items it could mean the keyboard inputs are redirected to it.
 *         """
 *         if not(self.state.cap.can_be_focused):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_focused);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5472
 *         """
 *         if not(self.state.cap.can_be_focused):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5472, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5472, __pyx_L1_error)

    /* "dearcygui/core.pyx":5471
 *         while for items it could mean the keyboard inputs are redirected to it.
 *         """
 *         if not(self.state.cap.can_be_focused):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5474
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.focused
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5475
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.focused             # <<<<<<<<<<<<<<
 * 
 *     @focused.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.focused); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5464
 *         return self.state.cur.edited
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def focused(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.focused.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5477
 *         return self.state.cur.focused
 * 
 *     @focused.setter             # <<<<<<<<<<<<<<
 *     def focused(self, bint value):
 *         """
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_7focused_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_7focused_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5478, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.focused.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7focused_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_7focused_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5484
 *         while for items it could mean the keyboard inputs are redirected to it.
 *         """
 *         if not(self.state.cap.can_be_focused):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_focused);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5485
 *         """
 *         if not(self.state.cap.can_be_focused):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5485, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5485, __pyx_L1_error)

    /* "dearcygui/core.pyx":5484
 *         while for items it could mean the keyboard inputs are redirected to it.
 *         """
 *         if not(self.state.cap.can_be_focused):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5487
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.state.cur.focused = value
 *         self.focus_update_requested = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5488
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.state.cur.focused = value             # <<<<<<<<<<<<<<
 *         self.focus_update_requested = True
 * 
 */
  __pyx_v_self->state.cur.focused = __pyx_v_value;

  /* "dearcygui/core.pyx":5489
 *         lock_gil_friendly(m, self.mutex)
 *         self.state.cur.focused = value
 *         self.focus_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->focus_update_requested = 1;

  /* "dearcygui/core.pyx":5477
 *         return self.state.cur.focused
 * 
 *     @focused.setter             # <<<<<<<<<<<<<<
 *     def focused(self, bint value):
 *         """
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.focused.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5491
 *         self.focus_update_requested = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7hovered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7hovered_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7hovered___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7hovered___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5498
 *         subitems/subwindows take priority over their parent.
 *         """
 *         if not(self.state.cap.can_be_hovered):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_hovered);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5499
 *         """
 *         if not(self.state.cap.can_be_hovered):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5499, __pyx_L1_error)

    /* "dearcygui/core.pyx":5498
 *         subitems/subwindows take priority over their parent.
 *         """
 *         if not(self.state.cap.can_be_hovered):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5501
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.hovered
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5502
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.hovered             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.hovered); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5491
 *         self.focus_update_requested = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.hovered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5504
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resized(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7resized_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7resized_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7resized___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7resized___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5511
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.has_rect_size):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.has_rect_size);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5512
 *         """
 *         if not(self.state.cap.has_rect_size):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5512, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5512, __pyx_L1_error)

    /* "dearcygui/core.pyx":5511
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.has_rect_size):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5514
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5515
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \             # <<<<<<<<<<<<<<
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = (__pyx_v_self->state.cur.rect_size.x != __pyx_v_self->state.prev.rect_size.x);
  if (!__pyx_t_1) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":5516
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.rect_size.x != self.state.prev.rect_size.x or \
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = (__pyx_v_self->state.cur.rect_size.y != __pyx_v_self->state.prev.rect_size.y);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L4_bool_binop_done:;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5504
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resized(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.resized.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5518
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def toggled(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7toggled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7toggled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7toggled___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7toggled___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5525
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_toggled):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.can_be_toggled);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5526
 *         """
 *         if not(self.state.cap.can_be_toggled):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5526, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5526, __pyx_L1_error)

    /* "dearcygui/core.pyx":5525
 *         on handlers to catch this event.
 *         """
 *         if not(self.state.cap.can_be_toggled):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5528
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.open and not(self.state.prev.open)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5529
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.open and not(self.state.prev.open)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_self->state.cur.open) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.open); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = (!__pyx_v_self->state.prev.open);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L4_bool_binop_done:;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5518
 *                self.state.cur.rect_size.y != self.state.prev.rect_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def toggled(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.toggled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5531
 *         return self.state.cur.open and not(self.state.prev.open)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def visible(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7visible_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7visible_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7visible___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7visible___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5539
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.rendered
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5540
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.rendered             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.rendered); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5531
 *         return self.state.cur.open and not(self.state.prev.open)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def visible(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.visible.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5542
 *         return self.state.cur.rendered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def callbacks(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9callbacks_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9callbacks_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_9callbacks___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9callbacks___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_Callback *__pyx_v_callback = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5551
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5552
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef Callback callback
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5555
 *         cdef int i
 *         cdef Callback callback
 *         for i in range(<int>self._callbacks.size()):             # <<<<<<<<<<<<<<
 *             callback = <Callback>self._callbacks[i]
 *             result.append(callback)
 */
  __pyx_t_2 = ((int)__pyx_v_self->_callbacks.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":5556
 *         cdef Callback callback
 *         for i in range(<int>self._callbacks.size()):
 *             callback = <Callback>self._callbacks[i]             # <<<<<<<<<<<<<<
 *             result.append(callback)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->_callbacks[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_callback, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":5557
 *         for i in range(<int>self._callbacks.size()):
 *             callback = <Callback>self._callbacks[i]
 *             result.append(callback)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_callback)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 5557, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":5558
 *             callback = <Callback>self._callbacks[i]
 *             result.append(callback)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @callbacks.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5542
 *         return self.state.cur.rendered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def callbacks(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.callbacks.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_callback);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5560
 *         return result
 * 
 *     @callbacks.setter             # <<<<<<<<<<<<<<
 *     def callbacks(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_9callbacks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_9callbacks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_9callbacks_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_9callbacks_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":5563
 *     def callbacks(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5564
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5566
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._callbacks)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":5567
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._callbacks)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->_callbacks); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5567, __pyx_L1_error)

    /* "dearcygui/core.pyx":5568
 *         if value is None:
 *             clear_obj_vector(self._callbacks)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5566
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._callbacks)
 *             return
 */
  }

  /* "dearcygui/core.pyx":5569
 *             clear_obj_vector(self._callbacks)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         # Convert to callbacks
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 5569, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":5570
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         # Convert to callbacks
 *         for i in range(len(value)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 5570, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":5569
 *             clear_obj_vector(self._callbacks)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         # Convert to callbacks
 */
  }

  /* "dearcygui/core.pyx":5572
 *             value = [value]
 *         # Convert to callbacks
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             items.append(value[i] if isinstance(value[i], Callback) else Callback(value[i]))
 *         clear_obj_vector(self._callbacks)
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5572, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":5573
 *         # Convert to callbacks
 *         for i in range(len(value)):
 *             items.append(value[i] if isinstance(value[i], Callback) else Callback(value[i]))             # <<<<<<<<<<<<<<
 *         clear_obj_vector(self._callbacks)
 *         append_obj_vector(self._callbacks, items)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_7, __pyx_ptype_9dearcygui_4core_Callback); 
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_3) {
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __pyx_t_7;
      __pyx_t_7 = 0;
    } else {
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Callback), __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_1 = __pyx_t_8;
      __pyx_t_8 = 0;
    }
    __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_1); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 5573, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "dearcygui/core.pyx":5574
 *         for i in range(len(value)):
 *             items.append(value[i] if isinstance(value[i], Callback) else Callback(value[i]))
 *         clear_obj_vector(self._callbacks)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._callbacks, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->_callbacks); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5574, __pyx_L1_error)

  /* "dearcygui/core.pyx":5575
 *             items.append(value[i] if isinstance(value[i], Callback) else Callback(value[i]))
 *         clear_obj_vector(self._callbacks)
 *         append_obj_vector(self._callbacks, items)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->_callbacks, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5575, __pyx_L1_error)

  /* "dearcygui/core.pyx":5560
 *         return result
 * 
 *     @callbacks.setter             # <<<<<<<<<<<<<<
 *     def callbacks(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.uiItem.callbacks.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5577
 *         append_obj_vector(self._callbacks, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_7enabled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7enabled___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_7enabled___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5588
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._enabled
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5589
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled             # <<<<<<<<<<<<<<
 * 
 *     @enabled.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5577
 *         append_obj_vector(self._callbacks, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5591
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5592, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_7enabled_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_UCS4 __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum __pyx_t_9dearcygui_4core_theme_enablers __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5594
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(self.can_be_disabled) and value != True:
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5595
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self.can_be_disabled) and value != True:             # <<<<<<<<<<<<<<
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False
 */
  __pyx_t_2 = (!__pyx_v_self->can_be_disabled);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_value != 1);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5596
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self.can_be_disabled) and value != True:
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")             # <<<<<<<<<<<<<<
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False
 *         self.enabled_update_requested = True
 */
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __pyx_t_5 = 127;
    __Pyx_INCREF(__pyx_kp_u_Objects_of_type);
    __pyx_t_4 += 16;
    __Pyx_GIVEREF(__pyx_kp_u_Objects_of_type);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Objects_of_type);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5;
    __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_kp_u_cannot_be_disabled);
    __pyx_t_4 += 19;
    __Pyx_GIVEREF(__pyx_kp_u_cannot_be_disabled);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_cannot_be_disabled);
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5596, __pyx_L1_error)

    /* "dearcygui/core.pyx":5595
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self.can_be_disabled) and value != True:             # <<<<<<<<<<<<<<
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False
 */
  }

  /* "dearcygui/core.pyx":5597
 *         if not(self.can_be_disabled) and value != True:
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False             # <<<<<<<<<<<<<<
 *         self.enabled_update_requested = True
 *         self._enabled = value
 */
  if (__pyx_v_value) {
    __pyx_t_7 = __pyx_e_9dearcygui_4core_t_enabled_True;
  } else {
    __pyx_t_7 = __pyx_e_9dearcygui_4core_t_enabled_False;
  }
  __pyx_v_self->theme_condition_enabled = __pyx_t_7;

  /* "dearcygui/core.pyx":5598
 *             raise AttributeError(f"Objects of type {type(self)} cannot be disabled")
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False
 *         self.enabled_update_requested = True             # <<<<<<<<<<<<<<
 *         self._enabled = value
 * 
 */
  __pyx_v_self->enabled_update_requested = 1;

  /* "dearcygui/core.pyx":5599
 *         self.theme_condition_enabled = theme_enablers.t_enabled_True if value else theme_enablers.t_enabled_False
 *         self.enabled_update_requested = True
 *         self._enabled = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":5591
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.uiItem.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5601
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_4font_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_4font_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_4font___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4font___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5608
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._font
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5609
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._font             # <<<<<<<<<<<<<<
 * 
 *     @font.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_font);
  __pyx_r = ((PyObject *)__pyx_v_self->_font);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5601
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5611
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_Font, 1, "value", 0))) __PYX_ERR(1, 5612, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_4font_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_4font_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5614
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._font = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5615
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._font = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_font);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_font);
  __pyx_v_self->_font = __pyx_v_value;

  /* "dearcygui/core.pyx":5611
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5617
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5label___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5label___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5624
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.user_label
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5625
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.user_label             # <<<<<<<<<<<<<<
 * 
 *     @label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->user_label);
  __pyx_r = __pyx_v_self->user_label;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5617
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5627
 *         return self.user_label
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 5628, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5label_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_5label_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  std::string __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5630
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value is None:
 *             self.user_label = ""
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5631
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject*)Py_None));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5632
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:
 *             self.user_label = ""             # <<<<<<<<<<<<<<
 *         else:
 *             self.user_label = value
 */
    __Pyx_INCREF(__pyx_kp_u_);
    __Pyx_GIVEREF(__pyx_kp_u_);
    __Pyx_GOTREF(__pyx_v_self->user_label);
    __Pyx_DECREF(__pyx_v_self->user_label);
    __pyx_v_self->user_label = __pyx_kp_u_;

    /* "dearcygui/core.pyx":5631
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":5634
 *             self.user_label = ""
 *         else:
 *             self.user_label = value             # <<<<<<<<<<<<<<
 *         # Using ### means that imgui will ignore the user_label for
 *         # its internal ID of the object. Indeed else the ID would change
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    __Pyx_GOTREF(__pyx_v_self->user_label);
    __Pyx_DECREF(__pyx_v_self->user_label);
    __pyx_v_self->user_label = __pyx_v_value;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":5638
 *         # its internal ID of the object. Indeed else the ID would change
 *         # when the user label would change
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_self->user_label);
  __Pyx_GIVEREF(__pyx_v_self->user_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->user_label)) __PYX_ERR(1, 5638, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 5638, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->__pyx_base.uuid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyNumber_Remainder(__pyx_kp_b_ld, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);

  /* "dearcygui/core.pyx":5627
 *         return self.user_label
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5640
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5value___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5value___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5654
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value.value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5655
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value.value             # <<<<<<<<<<<<<<
 * 
 *     @value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_value), __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5640
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5657
 *         return self._value.value
 * 
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5value_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_5value_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":5660
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._value.value = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5661
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._value.value = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self->_value), __pyx_n_s_value, __pyx_v_value) < 0) __PYX_ERR(1, 5661, __pyx_L1_error)

  /* "dearcygui/core.pyx":5657
 *         return self._value.value
 * 
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5663
 *         self._value.value = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shareable_value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_15shareable_value___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_15shareable_value___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5673
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5674
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._value             # <<<<<<<<<<<<<<
 * 
 *     @shareable_value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_value);
  __pyx_r = ((PyObject *)__pyx_v_self->_value);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5663
 *         self._value.value = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shareable_value(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5676
 *         return self._value
 * 
 *     @shareable_value.setter             # <<<<<<<<<<<<<<
 *     def shareable_value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_15shareable_value_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_15shareable_value_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_UCS4 __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5679
 *     def shareable_value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._value is value:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5680
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value is value:             # <<<<<<<<<<<<<<
 *             return
 *         if type(self._value) is not type(value):
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_value) == __pyx_v_value);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5681
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value is value:
 *             return             # <<<<<<<<<<<<<<
 *         if type(self._value) is not type(value):
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5680
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._value is value:             # <<<<<<<<<<<<<<
 *             return
 *         if type(self._value) is not type(value):
 */
  }

  /* "dearcygui/core.pyx":5682
 *         if self._value is value:
 *             return
 *         if type(self._value) is not type(value):             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")
 *         self._value.dec_num_attached()
 */
  __pyx_t_1 = (((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self->_value))) != ((PyObject *)Py_TYPE(__pyx_v_value)));
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5683
 *             return
 *         if type(self._value) is not type(value):
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")             # <<<<<<<<<<<<<<
 *         self._value.dec_num_attached()
 *         self._value = value
 */
    __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = 127;
    __Pyx_INCREF(__pyx_kp_u_Expected_a_shareable_value_of_ty);
    __pyx_t_3 += 35;
    __Pyx_GIVEREF(__pyx_kp_u_Expected_a_shareable_value_of_ty);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Expected_a_shareable_value_of_ty);
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self->_value))), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_4) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_4;
    __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_INCREF(__pyx_kp_u_Received);
    __pyx_t_3 += 11;
    __Pyx_GIVEREF(__pyx_kp_u_Received);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_Received);
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_4) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_4;
    __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_2, 4, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 5683, __pyx_L1_error)

    /* "dearcygui/core.pyx":5682
 *         if self._value is value:
 *             return
 *         if type(self._value) is not type(value):             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")
 *         self._value.dec_num_attached()
 */
  }

  /* "dearcygui/core.pyx":5684
 *         if type(self._value) is not type(value):
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")
 *         self._value.dec_num_attached()             # <<<<<<<<<<<<<<
 *         self._value = value
 *         self._value.inc_num_attached()
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedValue *)__pyx_v_self->_value->__pyx_vtab)->dec_num_attached(__pyx_v_self->_value);

  /* "dearcygui/core.pyx":5685
 *             raise ValueError(f"Expected a shareable value of type {type(self._value)}. Received {type(value)}")
 *         self._value.dec_num_attached()
 *         self._value = value             # <<<<<<<<<<<<<<
 *         self._value.inc_num_attached()
 * 
 */
  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_SharedValue))))) __PYX_ERR(1, 5685, __pyx_L1_error)
  __pyx_t_2 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":5686
 *         self._value.dec_num_attached()
 *         self._value = value
 *         self._value.inc_num_attached()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SharedValue *)__pyx_v_self->_value->__pyx_vtab)->inc_num_attached(__pyx_v_self->_value);

  /* "dearcygui/core.pyx":5676
 *         return self._value
 * 
 *     @shareable_value.setter             # <<<<<<<<<<<<<<
 *     def shareable_value(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.uiItem.shareable_value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5688
 *         self._value.inc_num_attached()
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_4show_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_4show_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_4show___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_4show___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5699
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <bint>self._show
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5700
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <bint>self._show             # <<<<<<<<<<<<<<
 * 
 *     @show.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->_show != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5688
 *         self._value.inc_num_attached()
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.show.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5702
 *         return <bint>self._show
 * 
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5703, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.show.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_4show_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_4show_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":5705
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._show == value:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5706
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._show == value:             # <<<<<<<<<<<<<<
 *             return
 *         if not(value) and self._show:
 */
  __pyx_t_1 = (__pyx_v_self->_show == __pyx_v_value);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5707
 *         lock_gil_friendly(m, self.mutex)
 *         if self._show == value:
 *             return             # <<<<<<<<<<<<<<
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5706
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._show == value:             # <<<<<<<<<<<<<<
 *             return
 *         if not(value) and self._show:
 */
  }

  /* "dearcygui/core.pyx":5708
 *         if self._show == value:
 *             return
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?
 *         self.show_update_requested = True
 */
  __pyx_t_2 = (!__pyx_v_value);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->_show != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":5709
 *             return
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?             # <<<<<<<<<<<<<<
 *         self.show_update_requested = True
 *         self._show = value
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":5708
 *         if self._show == value:
 *             return
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?
 *         self.show_update_requested = True
 */
  }

  /* "dearcygui/core.pyx":5710
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?
 *         self.show_update_requested = True             # <<<<<<<<<<<<<<
 *         self._show = value
 * 
 */
  __pyx_v_self->show_update_requested = 1;

  /* "dearcygui/core.pyx":5711
 *             self.set_hidden_and_propagate_to_siblings_no_handlers() # TODO: already handled in draw() ?
 *         self.show_update_requested = True
 *         self._show = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_show = __pyx_v_value;

  /* "dearcygui/core.pyx":5702
 *         return <bint>self._show
 * 
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5713
 *         self._show = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_8handlers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_8handlers_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_8handlers___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_8handlers___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5722
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5723
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef baseHandler handler
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5726
 *         cdef int i
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 */
  __pyx_t_2 = ((int)__pyx_v_self->__pyx_base._handlers.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":5727
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]             # <<<<<<<<<<<<<<
 *             result.append(handler)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->__pyx_base._handlers[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":5728
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_handler)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 5728, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":5729
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @handlers.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5713
 *         self._show = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.handlers.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_handler);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5731
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_8handlers_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":5734
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5735
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":5737
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":5738
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5738, __pyx_L1_error)

    /* "dearcygui/core.pyx":5739
 *         if value is None:
 *             clear_obj_vector(self._handlers)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":5737
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  }

  /* "dearcygui/core.pyx":5740
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 5740, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":5741
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 5741, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":5740
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  }

  /* "dearcygui/core.pyx":5742
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5742, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":5743
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseHandler); 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = (!__pyx_t_3);
    if (unlikely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":5744
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")             # <<<<<<<<<<<<<<
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 */
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5744, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5744, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u_is_not_a_handler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5744, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5744, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 5744, __pyx_L1_error)

      /* "dearcygui/core.pyx":5743
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    }

    /* "dearcygui/core.pyx":5746
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)             # <<<<<<<<<<<<<<
 *             items.append(value[i])
 *         # Success: bind
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5746, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":5747
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 *             items.append(value[i])             # <<<<<<<<<<<<<<
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 5747, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":5749
 *             items.append(value[i])
 *         # Success: bind
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._handlers, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5749, __pyx_L1_error)

  /* "dearcygui/core.pyx":5750
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 *         append_obj_vector(self._handlers, items)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->__pyx_base._handlers, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5750, __pyx_L1_error)

  /* "dearcygui/core.pyx":5731
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.uiItem.handlers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5752
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5theme_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5theme_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5theme___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5theme___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5758
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._theme
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5759
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._theme             # <<<<<<<<<<<<<<
 * 
 *     @theme.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_theme);
  __pyx_r = ((PyObject *)__pyx_v_self->_theme);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5752
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5761
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_baseTheme, 1, "value", 0))) __PYX_ERR(1, 5762, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5theme_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":5764
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._theme = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5765
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._theme = value             # <<<<<<<<<<<<<<
 * 
 *     ### Positioning - layouts
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_theme);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_theme);
  __pyx_v_self->_theme = __pyx_v_value;

  /* "dearcygui/core.pyx":5761
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5771
 *     ### Current position states
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5794
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5795
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_viewport); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5771
 *     ### Current position states
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_viewport.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6046
 *     ## setters
 * 
 *     @pos_to_viewport.setter             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_15pos_to_viewport_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_x = 0;
  PyObject *__pyx_v_y = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6049
 *     def pos_to_viewport(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6050
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6050, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":6051
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")             # <<<<<<<<<<<<<<
 *         (x, y) = value
 *         if x is not None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6051, __pyx_L1_error)

    /* "dearcygui/core.pyx":6050
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  }

  /* "dearcygui/core.pyx":6052
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value             # <<<<<<<<<<<<<<
 *         if x is not None:
 *             self.state.cur.pos_to_viewport.x = x
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
    PyObject* sequence = __pyx_v_value;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(1, 6052, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(1, 6052, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 6052, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_y = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":6053
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport.x = x
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 */
  __pyx_t_2 = (__pyx_v_x != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6054
 *         (x, y) = value
 *         if x is not None:
 *             self.state.cur.pos_to_viewport.x = x             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 *         if y is not None:
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6054, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_viewport.x = __pyx_t_7;

    /* "dearcygui/core.pyx":6055
 *         if x is not None:
 *             self.state.cur.pos_to_viewport.x = x
 *             self._pos_policy[0] = positioning.REL_VIEWPORT             # <<<<<<<<<<<<<<
 *         if y is not None:
 *             self.state.cur.pos_to_viewport.y = y
 */
    (__pyx_v_self->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_VIEWPORT;

    /* "dearcygui/core.pyx":6053
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport.x = x
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 */
  }

  /* "dearcygui/core.pyx":6056
 *             self.state.cur.pos_to_viewport.x = x
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport.y = y
 *             self._pos_policy[1] = positioning.REL_VIEWPORT
 */
  __pyx_t_2 = (__pyx_v_y != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6057
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 *         if y is not None:
 *             self.state.cur.pos_to_viewport.y = y             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = positioning.REL_VIEWPORT
 *         self.pos_update_requested = True # TODO remove ?
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_y); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6057, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_viewport.y = __pyx_t_7;

    /* "dearcygui/core.pyx":6058
 *         if y is not None:
 *             self.state.cur.pos_to_viewport.y = y
 *             self._pos_policy[1] = positioning.REL_VIEWPORT             # <<<<<<<<<<<<<<
 *         self.pos_update_requested = True # TODO remove ?
 * 
 */
    (__pyx_v_self->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_VIEWPORT;

    /* "dearcygui/core.pyx":6056
 *             self.state.cur.pos_to_viewport.x = x
 *             self._pos_policy[0] = positioning.REL_VIEWPORT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport.y = y
 *             self._pos_policy[1] = positioning.REL_VIEWPORT
 */
  }

  /* "dearcygui/core.pyx":6059
 *             self.state.cur.pos_to_viewport.y = y
 *             self._pos_policy[1] = positioning.REL_VIEWPORT
 *         self.pos_update_requested = True # TODO remove ?             # <<<<<<<<<<<<<<
 * 
 *     @pos_to_window.setter
 */
  __pyx_v_self->pos_update_requested = 1;

  /* "dearcygui/core.pyx":6046
 *     ## setters
 * 
 *     @pos_to_viewport.setter             # <<<<<<<<<<<<<<
 *     def pos_to_viewport(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_viewport.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5797
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_window(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5819
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5820
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_window)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_window); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5797
 *         return IntPairFromVec2(self.state.cur.pos_to_viewport)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_window(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_window.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6061
 *         self.pos_update_requested = True # TODO remove ?
 * 
 *     @pos_to_window.setter             # <<<<<<<<<<<<<<
 *     def pos_to_window(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_window_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_x = 0;
  PyObject *__pyx_v_y = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6064
 *     def pos_to_window(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6065
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6065, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":6066
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")             # <<<<<<<<<<<<<<
 *         (x, y) = value
 *         if x is not None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6066, __pyx_L1_error)

    /* "dearcygui/core.pyx":6065
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  }

  /* "dearcygui/core.pyx":6067
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value             # <<<<<<<<<<<<<<
 *         if x is not None:
 *             self.state.cur.pos_to_window.x = x
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
    PyObject* sequence = __pyx_v_value;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(1, 6067, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(1, 6067, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 6067, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_y = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":6068
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_window.x = x
 *             self._pos_policy[0] = positioning.REL_WINDOW
 */
  __pyx_t_2 = (__pyx_v_x != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6069
 *         (x, y) = value
 *         if x is not None:
 *             self.state.cur.pos_to_window.x = x             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = positioning.REL_WINDOW
 *         if y is not None:
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6069, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_window.x = __pyx_t_7;

    /* "dearcygui/core.pyx":6070
 *         if x is not None:
 *             self.state.cur.pos_to_window.x = x
 *             self._pos_policy[0] = positioning.REL_WINDOW             # <<<<<<<<<<<<<<
 *         if y is not None:
 *             self.state.cur.pos_to_window.y = y
 */
    (__pyx_v_self->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_WINDOW;

    /* "dearcygui/core.pyx":6068
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_window.x = x
 *             self._pos_policy[0] = positioning.REL_WINDOW
 */
  }

  /* "dearcygui/core.pyx":6071
 *             self.state.cur.pos_to_window.x = x
 *             self._pos_policy[0] = positioning.REL_WINDOW
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_window.y = y
 *             self._pos_policy[1] = positioning.REL_WINDOW
 */
  __pyx_t_2 = (__pyx_v_y != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6072
 *             self._pos_policy[0] = positioning.REL_WINDOW
 *         if y is not None:
 *             self.state.cur.pos_to_window.y = y             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = positioning.REL_WINDOW
 *         self.pos_update_requested = True
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_y); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6072, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_window.y = __pyx_t_7;

    /* "dearcygui/core.pyx":6073
 *         if y is not None:
 *             self.state.cur.pos_to_window.y = y
 *             self._pos_policy[1] = positioning.REL_WINDOW             # <<<<<<<<<<<<<<
 *         self.pos_update_requested = True
 * 
 */
    (__pyx_v_self->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_WINDOW;

    /* "dearcygui/core.pyx":6071
 *             self.state.cur.pos_to_window.x = x
 *             self._pos_policy[0] = positioning.REL_WINDOW
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_window.y = y
 *             self._pos_policy[1] = positioning.REL_WINDOW
 */
  }

  /* "dearcygui/core.pyx":6074
 *             self.state.cur.pos_to_window.y = y
 *             self._pos_policy[1] = positioning.REL_WINDOW
 *         self.pos_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @pos_to_parent.setter
 */
  __pyx_v_self->pos_update_requested = 1;

  /* "dearcygui/core.pyx":6061
 *         self.pos_update_requested = True # TODO remove ?
 * 
 *     @pos_to_window.setter             # <<<<<<<<<<<<<<
 *     def pos_to_window(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_window.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5822
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5844
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5845
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5822
 *         return IntPairFromVec2(self.state.cur.pos_to_window)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_parent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6076
 *         self.pos_update_requested = True
 * 
 *     @pos_to_parent.setter             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_13pos_to_parent_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_x = 0;
  PyObject *__pyx_v_y = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6079
 *     def pos_to_parent(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6080
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6080, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":6081
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")             # <<<<<<<<<<<<<<
 *         (x, y) = value
 *         if x is not None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6081, __pyx_L1_error)

    /* "dearcygui/core.pyx":6080
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  }

  /* "dearcygui/core.pyx":6082
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value             # <<<<<<<<<<<<<<
 *         if x is not None:
 *             self.state.cur.pos_to_parent.x = x
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
    PyObject* sequence = __pyx_v_value;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(1, 6082, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(1, 6082, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 6082, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_y = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":6083
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_parent.x = x
 *             self._pos_policy[0] = positioning.REL_PARENT
 */
  __pyx_t_2 = (__pyx_v_x != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6084
 *         (x, y) = value
 *         if x is not None:
 *             self.state.cur.pos_to_parent.x = x             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = positioning.REL_PARENT
 *         if y is not None:
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6084, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_parent.x = __pyx_t_7;

    /* "dearcygui/core.pyx":6085
 *         if x is not None:
 *             self.state.cur.pos_to_parent.x = x
 *             self._pos_policy[0] = positioning.REL_PARENT             # <<<<<<<<<<<<<<
 *         if y is not None:
 *             self.state.cur.pos_to_parent.y = y
 */
    (__pyx_v_self->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_PARENT;

    /* "dearcygui/core.pyx":6083
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_parent.x = x
 *             self._pos_policy[0] = positioning.REL_PARENT
 */
  }

  /* "dearcygui/core.pyx":6086
 *             self.state.cur.pos_to_parent.x = x
 *             self._pos_policy[0] = positioning.REL_PARENT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_parent.y = y
 *             self._pos_policy[1] = positioning.REL_PARENT
 */
  __pyx_t_2 = (__pyx_v_y != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6087
 *             self._pos_policy[0] = positioning.REL_PARENT
 *         if y is not None:
 *             self.state.cur.pos_to_parent.y = y             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = positioning.REL_PARENT
 *         self.pos_update_requested = True
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_y); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6087, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_parent.y = __pyx_t_7;

    /* "dearcygui/core.pyx":6088
 *         if y is not None:
 *             self.state.cur.pos_to_parent.y = y
 *             self._pos_policy[1] = positioning.REL_PARENT             # <<<<<<<<<<<<<<
 *         self.pos_update_requested = True
 * 
 */
    (__pyx_v_self->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_PARENT;

    /* "dearcygui/core.pyx":6086
 *             self.state.cur.pos_to_parent.x = x
 *             self._pos_policy[0] = positioning.REL_PARENT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_parent.y = y
 *             self._pos_policy[1] = positioning.REL_PARENT
 */
  }

  /* "dearcygui/core.pyx":6089
 *             self.state.cur.pos_to_parent.y = y
 *             self._pos_policy[1] = positioning.REL_PARENT
 *         self.pos_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @pos_to_default.setter
 */
  __pyx_v_self->pos_update_requested = 1;

  /* "dearcygui/core.pyx":6076
 *         self.pos_update_requested = True
 * 
 *     @pos_to_parent.setter             # <<<<<<<<<<<<<<
 *     def pos_to_parent(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_parent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5847
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_default(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5865
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.pos_to_default)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5866
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.pos_to_default)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.pos_to_default); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5847
 *         return IntPairFromVec2(self.state.cur.pos_to_parent)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_to_default(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_default.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6091
 *         self.pos_update_requested = True
 * 
 *     @pos_to_default.setter             # <<<<<<<<<<<<<<
 *     def pos_to_default(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_14pos_to_default_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_x = 0;
  PyObject *__pyx_v_y = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6094
 *     def pos_to_default(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6095
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6095, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 2);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":6096
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")             # <<<<<<<<<<<<<<
 *         (x, y) = value
 *         if x is not None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6096, __pyx_L1_error)

    /* "dearcygui/core.pyx":6095
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:             # <<<<<<<<<<<<<<
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 */
  }

  /* "dearcygui/core.pyx":6097
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value             # <<<<<<<<<<<<<<
 *         if x is not None:
 *             self.state.cur.pos_to_default.x = x
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
    PyObject* sequence = __pyx_v_value;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(1, 6097, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(1, 6097, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 6097, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_y = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":6098
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_default.x = x
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 */
  __pyx_t_2 = (__pyx_v_x != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6099
 *         (x, y) = value
 *         if x is not None:
 *             self.state.cur.pos_to_default.x = x             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 *         if y is not None:
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6099, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_default.x = __pyx_t_7;

    /* "dearcygui/core.pyx":6100
 *         if x is not None:
 *             self.state.cur.pos_to_default.x = x
 *             self._pos_policy[0] = positioning.REL_DEFAULT             # <<<<<<<<<<<<<<
 *         if y is not None:
 *             self.state.cur.pos_to_default.y = y
 */
    (__pyx_v_self->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_DEFAULT;

    /* "dearcygui/core.pyx":6098
 *             raise ValueError("Expected tuple for pos: (x, y)")
 *         (x, y) = value
 *         if x is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_default.x = x
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 */
  }

  /* "dearcygui/core.pyx":6101
 *             self.state.cur.pos_to_default.x = x
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_default.y = y
 *             self._pos_policy[1] = positioning.REL_DEFAULT
 */
  __pyx_t_2 = (__pyx_v_y != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6102
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 *         if y is not None:
 *             self.state.cur.pos_to_default.y = y             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = positioning.REL_DEFAULT
 *         self.pos_update_requested = True
 */
    __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_v_y); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6102, __pyx_L1_error)
    __pyx_v_self->state.cur.pos_to_default.y = __pyx_t_7;

    /* "dearcygui/core.pyx":6103
 *         if y is not None:
 *             self.state.cur.pos_to_default.y = y
 *             self._pos_policy[1] = positioning.REL_DEFAULT             # <<<<<<<<<<<<<<
 *         self.pos_update_requested = True
 * 
 */
    (__pyx_v_self->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_DEFAULT;

    /* "dearcygui/core.pyx":6101
 *             self.state.cur.pos_to_default.x = x
 *             self._pos_policy[0] = positioning.REL_DEFAULT
 *         if y is not None:             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_default.y = y
 *             self._pos_policy[1] = positioning.REL_DEFAULT
 */
  }

  /* "dearcygui/core.pyx":6104
 *             self.state.cur.pos_to_default.y = y
 *             self._pos_policy[1] = positioning.REL_DEFAULT
 *         self.pos_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @pos_policy.setter
 */
  __pyx_v_self->pos_update_requested = 1;

  /* "dearcygui/core.pyx":6091
 *         self.pos_update_requested = True
 * 
 *     @pos_to_default.setter             # <<<<<<<<<<<<<<
 *     def pos_to_default(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_to_default.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5868
 *         return IntPairFromVec2(self.state.cur.pos_to_default)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rect_size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9rect_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9rect_size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_9rect_size___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_9rect_size___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5881
 *         window. If a popup menu is opened, it is not included.
 *         """
 *         if not(self.state.cap.has_rect_size):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.has_rect_size);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5882
 *         """
 *         if not(self.state.cap.has_rect_size):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5882, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5882, __pyx_L1_error)

    /* "dearcygui/core.pyx":5881
 *         window. If a popup menu is opened, it is not included.
 *         """
 *         if not(self.state.cap.has_rect_size):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5884
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5885
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.rect_size)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.rect_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5868
 *         return IntPairFromVec2(self.state.cur.pos_to_default)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def rect_size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.rect_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5887
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def content_region_avail(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_20content_region_avail_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_20content_region_avail_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_20content_region_avail___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_20content_region_avail___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5899
 *         minus the margins and borders.
 *         """
 *         if not(self.state.cap.has_content_region):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_1 = (!__pyx_v_self->state.cap.has_content_region);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":5900
 *         """
 *         if not(self.state.cap.has_content_region):
 *             raise AttributeError("Field undefined for type {}".format(type(self)))             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Field_undefined_for_type, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5900, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 5900, __pyx_L1_error)

    /* "dearcygui/core.pyx":5899
 *         minus the margins and borders.
 *         """
 *         if not(self.state.cap.has_content_region):             # <<<<<<<<<<<<<<
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 */
  }

  /* "dearcygui/core.pyx":5902
 *             raise AttributeError("Field undefined for type {}".format(type(self)))
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.state.cur.content_region_size)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5903
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.state.cur.content_region_size)             # <<<<<<<<<<<<<<
 * 
 *     ### Positioning and size requests
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->state.cur.content_region_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5887
 *         return IntPairFromVec2(self.state.cur.rect_size)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def content_region_avail(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.uiItem.content_region_avail.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5907
 *     ### Positioning and size requests
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_policy(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_10pos_policy___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10pos_policy___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5952
 *         frames may be needed for positions to stabilize.
 *         """
 *         return self._pos_policy             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_enum____pyx_t_9dearcygui_4core_positioning(__pyx_v_self->_pos_policy, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5907
 *     ### Positioning and size requests
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pos_policy(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_policy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6106
 *         self.pos_update_requested = True
 * 
 *     @pos_policy.setter             # <<<<<<<<<<<<<<
 *     def pos_policy(self, positioning value):
 *         policies = [
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  enum __pyx_t_9dearcygui_4core_positioning __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = ((enum __pyx_t_9dearcygui_4core_positioning)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(__pyx_arg_value)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6107, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_10pos_policy_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((enum __pyx_t_9dearcygui_4core_positioning)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_10pos_policy_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, enum __pyx_t_9dearcygui_4core_positioning __pyx_v_value) {
  PyObject *__pyx_v_policies = 0;
  PyObject *__pyx_v_x = 0;
  PyObject *__pyx_v_y = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  enum __pyx_t_9dearcygui_4core_positioning __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6109
 *     def pos_policy(self, positioning value):
 *         policies = [
 *             positioning.DEFAULT,             # <<<<<<<<<<<<<<
 *             positioning.REL_DEFAULT,
 *             positioning.REL_PARENT,
 */
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_e_9dearcygui_4core_DEFAULT); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "dearcygui/core.pyx":6110
 *         policies = [
 *             positioning.DEFAULT,
 *             positioning.REL_DEFAULT,             # <<<<<<<<<<<<<<
 *             positioning.REL_PARENT,
 *             positioning.REL_WINDOW,
 */
  __pyx_t_2 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_e_9dearcygui_4core_REL_DEFAULT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "dearcygui/core.pyx":6111
 *             positioning.DEFAULT,
 *             positioning.REL_DEFAULT,
 *             positioning.REL_PARENT,             # <<<<<<<<<<<<<<
 *             positioning.REL_WINDOW,
 *             positioning.REL_VIEWPORT
 */
  __pyx_t_3 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_e_9dearcygui_4core_REL_PARENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "dearcygui/core.pyx":6112
 *             positioning.REL_DEFAULT,
 *             positioning.REL_PARENT,
 *             positioning.REL_WINDOW,             # <<<<<<<<<<<<<<
 *             positioning.REL_VIEWPORT
 *         ]
 */
  __pyx_t_4 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_e_9dearcygui_4core_REL_WINDOW); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "dearcygui/core.pyx":6113
 *             positioning.REL_PARENT,
 *             positioning.REL_WINDOW,
 *             positioning.REL_VIEWPORT             # <<<<<<<<<<<<<<
 *         ]
 *         if hasattr(value, "__len__"):
 */
  __pyx_t_5 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_e_9dearcygui_4core_REL_VIEWPORT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "dearcygui/core.pyx":6108
 *     @pos_policy.setter
 *     def pos_policy(self, positioning value):
 *         policies = [             # <<<<<<<<<<<<<<
 *             positioning.DEFAULT,
 *             positioning.REL_DEFAULT,
 */
  __pyx_t_6 = PyList_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_1)) __PYX_ERR(1, 6108, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 6108, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_3)) __PYX_ERR(1, 6108, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 3, __pyx_t_4)) __PYX_ERR(1, 6108, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 4, __pyx_t_5)) __PYX_ERR(1, 6108, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_v_policies = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "dearcygui/core.pyx":6115
 *             positioning.REL_VIEWPORT
 *         ]
 *         if hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             (x, y) = value
 *             if x not in policies or y not in policies:
 */
  __pyx_t_6 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_HasAttr(__pyx_t_6, __pyx_n_u_len); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 6115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_7) {

    /* "dearcygui/core.pyx":6116
 *         ]
 *         if hasattr(value, "__len__"):
 *             (x, y) = value             # <<<<<<<<<<<<<<
 *             if x not in policies or y not in policies:
 *                 raise ValueError("Invalid positioning policy")
 */
    __pyx_t_6 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
      PyObject* sequence = __pyx_t_6;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(1, 6116, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      #else
      __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6116, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6116, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      #endif
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6116, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3);
      index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_3), 2) < 0) __PYX_ERR(1, 6116, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L5_unpacking_done;
      __pyx_L4_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_8 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(1, 6116, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    __pyx_v_x = __pyx_t_5;
    __pyx_t_5 = 0;
    __pyx_v_y = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":6117
 *         if hasattr(value, "__len__"):
 *             (x, y) = value
 *             if x not in policies or y not in policies:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = x
 */
    __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_x, __pyx_v_policies, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 6117, __pyx_L1_error)
    if (!__pyx_t_9) {
    } else {
      __pyx_t_7 = __pyx_t_9;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_y, __pyx_v_policies, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 6117, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_9;
    __pyx_L7_bool_binop_done:;
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":6118
 *             (x, y) = value
 *             if x not in policies or y not in policies:
 *                 raise ValueError("Invalid positioning policy")             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = x
 *             self._pos_policy[1] = y
 */
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6118, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 6118, __pyx_L1_error)

      /* "dearcygui/core.pyx":6117
 *         if hasattr(value, "__len__"):
 *             (x, y) = value
 *             if x not in policies or y not in policies:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = x
 */
    }

    /* "dearcygui/core.pyx":6119
 *             if x not in policies or y not in policies:
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = x             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = y
 *             self.pos_update_requested = True
 */
    __pyx_t_10 = ((enum __pyx_t_9dearcygui_4core_positioning)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(__pyx_v_x)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6119, __pyx_L1_error)
    (__pyx_v_self->_pos_policy[0]) = __pyx_t_10;

    /* "dearcygui/core.pyx":6120
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = x
 *             self._pos_policy[1] = y             # <<<<<<<<<<<<<<
 *             self.pos_update_requested = True
 *         else:
 */
    __pyx_t_10 = ((enum __pyx_t_9dearcygui_4core_positioning)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(__pyx_v_y)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6120, __pyx_L1_error)
    (__pyx_v_self->_pos_policy[1]) = __pyx_t_10;

    /* "dearcygui/core.pyx":6121
 *             self._pos_policy[0] = x
 *             self._pos_policy[1] = y
 *             self.pos_update_requested = True             # <<<<<<<<<<<<<<
 *         else:
 *             if value not in policies:
 */
    __pyx_v_self->pos_update_requested = 1;

    /* "dearcygui/core.pyx":6115
 *             positioning.REL_VIEWPORT
 *         ]
 *         if hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             (x, y) = value
 *             if x not in policies or y not in policies:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6123
 *             self.pos_update_requested = True
 *         else:
 *             if value not in policies:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = value
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_positioning_to_py(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_v_policies, Py_NE)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 6123, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_t_7)) {

      /* "dearcygui/core.pyx":6124
 *         else:
 *             if value not in policies:
 *                 raise ValueError("Invalid positioning policy")             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = value
 *             self._pos_policy[1] = value
 */
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 6124, __pyx_L1_error)

      /* "dearcygui/core.pyx":6123
 *             self.pos_update_requested = True
 *         else:
 *             if value not in policies:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = value
 */
    }

    /* "dearcygui/core.pyx":6125
 *             if value not in policies:
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = value             # <<<<<<<<<<<<<<
 *             self._pos_policy[1] = value
 *             self.pos_update_requested = True
 */
    (__pyx_v_self->_pos_policy[0]) = __pyx_v_value;

    /* "dearcygui/core.pyx":6126
 *                 raise ValueError("Invalid positioning policy")
 *             self._pos_policy[0] = value
 *             self._pos_policy[1] = value             # <<<<<<<<<<<<<<
 *             self.pos_update_requested = True
 * 
 */
    (__pyx_v_self->_pos_policy[1]) = __pyx_v_value;

    /* "dearcygui/core.pyx":6127
 *             self._pos_policy[0] = value
 *             self._pos_policy[1] = value
 *             self.pos_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @height.setter
 */
    __pyx_v_self->pos_update_requested = 1;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6106
 *         self.pos_update_requested = True
 * 
 *     @pos_policy.setter             # <<<<<<<<<<<<<<
 *     def pos_policy(self, positioning value):
 *         policies = [
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.uiItem.pos_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_policies);
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":5954
 *         return self._pos_policy
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6height___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6height___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":5983
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <int>self.requested_size.y
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":5984
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <int>self.requested_size.y             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->requested_size.y)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5954
 *         return self._pos_policy
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6129
 *             self.pos_update_requested = True
 * 
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6130, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6height_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_6height_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":6132
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.requested_size.y = <float>value
 *         if value <= 0:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6133
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.y = <float>value             # <<<<<<<<<<<<<<
 *         if value <= 0:
 *             self.state.cur.rect_size.y = 0.
 */
  __pyx_v_self->requested_size.y = ((float)__pyx_v_value);

  /* "dearcygui/core.pyx":6134
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.y = <float>value
 *         if value <= 0:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.y = 0.
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value <= 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6135
 *         self.requested_size.y = <float>value
 *         if value <= 0:
 *             self.state.cur.rect_size.y = 0.             # <<<<<<<<<<<<<<
 *         else:
 *             self.state.cur.rect_size.y = <float>value
 */
    __pyx_v_self->state.cur.rect_size.y = 0.;

    /* "dearcygui/core.pyx":6134
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.y = <float>value
 *         if value <= 0:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.y = 0.
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6137
 *             self.state.cur.rect_size.y = 0.
 *         else:
 *             self.state.cur.rect_size.y = <float>value             # <<<<<<<<<<<<<<
 *         self.size_update_requested = True
 * 
 */
  /*else*/ {
    __pyx_v_self->state.cur.rect_size.y = ((float)__pyx_v_value);
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6138
 *         else:
 *             self.state.cur.rect_size.y = <float>value
 *         self.size_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @width.setter
 */
  __pyx_v_self->size_update_requested = 1;

  /* "dearcygui/core.pyx":6129
 *             self.pos_update_requested = True
 * 
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":5986
 *         return <int>self.requested_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5width___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_5width___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6015
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <int>self.requested_size.x
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6016
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <int>self.requested_size.x             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->requested_size.x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":5986
 *         return <int>self.requested_size.y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6140
 *         self.size_update_requested = True
 * 
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6141, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_5width_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_5width_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":6143
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.requested_size.x = <float>value
 *         if value <= 0:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6144
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.x = <float>value             # <<<<<<<<<<<<<<
 *         if value <= 0:
 *             self.state.cur.rect_size.x = 0.
 */
  __pyx_v_self->requested_size.x = ((float)__pyx_v_value);

  /* "dearcygui/core.pyx":6145
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.x = <float>value
 *         if value <= 0:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.x = 0.
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value <= 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6146
 *         self.requested_size.x = <float>value
 *         if value <= 0:
 *             self.state.cur.rect_size.x = 0.             # <<<<<<<<<<<<<<
 *         else:
 *             self.state.cur.rect_size.x = <float>value
 */
    __pyx_v_self->state.cur.rect_size.x = 0.;

    /* "dearcygui/core.pyx":6145
 *         lock_gil_friendly(m, self.mutex)
 *         self.requested_size.x = <float>value
 *         if value <= 0:             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.x = 0.
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6148
 *             self.state.cur.rect_size.x = 0.
 *         else:
 *             self.state.cur.rect_size.x = <float>value             # <<<<<<<<<<<<<<
 *         self.size_update_requested = True
 * 
 */
  /*else*/ {
    __pyx_v_self->state.cur.rect_size.x = ((float)__pyx_v_value);
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6149
 *         else:
 *             self.state.cur.rect_size.x = <float>value
 *         self.size_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @indent.setter
 */
  __pyx_v_self->size_update_requested = 1;

  /* "dearcygui/core.pyx":6140
 *         self.size_update_requested = True
 * 
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6018
 *         return <int>self.requested_size.x
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def indent(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6indent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_6indent_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6indent___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_6indent___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6028
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._indent
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6029
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._indent             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_indent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6018
 *         return <int>self.requested_size.x
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def indent(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.indent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6151
 *         self.size_update_requested = True
 * 
 *     @indent.setter             # <<<<<<<<<<<<<<
 *     def indent(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_6indent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_6indent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6152, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.indent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_6indent_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_6indent_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6154
 *     def indent(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._indent = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6155
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._indent = value             # <<<<<<<<<<<<<<
 * 
 *     @no_newline.setter
 */
  __pyx_v_self->_indent = __pyx_v_value;

  /* "dearcygui/core.pyx":6151
 *         self.size_update_requested = True
 * 
 *     @indent.setter             # <<<<<<<<<<<<<<
 *     def indent(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6031
 *         return self._indent
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_newline(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_10no_newline_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_10no_newline_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_10no_newline___get__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10no_newline___get__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6041
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._indent
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6042
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._indent             # <<<<<<<<<<<<<<
 * 
 *     ## setters
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_indent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6031
 *         return self._indent
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_newline(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.uiItem.no_newline.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6157
 *         self._indent = value
 * 
 *     @no_newline.setter             # <<<<<<<<<<<<<<
 *     def no_newline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6uiItem_10no_newline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6uiItem_10no_newline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6158, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.no_newline.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_10no_newline_2__set__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6uiItem_10no_newline_2__set__(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6160
 *     def no_newline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._no_newline = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6161
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._no_newline = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __pyx_v_self->_no_newline = __pyx_v_value;

  /* "dearcygui/core.pyx":6157
 *         self._indent = value
 * 
 *     @no_newline.setter             # <<<<<<<<<<<<<<
 *     def no_newline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6163
 *         self._no_newline = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_6uiItem_draw(struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_indent;
  ImVec2 __pyx_v_cursor_pos_backup;
  enum __pyx_t_9dearcygui_4core_positioning __pyx_v_policy[2];
  ImVec2 __pyx_v_pos;
  int __pyx_v_enabled;
  int __pyx_v_action;
  int __pyx_v_i;
  int __pyx_t_1;
  float __pyx_t_2;
  enum __pyx_t_9dearcygui_4core_positioning *__pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8;

  /* "dearcygui/core.pyx":6164
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":6165
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6166
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 * 
 *         if not(self._show):
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":6165
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 * 
 */
  }

  /* "dearcygui/core.pyx":6168
 *             (<uiItem>self._prev_sibling).draw()
 * 
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 */
  __pyx_t_1 = (!(__pyx_v_self->_show != 0));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6169
 * 
 *         if not(self._show):
 *             if self.show_update_requested:             # <<<<<<<<<<<<<<
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    if (__pyx_v_self->show_update_requested) {

      /* "dearcygui/core.pyx":6170
 *         if not(self._show):
 *             if self.show_update_requested:
 *                 self.set_previous_states()             # <<<<<<<<<<<<<<
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":6171
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *                 self.run_handlers()
 *                 self.show_update_requested = False
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":6172
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()             # <<<<<<<<<<<<<<
 *                 self.show_update_requested = False
 *             return
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":6173
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()
 *                 self.show_update_requested = False             # <<<<<<<<<<<<<<
 *             return
 * 
 */
      __pyx_v_self->show_update_requested = 0;

      /* "dearcygui/core.pyx":6169
 * 
 *         if not(self._show):
 *             if self.show_update_requested:             # <<<<<<<<<<<<<<
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    }

    /* "dearcygui/core.pyx":6174
 *                 self.run_handlers()
 *                 self.show_update_requested = False
 *             return             # <<<<<<<<<<<<<<
 * 
 *         self.set_previous_states()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6168
 *             (<uiItem>self._prev_sibling).draw()
 * 
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 */
  }

  /* "dearcygui/core.pyx":6176
 *             return
 * 
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 * 
 *         if self.focus_update_requested:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6178
 *         self.set_previous_states()
 * 
 *         if self.focus_update_requested:             # <<<<<<<<<<<<<<
 *             if self.state.cur.focused:
 *                 imgui.SetKeyboardFocusHere(0)
 */
  if (__pyx_v_self->focus_update_requested) {

    /* "dearcygui/core.pyx":6179
 * 
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:             # <<<<<<<<<<<<<<
 *                 imgui.SetKeyboardFocusHere(0)
 *             self.focus_update_requested = False
 */
    if (__pyx_v_self->state.cur.focused) {

      /* "dearcygui/core.pyx":6180
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:
 *                 imgui.SetKeyboardFocusHere(0)             # <<<<<<<<<<<<<<
 *             self.focus_update_requested = False
 * 
 */
      ImGui::SetKeyboardFocusHere(0);

      /* "dearcygui/core.pyx":6179
 * 
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:             # <<<<<<<<<<<<<<
 *                 imgui.SetKeyboardFocusHere(0)
 *             self.focus_update_requested = False
 */
    }

    /* "dearcygui/core.pyx":6181
 *             if self.state.cur.focused:
 *                 imgui.SetKeyboardFocusHere(0)
 *             self.focus_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         # Does not affect all items, but is cheap to set
 */
    __pyx_v_self->focus_update_requested = 0;

    /* "dearcygui/core.pyx":6178
 *         self.set_previous_states()
 * 
 *         if self.focus_update_requested:             # <<<<<<<<<<<<<<
 *             if self.state.cur.focused:
 *                 imgui.SetKeyboardFocusHere(0)
 */
  }

  /* "dearcygui/core.pyx":6184
 * 
 *         # Does not affect all items, but is cheap to set
 *         if self.requested_size.x != 0:             # <<<<<<<<<<<<<<
 *             imgui.SetNextItemWidth(self.requested_size.x)
 * 
 */
  __pyx_t_1 = (__pyx_v_self->requested_size.x != 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6185
 *         # Does not affect all items, but is cheap to set
 *         if self.requested_size.x != 0:
 *             imgui.SetNextItemWidth(self.requested_size.x)             # <<<<<<<<<<<<<<
 * 
 *         cdef float indent = self._indent
 */
    ImGui::SetNextItemWidth(__pyx_v_self->requested_size.x);

    /* "dearcygui/core.pyx":6184
 * 
 *         # Does not affect all items, but is cheap to set
 *         if self.requested_size.x != 0:             # <<<<<<<<<<<<<<
 *             imgui.SetNextItemWidth(self.requested_size.x)
 * 
 */
  }

  /* "dearcygui/core.pyx":6187
 *             imgui.SetNextItemWidth(self.requested_size.x)
 * 
 *         cdef float indent = self._indent             # <<<<<<<<<<<<<<
 *         if indent > 0.:
 *             imgui.Indent(indent)
 */
  __pyx_t_2 = __pyx_v_self->_indent;
  __pyx_v_indent = __pyx_t_2;

  /* "dearcygui/core.pyx":6188
 * 
 *         cdef float indent = self._indent
 *         if indent > 0.:             # <<<<<<<<<<<<<<
 *             imgui.Indent(indent)
 *         # We use 0 to mean no indentation,
 */
  __pyx_t_1 = (__pyx_v_indent > 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6189
 *         cdef float indent = self._indent
 *         if indent > 0.:
 *             imgui.Indent(indent)             # <<<<<<<<<<<<<<
 *         # We use 0 to mean no indentation,
 *         # while imgui uses 0 for default indentation
 */
    ImGui::Indent(__pyx_v_indent);

    /* "dearcygui/core.pyx":6188
 * 
 *         cdef float indent = self._indent
 *         if indent > 0.:             # <<<<<<<<<<<<<<
 *             imgui.Indent(indent)
 *         # We use 0 to mean no indentation,
 */
    goto __pyx_L9;
  }

  /* "dearcygui/core.pyx":6192
 *         # We use 0 to mean no indentation,
 *         # while imgui uses 0 for default indentation
 *         elif indent < 0:             # <<<<<<<<<<<<<<
 *             imgui.Indent(0)
 * 
 */
  __pyx_t_1 = (__pyx_v_indent < 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6193
 *         # while imgui uses 0 for default indentation
 *         elif indent < 0:
 *             imgui.Indent(0)             # <<<<<<<<<<<<<<
 * 
 *         cdef imgui.ImVec2 cursor_pos_backup = imgui.GetCursorScreenPos()
 */
    ImGui::Indent(0.0);

    /* "dearcygui/core.pyx":6192
 *         # We use 0 to mean no indentation,
 *         # while imgui uses 0 for default indentation
 *         elif indent < 0:             # <<<<<<<<<<<<<<
 *             imgui.Indent(0)
 * 
 */
  }
  __pyx_L9:;

  /* "dearcygui/core.pyx":6195
 *             imgui.Indent(0)
 * 
 *         cdef imgui.ImVec2 cursor_pos_backup = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 * 
 *         cdef positioning[2] policy = self._pos_policy
 */
  __pyx_v_cursor_pos_backup = ImGui::GetCursorScreenPos();

  /* "dearcygui/core.pyx":6197
 *         cdef imgui.ImVec2 cursor_pos_backup = imgui.GetCursorScreenPos()
 * 
 *         cdef positioning[2] policy = self._pos_policy             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos = cursor_pos_backup
 * 
 */
  __pyx_t_3 = __pyx_v_self->_pos_policy;
  memcpy(&(__pyx_v_policy[0]), __pyx_t_3, sizeof(__pyx_v_policy[0]) * (2 - 0));

  /* "dearcygui/core.pyx":6198
 * 
 *         cdef positioning[2] policy = self._pos_policy
 *         cdef imgui.ImVec2 pos = cursor_pos_backup             # <<<<<<<<<<<<<<
 * 
 *         if policy[0] == positioning.REL_DEFAULT:
 */
  __pyx_v_pos = __pyx_v_cursor_pos_backup;

  /* "dearcygui/core.pyx":6200
 *         cdef imgui.ImVec2 pos = cursor_pos_backup
 * 
 *         if policy[0] == positioning.REL_DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.x += self.state.cur.pos_to_default.x
 *         elif policy[0] == positioning.REL_PARENT:
 */
  __pyx_t_1 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_REL_DEFAULT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6201
 * 
 *         if policy[0] == positioning.REL_DEFAULT:
 *             pos.x += self.state.cur.pos_to_default.x             # <<<<<<<<<<<<<<
 *         elif policy[0] == positioning.REL_PARENT:
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 */
    __pyx_v_pos.x = (__pyx_v_pos.x + __pyx_v_self->state.cur.pos_to_default.x);

    /* "dearcygui/core.pyx":6200
 *         cdef imgui.ImVec2 pos = cursor_pos_backup
 * 
 *         if policy[0] == positioning.REL_DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.x += self.state.cur.pos_to_default.x
 *         elif policy[0] == positioning.REL_PARENT:
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":6202
 *         if policy[0] == positioning.REL_DEFAULT:
 *             pos.x += self.state.cur.pos_to_default.x
 *         elif policy[0] == positioning.REL_PARENT:             # <<<<<<<<<<<<<<
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 *         elif policy[0] == positioning.REL_WINDOW:
 */
  __pyx_t_1 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_REL_PARENT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6203
 *             pos.x += self.state.cur.pos_to_default.x
 *         elif policy[0] == positioning.REL_PARENT:
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x             # <<<<<<<<<<<<<<
 *         elif policy[0] == positioning.REL_WINDOW:
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 */
    __pyx_v_pos.x = (__pyx_v_self->__pyx_base.context->_viewport->parent_pos.x + __pyx_v_self->state.cur.pos_to_parent.x);

    /* "dearcygui/core.pyx":6202
 *         if policy[0] == positioning.REL_DEFAULT:
 *             pos.x += self.state.cur.pos_to_default.x
 *         elif policy[0] == positioning.REL_PARENT:             # <<<<<<<<<<<<<<
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 *         elif policy[0] == positioning.REL_WINDOW:
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":6204
 *         elif policy[0] == positioning.REL_PARENT:
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 *         elif policy[0] == positioning.REL_WINDOW:             # <<<<<<<<<<<<<<
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 *         elif policy[0] == positioning.REL_VIEWPORT:
 */
  __pyx_t_1 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_REL_WINDOW);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6205
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 *         elif policy[0] == positioning.REL_WINDOW:
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x             # <<<<<<<<<<<<<<
 *         elif policy[0] == positioning.REL_VIEWPORT:
 *             pos.x = self.state.cur.pos_to_viewport.x
 */
    __pyx_v_pos.x = (__pyx_v_self->__pyx_base.context->_viewport->window_pos.x + __pyx_v_self->state.cur.pos_to_window.x);

    /* "dearcygui/core.pyx":6204
 *         elif policy[0] == positioning.REL_PARENT:
 *             pos.x = self.context._viewport.parent_pos.x + self.state.cur.pos_to_parent.x
 *         elif policy[0] == positioning.REL_WINDOW:             # <<<<<<<<<<<<<<
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 *         elif policy[0] == positioning.REL_VIEWPORT:
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":6206
 *         elif policy[0] == positioning.REL_WINDOW:
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 *         elif policy[0] == positioning.REL_VIEWPORT:             # <<<<<<<<<<<<<<
 *             pos.x = self.state.cur.pos_to_viewport.x
 *         # else: DEFAULT
 */
  __pyx_t_1 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_REL_VIEWPORT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6207
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 *         elif policy[0] == positioning.REL_VIEWPORT:
 *             pos.x = self.state.cur.pos_to_viewport.x             # <<<<<<<<<<<<<<
 *         # else: DEFAULT
 * 
 */
    __pyx_t_2 = __pyx_v_self->state.cur.pos_to_viewport.x;
    __pyx_v_pos.x = __pyx_t_2;

    /* "dearcygui/core.pyx":6206
 *         elif policy[0] == positioning.REL_WINDOW:
 *             pos.x = self.context._viewport.window_pos.x + self.state.cur.pos_to_window.x
 *         elif policy[0] == positioning.REL_VIEWPORT:             # <<<<<<<<<<<<<<
 *             pos.x = self.state.cur.pos_to_viewport.x
 *         # else: DEFAULT
 */
  }
  __pyx_L10:;

  /* "dearcygui/core.pyx":6210
 *         # else: DEFAULT
 * 
 *         if policy[1] == positioning.REL_DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.y += self.state.cur.pos_to_default.y
 *         elif policy[1] == positioning.REL_PARENT:
 */
  __pyx_t_1 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_DEFAULT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6211
 * 
 *         if policy[1] == positioning.REL_DEFAULT:
 *             pos.y += self.state.cur.pos_to_default.y             # <<<<<<<<<<<<<<
 *         elif policy[1] == positioning.REL_PARENT:
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 */
    __pyx_v_pos.y = (__pyx_v_pos.y + __pyx_v_self->state.cur.pos_to_default.y);

    /* "dearcygui/core.pyx":6210
 *         # else: DEFAULT
 * 
 *         if policy[1] == positioning.REL_DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.y += self.state.cur.pos_to_default.y
 *         elif policy[1] == positioning.REL_PARENT:
 */
    goto __pyx_L11;
  }

  /* "dearcygui/core.pyx":6212
 *         if policy[1] == positioning.REL_DEFAULT:
 *             pos.y += self.state.cur.pos_to_default.y
 *         elif policy[1] == positioning.REL_PARENT:             # <<<<<<<<<<<<<<
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 *         elif policy[1] == positioning.REL_WINDOW:
 */
  __pyx_t_1 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_PARENT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6213
 *             pos.y += self.state.cur.pos_to_default.y
 *         elif policy[1] == positioning.REL_PARENT:
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y             # <<<<<<<<<<<<<<
 *         elif policy[1] == positioning.REL_WINDOW:
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 */
    __pyx_v_pos.y = (__pyx_v_self->__pyx_base.context->_viewport->parent_pos.y + __pyx_v_self->state.cur.pos_to_parent.y);

    /* "dearcygui/core.pyx":6212
 *         if policy[1] == positioning.REL_DEFAULT:
 *             pos.y += self.state.cur.pos_to_default.y
 *         elif policy[1] == positioning.REL_PARENT:             # <<<<<<<<<<<<<<
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 *         elif policy[1] == positioning.REL_WINDOW:
 */
    goto __pyx_L11;
  }

  /* "dearcygui/core.pyx":6214
 *         elif policy[1] == positioning.REL_PARENT:
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 *         elif policy[1] == positioning.REL_WINDOW:             # <<<<<<<<<<<<<<
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 *         elif policy[1] == positioning.REL_VIEWPORT:
 */
  __pyx_t_1 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_WINDOW);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6215
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 *         elif policy[1] == positioning.REL_WINDOW:
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y             # <<<<<<<<<<<<<<
 *         elif policy[1] == positioning.REL_VIEWPORT:
 *             pos.y = self.state.cur.pos_to_viewport.y
 */
    __pyx_v_pos.y = (__pyx_v_self->__pyx_base.context->_viewport->window_pos.y + __pyx_v_self->state.cur.pos_to_window.y);

    /* "dearcygui/core.pyx":6214
 *         elif policy[1] == positioning.REL_PARENT:
 *             pos.y = self.context._viewport.parent_pos.y + self.state.cur.pos_to_parent.y
 *         elif policy[1] == positioning.REL_WINDOW:             # <<<<<<<<<<<<<<
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 *         elif policy[1] == positioning.REL_VIEWPORT:
 */
    goto __pyx_L11;
  }

  /* "dearcygui/core.pyx":6216
 *         elif policy[1] == positioning.REL_WINDOW:
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 *         elif policy[1] == positioning.REL_VIEWPORT:             # <<<<<<<<<<<<<<
 *             pos.y = self.state.cur.pos_to_viewport.y
 *         # else: DEFAULT
 */
  __pyx_t_1 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_VIEWPORT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6217
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 *         elif policy[1] == positioning.REL_VIEWPORT:
 *             pos.y = self.state.cur.pos_to_viewport.y             # <<<<<<<<<<<<<<
 *         # else: DEFAULT
 * 
 */
    __pyx_t_2 = __pyx_v_self->state.cur.pos_to_viewport.y;
    __pyx_v_pos.y = __pyx_t_2;

    /* "dearcygui/core.pyx":6216
 *         elif policy[1] == positioning.REL_WINDOW:
 *             pos.y = self.context._viewport.window_pos.y + self.state.cur.pos_to_window.y
 *         elif policy[1] == positioning.REL_VIEWPORT:             # <<<<<<<<<<<<<<
 *             pos.y = self.state.cur.pos_to_viewport.y
 *         # else: DEFAULT
 */
  }
  __pyx_L11:;

  /* "dearcygui/core.pyx":6220
 *         # else: DEFAULT
 * 
 *         imgui.SetCursorScreenPos(pos)             # <<<<<<<<<<<<<<
 * 
 *         # Retrieve current positions
 */
  ImGui::SetCursorScreenPos(__pyx_v_pos);

  /* "dearcygui/core.pyx":6223
 * 
 *         # Retrieve current positions
 *         self.state.cur.pos_to_viewport = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 */
  __pyx_v_self->state.cur.pos_to_viewport = ImGui::GetCursorScreenPos();

  /* "dearcygui/core.pyx":6224
 *         # Retrieve current positions
 *         self.state.cur.pos_to_viewport = imgui.GetCursorScreenPos()
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 */
  __pyx_v_self->state.cur.pos_to_window.x = (__pyx_v_self->state.cur.pos_to_viewport.x - __pyx_v_self->__pyx_base.context->_viewport->window_pos.x);

  /* "dearcygui/core.pyx":6225
 *         self.state.cur.pos_to_viewport = imgui.GetCursorScreenPos()
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 */
  __pyx_v_self->state.cur.pos_to_window.y = (__pyx_v_self->state.cur.pos_to_viewport.y - __pyx_v_self->__pyx_base.context->_viewport->window_pos.y);

  /* "dearcygui/core.pyx":6226
 *         self.state.cur.pos_to_window.x = self.state.cur.pos_to_viewport.x - self.context._viewport.window_pos.x
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         self.state.cur.pos_to_default.x = self.state.cur.pos_to_viewport.x - cursor_pos_backup.x
 */
  __pyx_v_self->state.cur.pos_to_parent.x = (__pyx_v_self->state.cur.pos_to_viewport.x - __pyx_v_self->__pyx_base.context->_viewport->parent_pos.x);

  /* "dearcygui/core.pyx":6227
 *         self.state.cur.pos_to_window.y = self.state.cur.pos_to_viewport.y - self.context._viewport.window_pos.y
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_default.x = self.state.cur.pos_to_viewport.x - cursor_pos_backup.x
 *         self.state.cur.pos_to_default.y = self.state.cur.pos_to_viewport.y - cursor_pos_backup.y
 */
  __pyx_v_self->state.cur.pos_to_parent.y = (__pyx_v_self->state.cur.pos_to_viewport.y - __pyx_v_self->__pyx_base.context->_viewport->parent_pos.y);

  /* "dearcygui/core.pyx":6228
 *         self.state.cur.pos_to_parent.x = self.state.cur.pos_to_viewport.x - self.context._viewport.parent_pos.x
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         self.state.cur.pos_to_default.x = self.state.cur.pos_to_viewport.x - cursor_pos_backup.x             # <<<<<<<<<<<<<<
 *         self.state.cur.pos_to_default.y = self.state.cur.pos_to_viewport.y - cursor_pos_backup.y
 * 
 */
  __pyx_v_self->state.cur.pos_to_default.x = (__pyx_v_self->state.cur.pos_to_viewport.x - __pyx_v_cursor_pos_backup.x);

  /* "dearcygui/core.pyx":6229
 *         self.state.cur.pos_to_parent.y = self.state.cur.pos_to_viewport.y - self.context._viewport.parent_pos.y
 *         self.state.cur.pos_to_default.x = self.state.cur.pos_to_viewport.x - cursor_pos_backup.x
 *         self.state.cur.pos_to_default.y = self.state.cur.pos_to_viewport.y - cursor_pos_backup.y             # <<<<<<<<<<<<<<
 * 
 *         # handle fonts
 */
  __pyx_v_self->state.cur.pos_to_default.y = (__pyx_v_self->state.cur.pos_to_viewport.y - __pyx_v_cursor_pos_backup.y);

  /* "dearcygui/core.pyx":6232
 * 
 *         # handle fonts
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6233
 *         # handle fonts
 *         if self._font is not None:
 *             self._font.push()             # <<<<<<<<<<<<<<
 * 
 *         # themes
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->push(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":6232
 * 
 *         # handle fonts
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":6236
 * 
 *         # themes
 *         self.context._viewport.push_pending_theme_actions(             # <<<<<<<<<<<<<<
 *             self.theme_condition_enabled,
 *             self.theme_condition_category
 */
  __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(__pyx_v_self->__pyx_base.context->_viewport, __pyx_v_self->theme_condition_enabled, __pyx_v_self->theme_condition_category);

  /* "dearcygui/core.pyx":6240
 *             self.theme_condition_category
 *         )
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6241
 *         )
 *         if self._theme is not None:
 *             self._theme.push()             # <<<<<<<<<<<<<<
 * 
 *         cdef bint enabled = self._enabled
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->_theme->__pyx_base.__pyx_vtab)->push(__pyx_v_self->_theme);

    /* "dearcygui/core.pyx":6240
 *             self.theme_condition_category
 *         )
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":6243
 *             self._theme.push()
 * 
 *         cdef bint enabled = self._enabled             # <<<<<<<<<<<<<<
 *         if not(enabled):
 *             imgui.PushItemFlag(1 << 10, True) #ImGuiItemFlags_Disabled
 */
  __pyx_t_1 = __pyx_v_self->_enabled;
  __pyx_v_enabled = __pyx_t_1;

  /* "dearcygui/core.pyx":6244
 * 
 *         cdef bint enabled = self._enabled
 *         if not(enabled):             # <<<<<<<<<<<<<<
 *             imgui.PushItemFlag(1 << 10, True) #ImGuiItemFlags_Disabled
 * 
 */
  __pyx_t_1 = (!__pyx_v_enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6245
 *         cdef bint enabled = self._enabled
 *         if not(enabled):
 *             imgui.PushItemFlag(1 << 10, True) #ImGuiItemFlags_Disabled             # <<<<<<<<<<<<<<
 * 
 *         cdef bint action = self.draw_item()
 */
    ImGui::PushItemFlag(0x400, 1);

    /* "dearcygui/core.pyx":6244
 * 
 *         cdef bint enabled = self._enabled
 *         if not(enabled):             # <<<<<<<<<<<<<<
 *             imgui.PushItemFlag(1 << 10, True) #ImGuiItemFlags_Disabled
 * 
 */
  }

  /* "dearcygui/core.pyx":6247
 *             imgui.PushItemFlag(1 << 10, True) #ImGuiItemFlags_Disabled
 * 
 *         cdef bint action = self.draw_item()             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if action and not(self._callbacks.empty()):
 */
  __pyx_v_action = ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->draw_item(__pyx_v_self);

  /* "dearcygui/core.pyx":6249
 *         cdef bint action = self.draw_item()
 *         cdef int i
 *         if action and not(self._callbacks.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)
 */
  if (__pyx_v_action) {
  } else {
    __pyx_t_1 = __pyx_v_action;
    goto __pyx_L16_bool_binop_done;
  }
  __pyx_t_4 = (!__pyx_v_self->_callbacks.empty());
  __pyx_t_1 = __pyx_t_4;
  __pyx_L16_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6250
 *         cdef int i
 *         if action and not(self._callbacks.empty()):
 *             for i in range(<int>self._callbacks.size()):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)
 * 
 */
    __pyx_t_5 = ((int)__pyx_v_self->_callbacks.size());
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_v_i = __pyx_t_7;

      /* "dearcygui/core.pyx":6251
 *         if action and not(self._callbacks.empty()):
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)             # <<<<<<<<<<<<<<
 * 
 *         if not(enabled):
 */
      __pyx_t_8 = (__pyx_v_self->_callbacks[__pyx_v_i]);
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.context->__pyx_vtab)->queue_callback_arg1value(__pyx_v_self->__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_8), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_self->_value);
    }

    /* "dearcygui/core.pyx":6249
 *         cdef bint action = self.draw_item()
 *         cdef int i
 *         if action and not(self._callbacks.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)
 */
  }

  /* "dearcygui/core.pyx":6253
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)
 * 
 *         if not(enabled):             # <<<<<<<<<<<<<<
 *             imgui.PopItemFlag()
 * 
 */
  __pyx_t_1 = (!__pyx_v_enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6254
 * 
 *         if not(enabled):
 *             imgui.PopItemFlag()             # <<<<<<<<<<<<<<
 * 
 *         if self._theme is not None:
 */
    ImGui::PopItemFlag();

    /* "dearcygui/core.pyx":6253
 *                 self.context.queue_callback_arg1value(<Callback>self._callbacks[i], self, self, self._value)
 * 
 *         if not(enabled):             # <<<<<<<<<<<<<<
 *             imgui.PopItemFlag()
 * 
 */
  }

  /* "dearcygui/core.pyx":6256
 *             imgui.PopItemFlag()
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6257
 * 
 *         if self._theme is not None:
 *             self._theme.pop()             # <<<<<<<<<<<<<<
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->_theme->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->_theme);

    /* "dearcygui/core.pyx":6256
 *             imgui.PopItemFlag()
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
  }

  /* "dearcygui/core.pyx":6258
 *         if self._theme is not None:
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()             # <<<<<<<<<<<<<<
 * 
 *         if self._font is not None:
 */
  __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(__pyx_v_self->__pyx_base.context->_viewport);

  /* "dearcygui/core.pyx":6260
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6261
 * 
 *         if self._font is not None:
 *             self._font.pop()             # <<<<<<<<<<<<<<
 * 
 *         # Advance the cursor only for DEFAULT and REL_DEFAULT
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":6260
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":6264
 * 
 *         # Advance the cursor only for DEFAULT and REL_DEFAULT
 *         pos = cursor_pos_backup             # <<<<<<<<<<<<<<
 *         if policy[0] == positioning.REL_DEFAULT or \
 *            policy[0] == positioning.DEFAULT:
 */
  __pyx_v_pos = __pyx_v_cursor_pos_backup;

  /* "dearcygui/core.pyx":6265
 *         # Advance the cursor only for DEFAULT and REL_DEFAULT
 *         pos = cursor_pos_backup
 *         if policy[0] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[0] == positioning.DEFAULT:
 *             pos.x = imgui.GetCursorScreenPos().x
 */
  __pyx_t_4 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_REL_DEFAULT);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L24_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6266
 *         pos = cursor_pos_backup
 *         if policy[0] == positioning.REL_DEFAULT or \
 *            policy[0] == positioning.DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.x = imgui.GetCursorScreenPos().x
 * 
 */
  __pyx_t_4 = ((__pyx_v_policy[0]) == __pyx_e_9dearcygui_4core_DEFAULT);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L24_bool_binop_done:;

  /* "dearcygui/core.pyx":6265
 *         # Advance the cursor only for DEFAULT and REL_DEFAULT
 *         pos = cursor_pos_backup
 *         if policy[0] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[0] == positioning.DEFAULT:
 *             pos.x = imgui.GetCursorScreenPos().x
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6267
 *         if policy[0] == positioning.REL_DEFAULT or \
 *            policy[0] == positioning.DEFAULT:
 *             pos.x = imgui.GetCursorScreenPos().x             # <<<<<<<<<<<<<<
 * 
 *         if policy[1] == positioning.REL_DEFAULT or \
 */
    __pyx_t_2 = ImGui::GetCursorScreenPos().x;
    __pyx_v_pos.x = __pyx_t_2;

    /* "dearcygui/core.pyx":6265
 *         # Advance the cursor only for DEFAULT and REL_DEFAULT
 *         pos = cursor_pos_backup
 *         if policy[0] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[0] == positioning.DEFAULT:
 *             pos.x = imgui.GetCursorScreenPos().x
 */
  }

  /* "dearcygui/core.pyx":6269
 *             pos.x = imgui.GetCursorScreenPos().x
 * 
 *         if policy[1] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[1] == positioning.DEFAULT:
 *             pos.y = imgui.GetCursorScreenPos().y
 */
  __pyx_t_4 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_DEFAULT);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L27_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6270
 * 
 *         if policy[1] == positioning.REL_DEFAULT or \
 *            policy[1] == positioning.DEFAULT:             # <<<<<<<<<<<<<<
 *             pos.y = imgui.GetCursorScreenPos().y
 * 
 */
  __pyx_t_4 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_DEFAULT);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L27_bool_binop_done:;

  /* "dearcygui/core.pyx":6269
 *             pos.x = imgui.GetCursorScreenPos().x
 * 
 *         if policy[1] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[1] == positioning.DEFAULT:
 *             pos.y = imgui.GetCursorScreenPos().y
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6271
 *         if policy[1] == positioning.REL_DEFAULT or \
 *            policy[1] == positioning.DEFAULT:
 *             pos.y = imgui.GetCursorScreenPos().y             # <<<<<<<<<<<<<<
 * 
 *         imgui.SetCursorScreenPos(pos)
 */
    __pyx_t_2 = ImGui::GetCursorScreenPos().y;
    __pyx_v_pos.y = __pyx_t_2;

    /* "dearcygui/core.pyx":6269
 *             pos.x = imgui.GetCursorScreenPos().x
 * 
 *         if policy[1] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *            policy[1] == positioning.DEFAULT:
 *             pos.y = imgui.GetCursorScreenPos().y
 */
  }

  /* "dearcygui/core.pyx":6273
 *             pos.y = imgui.GetCursorScreenPos().y
 * 
 *         imgui.SetCursorScreenPos(pos)             # <<<<<<<<<<<<<<
 * 
 *         if indent > 0.:
 */
  ImGui::SetCursorScreenPos(__pyx_v_pos);

  /* "dearcygui/core.pyx":6275
 *         imgui.SetCursorScreenPos(pos)
 * 
 *         if indent > 0.:             # <<<<<<<<<<<<<<
 *             imgui.Unindent(indent)
 *         elif indent < 0:
 */
  __pyx_t_1 = (__pyx_v_indent > 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6276
 * 
 *         if indent > 0.:
 *             imgui.Unindent(indent)             # <<<<<<<<<<<<<<
 *         elif indent < 0:
 *             imgui.Unindent(0)
 */
    ImGui::Unindent(__pyx_v_indent);

    /* "dearcygui/core.pyx":6275
 *         imgui.SetCursorScreenPos(pos)
 * 
 *         if indent > 0.:             # <<<<<<<<<<<<<<
 *             imgui.Unindent(indent)
 *         elif indent < 0:
 */
    goto __pyx_L29;
  }

  /* "dearcygui/core.pyx":6277
 *         if indent > 0.:
 *             imgui.Unindent(indent)
 *         elif indent < 0:             # <<<<<<<<<<<<<<
 *             imgui.Unindent(0)
 * 
 */
  __pyx_t_1 = (__pyx_v_indent < 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6278
 *             imgui.Unindent(indent)
 *         elif indent < 0:
 *             imgui.Unindent(0)             # <<<<<<<<<<<<<<
 * 
 *         # Note: not affected by the Unindent.
 */
    ImGui::Unindent(0.0);

    /* "dearcygui/core.pyx":6277
 *         if indent > 0.:
 *             imgui.Unindent(indent)
 *         elif indent < 0:             # <<<<<<<<<<<<<<
 *             imgui.Unindent(0)
 * 
 */
  }
  __pyx_L29:;

  /* "dearcygui/core.pyx":6281
 * 
 *         # Note: not affected by the Unindent.
 *         if self._no_newline and \             # <<<<<<<<<<<<<<
 *            (policy[1] == positioning.REL_DEFAULT or \
 *             policy[1] == positioning.DEFAULT):
 */
  if (__pyx_v_self->_no_newline) {
  } else {
    __pyx_t_1 = __pyx_v_self->_no_newline;
    goto __pyx_L31_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6282
 *         # Note: not affected by the Unindent.
 *         if self._no_newline and \
 *            (policy[1] == positioning.REL_DEFAULT or \             # <<<<<<<<<<<<<<
 *             policy[1] == positioning.DEFAULT):
 *             imgui.SameLine(0., -1.)
 */
  __pyx_t_4 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_REL_DEFAULT);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L31_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6283
 *         if self._no_newline and \
 *            (policy[1] == positioning.REL_DEFAULT or \
 *             policy[1] == positioning.DEFAULT):             # <<<<<<<<<<<<<<
 *             imgui.SameLine(0., -1.)
 * 
 */
  __pyx_t_4 = ((__pyx_v_policy[1]) == __pyx_e_9dearcygui_4core_DEFAULT);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L31_bool_binop_done:;

  /* "dearcygui/core.pyx":6281
 * 
 *         # Note: not affected by the Unindent.
 *         if self._no_newline and \             # <<<<<<<<<<<<<<
 *            (policy[1] == positioning.REL_DEFAULT or \
 *             policy[1] == positioning.DEFAULT):
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6284
 *            (policy[1] == positioning.REL_DEFAULT or \
 *             policy[1] == positioning.DEFAULT):
 *             imgui.SameLine(0., -1.)             # <<<<<<<<<<<<<<
 * 
 *         self.run_handlers()
 */
    ImGui::SameLine(0., -1.);

    /* "dearcygui/core.pyx":6281
 * 
 *         # Note: not affected by the Unindent.
 *         if self._no_newline and \             # <<<<<<<<<<<<<<
 *            (policy[1] == positioning.REL_DEFAULT or \
 *             policy[1] == positioning.DEFAULT):
 */
  }

  /* "dearcygui/core.pyx":6286
 *             imgui.SameLine(0., -1.)
 * 
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6163
 *         self._no_newline = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":6289
 * 
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Function to override for the core rendering of the item.
 */

static int __pyx_f_9dearcygui_4core_6uiItem_draw_item(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":6308
 *         The return value indicates if the main callback should be triggered.
 *         """
 *         return False             # <<<<<<<<<<<<<<
 * 
 * """
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6289
 * 
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Function to override for the core rendering of the item.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6uiItem_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_9__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_8__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6uiItem_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_11__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6uiItem_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6uiItem_10__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6uiItem_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_uiItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.uiItem.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6315
 * 
 * cdef class SimplePlot(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_simpleplot
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot___cinit__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot___cinit__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":6316
 * cdef class SimplePlot(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_simpleplot             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_simpleplot;

  /* "dearcygui/core.pyx":6317
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_simpleplot
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6317, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloatVect(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloatVect), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6317, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":6318
 *         self.theme_condition_category = theme_categories.t_simpleplot
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":6319
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":6320
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":6321
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._scale_min = 0.
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":6322
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._scale_min = 0.
 *         self._scale_max = 0.
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":6323
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._scale_min = 0.             # <<<<<<<<<<<<<<
 *         self._scale_max = 0.
 *         self.histogram = False
 */
  __pyx_v_self->_scale_min = 0.;

  /* "dearcygui/core.pyx":6324
 *         self.state.cap.can_be_hovered = True
 *         self._scale_min = 0.
 *         self._scale_max = 0.             # <<<<<<<<<<<<<<
 *         self.histogram = False
 *         self._autoscale = True
 */
  __pyx_v_self->_scale_max = 0.;

  /* "dearcygui/core.pyx":6325
 *         self._scale_min = 0.
 *         self._scale_max = 0.
 *         self.histogram = False             # <<<<<<<<<<<<<<
 *         self._autoscale = True
 *         self.last_frame_autoscale_update = -1
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_histogram, Py_False) < 0) __PYX_ERR(1, 6325, __pyx_L1_error)

  /* "dearcygui/core.pyx":6326
 *         self._scale_max = 0.
 *         self.histogram = False
 *         self._autoscale = True             # <<<<<<<<<<<<<<
 *         self.last_frame_autoscale_update = -1
 * 
 */
  __pyx_v_self->_autoscale = 1;

  /* "dearcygui/core.pyx":6327
 *         self.histogram = False
 *         self._autoscale = True
 *         self.last_frame_autoscale_update = -1             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, **kwargs):
 */
  __pyx_v_self->last_frame_autoscale_update = -1;

  /* "dearcygui/core.pyx":6315
 * 
 * cdef class SimplePlot(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_simpleplot
 *         self._value = <SharedValue>(SharedFloatVect.__new__(SharedFloatVect, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6329
 *         self.last_frame_autoscale_update = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SimplePlot_3configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10SimplePlot_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_2configure(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_2configure(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  float __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":6331
 *     def configure(self, **kwargs):
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)             # <<<<<<<<<<<<<<
 *         self._scale_max = kwargs.pop("scaleMax", self._scale_max)
 *         self._autoscale = kwargs.pop("autosize", self._autoscale)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_scale_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_n_u_scaleMin, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_6 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_6 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_scale_min = __pyx_t_6;

  /* "dearcygui/core.pyx":6332
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 *         self._scale_max = kwargs.pop("scaleMax", self._scale_max)             # <<<<<<<<<<<<<<
 *         self._autoscale = kwargs.pop("autosize", self._autoscale)
 *         return super().configure(**kwargs)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_scale_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_n_u_scaleMax, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_6 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_6 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_scale_max = __pyx_t_6;

  /* "dearcygui/core.pyx":6333
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 *         self._scale_max = kwargs.pop("scaleMax", self._scale_max)
 *         self._autoscale = kwargs.pop("autosize", self._autoscale)             # <<<<<<<<<<<<<<
 *         return super().configure(**kwargs)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->_autoscale); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_n_u_autosize, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_autoscale = __pyx_t_7;

  /* "dearcygui/core.pyx":6334
 *         self._scale_max = kwargs.pop("scaleMax", self._scale_max)
 *         self._autoscale = kwargs.pop("autosize", self._autoscale)
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_SimplePlot);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_SimplePlot);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_SimplePlot))) __PYX_ERR(1, 6334, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 6334, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_configure); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6329
 *         self.last_frame_autoscale_update = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6336
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale_min(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min___get__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6342
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._scale_min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6343
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._scale_min             # <<<<<<<<<<<<<<
 * 
 *     @scale_min.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_scale_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6336
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale_min(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.scale_min.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6345
 *         return self._scale_min
 * 
 *     @scale_min.setter             # <<<<<<<<<<<<<<
 *     def scale_min(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6346, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.scale_min.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min_2__set__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_min_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6348
 *     def scale_min(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._scale_min = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6349
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._scale_min = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_scale_min = __pyx_v_value;

  /* "dearcygui/core.pyx":6345
 *         return self._scale_min
 * 
 *     @scale_min.setter             # <<<<<<<<<<<<<<
 *     def scale_min(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6351
 *         self._scale_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale_max(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max___get__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6357
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._scale_max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6358
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._scale_max             # <<<<<<<<<<<<<<
 * 
 *     @scale_max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_scale_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6351
 *         self._scale_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale_max(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.scale_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6360
 *         return self._scale_max
 * 
 *     @scale_max.setter             # <<<<<<<<<<<<<<
 *     def scale_max(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 6361, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.scale_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max_2__set__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot_9scale_max_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6363
 *     def scale_max(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._scale_max = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6364
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._scale_max = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_scale_max = __pyx_v_value;

  /* "dearcygui/core.pyx":6360
 *         return self._scale_max
 * 
 *     @scale_max.setter             # <<<<<<<<<<<<<<
 *     def scale_max(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6366
 *         self._scale_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def histogram(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9histogram___get__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9histogram___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6372
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._histogram
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6373
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._histogram             # <<<<<<<<<<<<<<
 * 
 *     @histogram.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_histogram); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6366
 *         self._scale_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def histogram(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.histogram.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6375
 *         return self._histogram
 * 
 *     @histogram.setter             # <<<<<<<<<<<<<<
 *     def histogram(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6376, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.histogram.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9histogram_2__set__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot_9histogram_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6378
 *     def histogram(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._histogram = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6379
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._histogram = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_histogram = __pyx_v_value;

  /* "dearcygui/core.pyx":6375
 *         return self._histogram
 * 
 *     @histogram.setter             # <<<<<<<<<<<<<<
 *     def histogram(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6381
 *         self._histogram = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autoscale(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale___get__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6388
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._autoscale
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6389
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._autoscale             # <<<<<<<<<<<<<<
 * 
 *     @autoscale.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_autoscale); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6381
 *         self._histogram = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autoscale(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.autoscale.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6391
 *         return self._autoscale
 * 
 *     @autoscale.setter             # <<<<<<<<<<<<<<
 *     def autoscale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6392, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.autoscale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale_2__set__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot_9autoscale_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6394
 *     def autoscale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._autoscale = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6395
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._autoscale = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_autoscale = __pyx_v_value;

  /* "dearcygui/core.pyx":6391
 *         return self._autoscale
 * 
 *     @autoscale.setter             # <<<<<<<<<<<<<<
 *     def autoscale(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6397
 *         self._autoscale = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def overlay(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_7overlay___get__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_7overlay___get__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6403
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._overlay
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6404
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._overlay             # <<<<<<<<<<<<<<
 * 
 *     @overlay.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_overlay); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6397
 *         self._autoscale = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def overlay(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.overlay.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6406
 *         return self._overlay
 * 
 *     @overlay.setter             # <<<<<<<<<<<<<<
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 6407, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_7overlay_2__set__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10SimplePlot_7overlay_2__set__(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6409
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._overlay = bytes(str(value), 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6410
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._overlay = bytes(str(value), 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 6410, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 6410, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_overlay = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":6406
 *         return self._overlay
 * 
 *     @overlay.setter             # <<<<<<<<<<<<<<
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.overlay.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6412
 *         self._overlay = bytes(str(value), 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float[:] data = SharedFloatVect.get(<SharedFloatVect>self._value)
 *         cdef int i
 */

static int __pyx_f_9dearcygui_4core_10SimplePlot_draw_item(struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  __Pyx_memviewslice __pyx_v_data = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_memviewslice __pyx_t_1 = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":6413
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef float[:] data = SharedFloatVect.get(<SharedFloatVect>self._value)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if self._autoscale and data.shape[0] > 0:
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_15SharedFloatVect_get(((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)__pyx_v_self->__pyx_base._value)); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(1, 6413, __pyx_L1_error)
  __pyx_v_data = __pyx_t_1;
  __pyx_t_1.memview = NULL;
  __pyx_t_1.data = NULL;

  /* "dearcygui/core.pyx":6415
 *         cdef float[:] data = SharedFloatVect.get(<SharedFloatVect>self._value)
 *         cdef int i
 *         if self._autoscale and data.shape[0] > 0:             # <<<<<<<<<<<<<<
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 */
  if (__pyx_v_self->_autoscale) {
  } else {
    __pyx_t_2 = __pyx_v_self->_autoscale;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = ((__pyx_v_data.shape[0]) > 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":6416
 *         cdef int i
 *         if self._autoscale and data.shape[0] > 0:
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:             # <<<<<<<<<<<<<<
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 *                 self._scale_min = data[0]
 */
    __pyx_t_2 = (__pyx_v_self->__pyx_base._value->_last_frame_change != __pyx_v_self->last_frame_autoscale_update);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":6417
 *         if self._autoscale and data.shape[0] > 0:
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:
 *                 self.last_frame_autoscale_update = self._value._last_frame_change             # <<<<<<<<<<<<<<
 *                 self._scale_min = data[0]
 *                 self._scale_max = data[0]
 */
      __pyx_t_4 = __pyx_v_self->__pyx_base._value->_last_frame_change;
      __pyx_v_self->last_frame_autoscale_update = __pyx_t_4;

      /* "dearcygui/core.pyx":6418
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 *                 self._scale_min = data[0]             # <<<<<<<<<<<<<<
 *                 self._scale_max = data[0]
 *                 for i in range(1, data.shape[0]):
 */
      __pyx_t_5 = 0;
      __pyx_v_self->_scale_min = (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )));

      /* "dearcygui/core.pyx":6419
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 *                 self._scale_min = data[0]
 *                 self._scale_max = data[0]             # <<<<<<<<<<<<<<
 *                 for i in range(1, data.shape[0]):
 *                     if self._scale_min > data[i]:
 */
      __pyx_t_5 = 0;
      __pyx_v_self->_scale_max = (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )));

      /* "dearcygui/core.pyx":6420
 *                 self._scale_min = data[0]
 *                 self._scale_max = data[0]
 *                 for i in range(1, data.shape[0]):             # <<<<<<<<<<<<<<
 *                     if self._scale_min > data[i]:
 *                         self._scale_min = data[i]
 */
      __pyx_t_6 = (__pyx_v_data.shape[0]);
      __pyx_t_7 = __pyx_t_6;
      for (__pyx_t_4 = 1; __pyx_t_4 < __pyx_t_7; __pyx_t_4+=1) {
        __pyx_v_i = __pyx_t_4;

        /* "dearcygui/core.pyx":6421
 *                 self._scale_max = data[0]
 *                 for i in range(1, data.shape[0]):
 *                     if self._scale_min > data[i]:             # <<<<<<<<<<<<<<
 *                         self._scale_min = data[i]
 *                     if self._scale_max < data[i]:
 */
        __pyx_t_5 = __pyx_v_i;
        __pyx_t_2 = (__pyx_v_self->_scale_min > (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) ))));
        if (__pyx_t_2) {

          /* "dearcygui/core.pyx":6422
 *                 for i in range(1, data.shape[0]):
 *                     if self._scale_min > data[i]:
 *                         self._scale_min = data[i]             # <<<<<<<<<<<<<<
 *                     if self._scale_max < data[i]:
 *                         self._scale_max = data[i]
 */
          __pyx_t_5 = __pyx_v_i;
          __pyx_v_self->_scale_min = (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )));

          /* "dearcygui/core.pyx":6421
 *                 self._scale_max = data[0]
 *                 for i in range(1, data.shape[0]):
 *                     if self._scale_min > data[i]:             # <<<<<<<<<<<<<<
 *                         self._scale_min = data[i]
 *                     if self._scale_max < data[i]:
 */
        }

        /* "dearcygui/core.pyx":6423
 *                     if self._scale_min > data[i]:
 *                         self._scale_min = data[i]
 *                     if self._scale_max < data[i]:             # <<<<<<<<<<<<<<
 *                         self._scale_max = data[i]
 * 
 */
        __pyx_t_5 = __pyx_v_i;
        __pyx_t_2 = (__pyx_v_self->_scale_max < (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) ))));
        if (__pyx_t_2) {

          /* "dearcygui/core.pyx":6424
 *                         self._scale_min = data[i]
 *                     if self._scale_max < data[i]:
 *                         self._scale_max = data[i]             # <<<<<<<<<<<<<<
 * 
 *         if self._histogram:
 */
          __pyx_t_5 = __pyx_v_i;
          __pyx_v_self->_scale_max = (*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )));

          /* "dearcygui/core.pyx":6423
 *                     if self._scale_min > data[i]:
 *                         self._scale_min = data[i]
 *                     if self._scale_max < data[i]:             # <<<<<<<<<<<<<<
 *                         self._scale_max = data[i]
 * 
 */
        }
      }

      /* "dearcygui/core.pyx":6416
 *         cdef int i
 *         if self._autoscale and data.shape[0] > 0:
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:             # <<<<<<<<<<<<<<
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 *                 self._scale_min = data[0]
 */
    }

    /* "dearcygui/core.pyx":6415
 *         cdef float[:] data = SharedFloatVect.get(<SharedFloatVect>self._value)
 *         cdef int i
 *         if self._autoscale and data.shape[0] > 0:             # <<<<<<<<<<<<<<
 *             if self._value._last_frame_change != self.last_frame_autoscale_update:
 *                 self.last_frame_autoscale_update = self._value._last_frame_change
 */
  }

  /* "dearcygui/core.pyx":6426
 *                         self._scale_max = data[i]
 * 
 *         if self._histogram:             # <<<<<<<<<<<<<<
 *             imgui.PlotHistogram(self.imgui_label.c_str(),
 *                                 &data[0],
 */
  if (__pyx_v_self->_histogram) {

    /* "dearcygui/core.pyx":6428
 *         if self._histogram:
 *             imgui.PlotHistogram(self.imgui_label.c_str(),
 *                                 &data[0],             # <<<<<<<<<<<<<<
 *                                 <int>data.shape[0],
 *                                 0,
 */
    __pyx_t_5 = 0;

    /* "dearcygui/core.pyx":6427
 * 
 *         if self._histogram:
 *             imgui.PlotHistogram(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                 &data[0],
 *                                 <int>data.shape[0],
 */
    ImGui::PlotHistogram(__pyx_v_self->__pyx_base.imgui_label.c_str(), (&(*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )))), ((int)(__pyx_v_data.shape[0])), 0, __pyx_v_self->_overlay.c_str(), __pyx_v_self->_scale_min, __pyx_v_self->_scale_max, __pyx_v_self->__pyx_base.requested_size, (sizeof(float)));

    /* "dearcygui/core.pyx":6426
 *                         self._scale_max = data[i]
 * 
 *         if self._histogram:             # <<<<<<<<<<<<<<
 *             imgui.PlotHistogram(self.imgui_label.c_str(),
 *                                 &data[0],
 */
    goto __pyx_L11;
  }

  /* "dearcygui/core.pyx":6437
 *                                 sizeof(float))
 *         else:
 *             imgui.PlotLines(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                             &data[0],
 *                             <int>data.shape[0],
 */
  /*else*/ {

    /* "dearcygui/core.pyx":6438
 *         else:
 *             imgui.PlotLines(self.imgui_label.c_str(),
 *                             &data[0],             # <<<<<<<<<<<<<<
 *                             <int>data.shape[0],
 *                             0,
 */
    __pyx_t_5 = 0;

    /* "dearcygui/core.pyx":6437
 *                                 sizeof(float))
 *         else:
 *             imgui.PlotLines(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                             &data[0],
 *                             <int>data.shape[0],
 */
    ImGui::PlotLines(__pyx_v_self->__pyx_base.imgui_label.c_str(), (&(*((float *) ( /* dim=0 */ (__pyx_v_data.data + __pyx_t_5 * __pyx_v_data.strides[0]) )))), ((int)(__pyx_v_data.shape[0])), 0, __pyx_v_self->_overlay.c_str(), __pyx_v_self->_scale_min, __pyx_v_self->_scale_max, __pyx_v_self->__pyx_base.requested_size, (sizeof(float)));
  }
  __pyx_L11:;

  /* "dearcygui/core.pyx":6446
 *                             self.requested_size,
 *                             sizeof(float))
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_SimplePlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6447
 *                             sizeof(float))
 *         self.update_current_state()
 *         return False             # <<<<<<<<<<<<<<
 * 
 * cdef class Button(uiItem):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6412
 *         self._overlay = bytes(str(value), 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float[:] data = SharedFloatVect.get(<SharedFloatVect>self._value)
 *         cdef int i
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
  __Pyx_WriteUnraisable("dearcygui.core.SimplePlot.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_data, 0);
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SimplePlot_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SimplePlot_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10SimplePlot_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SimplePlot_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10SimplePlot_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10SimplePlot_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_SimplePlot *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10SimplePlot_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_SimplePlot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.SimplePlot.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6450
 * 
 * cdef class Button(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_button
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Button_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Button_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button___cinit__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Button___cinit__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":6451
 * cdef class Button(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_button             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_button;

  /* "dearcygui/core.pyx":6452
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_button
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6452, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6452, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":6453
 *         self.theme_condition_category = theme_categories.t_button
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":6454
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":6455
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":6456
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._direction = imgui.ImGuiDir_Up
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":6457
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._direction = imgui.ImGuiDir_Up
 *         self._small = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":6458
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._direction = imgui.ImGuiDir_Up             # <<<<<<<<<<<<<<
 *         self._small = False
 *         self._arrow = False
 */
  __pyx_v_self->_direction = ImGuiDir_Up;

  /* "dearcygui/core.pyx":6459
 *         self.state.cap.can_be_hovered = True
 *         self._direction = imgui.ImGuiDir_Up
 *         self._small = False             # <<<<<<<<<<<<<<
 *         self._arrow = False
 *         self._repeat = False
 */
  __pyx_v_self->_small = 0;

  /* "dearcygui/core.pyx":6460
 *         self._direction = imgui.ImGuiDir_Up
 *         self._small = False
 *         self._arrow = False             # <<<<<<<<<<<<<<
 *         self._repeat = False
 * 
 */
  __pyx_v_self->_arrow = 0;

  /* "dearcygui/core.pyx":6461
 *         self._small = False
 *         self._arrow = False
 *         self._repeat = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_repeat = 0;

  /* "dearcygui/core.pyx":6450
 * 
 * cdef class Button(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_button
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Button.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6463
 *         self._repeat = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def direction(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_9direction_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Button_9direction_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_9direction___get__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_9direction___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6469
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <int>self._direction
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6470
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <int>self._direction             # <<<<<<<<<<<<<<
 * 
 *     @direction.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->_direction)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6463
 *         self._repeat = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def direction(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Button.direction.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6472
 *         return <int>self._direction
 * 
 *     @direction.setter             # <<<<<<<<<<<<<<
 *     def direction(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Button_9direction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Button_9direction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6473, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.direction.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_9direction_2__set__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Button_9direction_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6475
 *     def direction(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:
 *             raise ValueError("Invalid direction {value}")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6476
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid direction {value}")
 *         self._direction = <imgui.ImGuiDir>value
 */
  __pyx_t_2 = (__pyx_v_value < ImGuiDir_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_value >= ImGuiDir_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":6477
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:
 *             raise ValueError("Invalid direction {value}")             # <<<<<<<<<<<<<<
 *         self._direction = <imgui.ImGuiDir>value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6477, __pyx_L1_error)

    /* "dearcygui/core.pyx":6476
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid direction {value}")
 *         self._direction = <imgui.ImGuiDir>value
 */
  }

  /* "dearcygui/core.pyx":6478
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:
 *             raise ValueError("Invalid direction {value}")
 *         self._direction = <imgui.ImGuiDir>value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_direction = ((enum ImGuiDir)__pyx_v_value);

  /* "dearcygui/core.pyx":6472
 *         return <int>self._direction
 * 
 *     @direction.setter             # <<<<<<<<<<<<<<
 *     def direction(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Button.direction.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6480
 *         self._direction = <imgui.ImGuiDir>value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def small(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5small_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5small_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_5small___get__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_5small___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6486
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._small
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6487
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._small             # <<<<<<<<<<<<<<
 * 
 *     @small.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_small); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6480
 *         self._direction = <imgui.ImGuiDir>value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def small(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Button.small.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6489
 *         return self._small
 * 
 *     @small.setter             # <<<<<<<<<<<<<<
 *     def small(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Button_5small_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Button_5small_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6490, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.small.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_5small_2__set__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Button_5small_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6492
 *     def small(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._small = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6493
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._small = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_small = __pyx_v_value;

  /* "dearcygui/core.pyx":6489
 *         return self._small
 * 
 *     @small.setter             # <<<<<<<<<<<<<<
 *     def small(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6495
 *         self._small = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def arrow(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5arrow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5arrow_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_5arrow___get__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_5arrow___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6502
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._arrow
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6503
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._arrow             # <<<<<<<<<<<<<<
 * 
 *     @arrow.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_arrow); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6495
 *         self._small = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def arrow(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Button.arrow.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6505
 *         return self._arrow
 * 
 *     @arrow.setter             # <<<<<<<<<<<<<<
 *     def arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Button_5arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Button_5arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6506, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.arrow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_5arrow_2__set__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Button_5arrow_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6508
 *     def arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._arrow = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6509
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._arrow = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_arrow = __pyx_v_value;

  /* "dearcygui/core.pyx":6505
 *         return self._arrow
 * 
 *     @arrow.setter             # <<<<<<<<<<<<<<
 *     def arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6511
 *         self._arrow = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def repeat(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_6repeat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Button_6repeat_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_6repeat___get__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_6repeat___get__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6518
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._repeat
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6519
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._repeat             # <<<<<<<<<<<<<<
 * 
 *     @repeat.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_repeat); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6511
 *         self._arrow = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def repeat(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Button.repeat.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6521
 *         return self._repeat
 * 
 *     @repeat.setter             # <<<<<<<<<<<<<<
 *     def repeat(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Button_6repeat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Button_6repeat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6522, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.repeat.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_6repeat_2__set__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Button_6repeat_2__set__(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6524
 *     def repeat(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._repeat = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6525
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._repeat = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->_repeat = __pyx_v_value;

  /* "dearcygui/core.pyx":6521
 *         return self._repeat
 * 
 *     @repeat.setter             # <<<<<<<<<<<<<<
 *     def repeat(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6527
 *         self._repeat = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)
 */

static int __pyx_f_9dearcygui_4core_6Button_draw_item(struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  int __pyx_v_activated;
  int __pyx_r;

  /* "dearcygui/core.pyx":6529
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint activated
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)             # <<<<<<<<<<<<<<
 *         if self._small:
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 */
  ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, __pyx_v_self->_repeat);

  /* "dearcygui/core.pyx":6530
 *         cdef bint activated
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)
 *         if self._small:             # <<<<<<<<<<<<<<
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 *         elif self._arrow:
 */
  if (__pyx_v_self->_small) {

    /* "dearcygui/core.pyx":6531
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)
 *         if self._small:
 *             activated = imgui.SmallButton(self.imgui_label.c_str())             # <<<<<<<<<<<<<<
 *         elif self._arrow:
 *             activated = imgui.ArrowButton(self.imgui_label.c_str(), self._direction)
 */
    __pyx_v_activated = ImGui::SmallButton(__pyx_v_self->__pyx_base.imgui_label.c_str());

    /* "dearcygui/core.pyx":6530
 *         cdef bint activated
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)
 *         if self._small:             # <<<<<<<<<<<<<<
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 *         elif self._arrow:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6532
 *         if self._small:
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 *         elif self._arrow:             # <<<<<<<<<<<<<<
 *             activated = imgui.ArrowButton(self.imgui_label.c_str(), self._direction)
 *         else:
 */
  if (__pyx_v_self->_arrow) {

    /* "dearcygui/core.pyx":6533
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 *         elif self._arrow:
 *             activated = imgui.ArrowButton(self.imgui_label.c_str(), self._direction)             # <<<<<<<<<<<<<<
 *         else:
 *             activated = imgui.Button(self.imgui_label.c_str(),
 */
    __pyx_v_activated = ImGui::ArrowButton(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->_direction);

    /* "dearcygui/core.pyx":6532
 *         if self._small:
 *             activated = imgui.SmallButton(self.imgui_label.c_str())
 *         elif self._arrow:             # <<<<<<<<<<<<<<
 *             activated = imgui.ArrowButton(self.imgui_label.c_str(), self._direction)
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6535
 *             activated = imgui.ArrowButton(self.imgui_label.c_str(), self._direction)
 *         else:
 *             activated = imgui.Button(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                      self.requested_size)
 *         imgui.PopItemFlag()
 */
  /*else*/ {

    /* "dearcygui/core.pyx":6536
 *         else:
 *             activated = imgui.Button(self.imgui_label.c_str(),
 *                                      self.requested_size)             # <<<<<<<<<<<<<<
 *         imgui.PopItemFlag()
 *         self.update_current_state()
 */
    __pyx_v_activated = ImGui::Button(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->__pyx_base.requested_size);
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6537
 *             activated = imgui.Button(self.imgui_label.c_str(),
 *                                      self.requested_size)
 *         imgui.PopItemFlag()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original
 */
  ImGui::PopItemFlag();

  /* "dearcygui/core.pyx":6538
 *                                      self.requested_size)
 *         imgui.PopItemFlag()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original
 *         return activated
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Button *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6539
 *         imgui.PopItemFlag()
 *         self.update_current_state()
 *         SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_self->__pyx_base.state.cur.active);

  /* "dearcygui/core.pyx":6540
 *         self.update_current_state()
 *         SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6527
 *         self._repeat = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         imgui.PushItemFlag(imgui.ImGuiItemFlags_ButtonRepeat, self._repeat)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Button_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Button_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Button_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Button_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Button_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Button_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Button_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Button *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Button_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Button *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Button.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6544
 * 
 * cdef class Combo(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_combo
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo___cinit__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo___cinit__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":6545
 * cdef class Combo(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_combo             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_combo;

  /* "dearcygui/core.pyx":6546
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_combo
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6546, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedStr(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedStr), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6546, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":6547
 *         self.theme_condition_category = theme_categories.t_combo
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":6548
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":6549
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":6550
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":6551
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":6552
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":6553
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_toggled = True
 *         self.flags = imgui.ImGuiComboFlags_HeightRegular
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":6554
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiComboFlags_HeightRegular
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_toggled = 1;

  /* "dearcygui/core.pyx":6555
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 *         self.flags = imgui.ImGuiComboFlags_HeightRegular             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiComboFlags_HeightRegular;

  /* "dearcygui/core.pyx":6544
 * 
 * cdef class Combo(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_combo
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Combo.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6557
 *         self.flags = imgui.ImGuiComboFlags_HeightRegular
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_5items_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_5items_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_5items___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_5items___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_7genexpr__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<std::string> ::iterator __pyx_t_2;
  std::string __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6563
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6564
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [str(v, encoding='utf-8') for v in self._items]             # <<<<<<<<<<<<<<
 * 
 *     @items.setter
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6564, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_items.begin();
    for (;;) {
      if (!(__pyx_t_2 != __pyx_v_self->_items.end())) break;
      __pyx_t_3 = *__pyx_t_2;
      ++__pyx_t_2;
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6564, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6564, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_7genexpr__pyx_v_v);
      __Pyx_GIVEREF(__pyx_7genexpr__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_7genexpr__pyx_v_v)) __PYX_ERR(1, 6564, __pyx_L5_error);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6564, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 6564, __pyx_L5_error)
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6564, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6564, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_v); __pyx_7genexpr__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_v); __pyx_7genexpr__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6557
 *         self.flags = imgui.ImGuiComboFlags_HeightRegular
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.Combo.items.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6566
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_5items_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_5items_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_value_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  Py_UCS4 __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6570
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._items.clear()
 *         if value is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6571
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()             # <<<<<<<<<<<<<<
 *         if value is None:
 *             return
 */
  __pyx_v_self->_items.clear();

  /* "dearcygui/core.pyx":6572
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6573
 *         self._items.clear()
 *         if value is None:
 *             return             # <<<<<<<<<<<<<<
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6572
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  }

  /* "dearcygui/core.pyx":6574
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject *)(&PyUnicode_Type)));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6575
 *             return
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))             # <<<<<<<<<<<<<<
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 */
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value)) __PYX_ERR(1, 6575, __pyx_L1_error);
    __Pyx_INCREF(__pyx_kp_u_utf_8);
    __Pyx_GIVEREF(__pyx_kp_u_utf_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 6575, __pyx_L1_error);
    __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6575, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    try {
      __pyx_v_self->_items.push_back(__pyx_t_4);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 6575, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":6574
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":6576
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 6576, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":6577
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
      __pyx_t_3 = __pyx_v_value; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6577, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6577, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 6577, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6577, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6577, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 6577, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6577, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        }
      } else {
        __pyx_t_2 = __pyx_t_6(__pyx_t_3);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 6577, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":6578
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 */
      __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_v);
      __Pyx_GIVEREF(__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v)) __PYX_ERR(1, 6578, __pyx_L1_error);
      __Pyx_INCREF(__pyx_kp_u_utf_8);
      __Pyx_GIVEREF(__pyx_kp_u_utf_8);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 6578, __pyx_L1_error);
      __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6578, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      try {
        __pyx_v_self->_items.push_back(__pyx_t_4);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 6578, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":6577
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":6576
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":6580
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 */
  /*else*/ {
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 0;
    __pyx_t_8 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_type);
    __pyx_t_5 += 13;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_type);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Invalid_type);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_8;
    __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_5 += 43;
    __Pyx_GIVEREF(__pyx_kp_u_passed_as_items_Expected_array);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6580, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":6581
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)             # <<<<<<<<<<<<<<
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_value_m, __pyx_v_self->__pyx_base._value->mutex);

  /* "dearcygui/core.pyx":6582
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base._value), __pyx_n_s_num_attached); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 6582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6583
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \             # <<<<<<<<<<<<<<
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 */
  __pyx_t_9 = (__pyx_v_self->__pyx_base._value->_last_frame_update == -1L);
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":6584
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:             # <<<<<<<<<<<<<<
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 */
  __pyx_t_9 = (__pyx_v_self->_items.size() > 0);
  __pyx_t_1 = __pyx_t_9;
  __pyx_L9_bool_binop_done:;

  /* "dearcygui/core.pyx":6582
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6586
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base._value);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_t_3), (__pyx_v_self->_items[0]));
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":6582
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  }

  /* "dearcygui/core.pyx":6566
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.Combo.items.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6588
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height_mode(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_11height_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_11height_mode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_11height_mode___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_11height_mode___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6599
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:
 *             return "small"
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6600
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:             # <<<<<<<<<<<<<<
 *             return "small"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 */
  __pyx_t_1 = ((__pyx_v_self->flags & ImGuiComboFlags_HeightSmall) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6601
 *         lock_gil_friendly(m, self.mutex)
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:
 *             return "small"             # <<<<<<<<<<<<<<
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 *             return "largest"
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_small);
    __pyx_r = __pyx_n_u_small;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6600
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:             # <<<<<<<<<<<<<<
 *             return "small"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 */
  }

  /* "dearcygui/core.pyx":6602
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:
 *             return "small"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:             # <<<<<<<<<<<<<<
 *             return "largest"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:
 */
  __pyx_t_1 = ((__pyx_v_self->flags & ImGuiComboFlags_HeightLargest) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6603
 *             return "small"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 *             return "largest"             # <<<<<<<<<<<<<<
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:
 *             return "large"
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_largest);
    __pyx_r = __pyx_n_u_largest;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6602
 *         if (self.flags & imgui.ImGuiComboFlags_HeightSmall) != 0:
 *             return "small"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:             # <<<<<<<<<<<<<<
 *             return "largest"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:
 */
  }

  /* "dearcygui/core.pyx":6604
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 *             return "largest"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:             # <<<<<<<<<<<<<<
 *             return "large"
 *         return "regular"
 */
  __pyx_t_1 = ((__pyx_v_self->flags & ImGuiComboFlags_HeightLarge) != 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6605
 *             return "largest"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:
 *             return "large"             # <<<<<<<<<<<<<<
 *         return "regular"
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_large);
    __pyx_r = __pyx_n_u_large;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6604
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLargest) != 0:
 *             return "largest"
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:             # <<<<<<<<<<<<<<
 *             return "large"
 *         return "regular"
 */
  }

  /* "dearcygui/core.pyx":6606
 *         elif (self.flags & imgui.ImGuiComboFlags_HeightLarge) != 0:
 *             return "large"
 *         return "regular"             # <<<<<<<<<<<<<<
 * 
 *     @height_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_n_u_regular);
  __pyx_r = __pyx_n_u_regular;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6588
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def height_mode(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6608
 *         return "regular"
 * 
 *     @height_mode.setter             # <<<<<<<<<<<<<<
 *     def height_mode(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_11height_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_11height_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 6609, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_11height_mode_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_11height_mode_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6611
 *     def height_mode(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~(imgui.ImGuiComboFlags_HeightSmall |
 *                         imgui.ImGuiComboFlags_HeightRegular |
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6612
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~(imgui.ImGuiComboFlags_HeightSmall |             # <<<<<<<<<<<<<<
 *                         imgui.ImGuiComboFlags_HeightRegular |
 *                         imgui.ImGuiComboFlags_HeightLarge |
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~(((ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular) | ImGuiComboFlags_HeightLarge) | ImGuiComboFlags_HeightLargest)));

  /* "dearcygui/core.pyx":6616
 *                         imgui.ImGuiComboFlags_HeightLarge |
 *                         imgui.ImGuiComboFlags_HeightLargest)
 *         if value == "small":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall
 *         elif value == "regular":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_small, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6616, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6617
 *                         imgui.ImGuiComboFlags_HeightLargest)
 *         if value == "small":
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall             # <<<<<<<<<<<<<<
 *         elif value == "regular":
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_HeightSmall);

    /* "dearcygui/core.pyx":6616
 *                         imgui.ImGuiComboFlags_HeightLarge |
 *                         imgui.ImGuiComboFlags_HeightLargest)
 *         if value == "small":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall
 *         elif value == "regular":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6618
 *         if value == "small":
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall
 *         elif value == "regular":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *         elif value == "large":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_regular, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6618, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6619
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall
 *         elif value == "regular":
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular             # <<<<<<<<<<<<<<
 *         elif value == "large":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_HeightRegular);

    /* "dearcygui/core.pyx":6618
 *         if value == "small":
 *             self.flags |= imgui.ImGuiComboFlags_HeightSmall
 *         elif value == "regular":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *         elif value == "large":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6620
 *         elif value == "regular":
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *         elif value == "large":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 *         elif value == "largest":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_large, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6620, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6621
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *         elif value == "large":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge             # <<<<<<<<<<<<<<
 *         elif value == "largest":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLargest
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_HeightLarge);

    /* "dearcygui/core.pyx":6620
 *         elif value == "regular":
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *         elif value == "large":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 *         elif value == "largest":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6622
 *         elif value == "large":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 *         elif value == "largest":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightLargest
 *         else:
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_largest, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6622, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":6623
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 *         elif value == "largest":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLargest             # <<<<<<<<<<<<<<
 *         else:
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_HeightLargest);

    /* "dearcygui/core.pyx":6622
 *         elif value == "large":
 *             self.flags |= imgui.ImGuiComboFlags_HeightLarge
 *         elif value == "largest":             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_HeightLargest
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6625
 *             self.flags |= imgui.ImGuiComboFlags_HeightLargest
 *         else:
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid height mode {value}")
 * 
 */
  /*else*/ {
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_HeightRegular);

    /* "dearcygui/core.pyx":6626
 *         else:
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *             raise ValueError("Invalid height mode {value}")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 6626, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6608
 *         return "regular"
 * 
 *     @height_mode.setter             # <<<<<<<<<<<<<<
 *     def height_mode(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Combo.height_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6628
 *             raise ValueError("Invalid height mode {value}")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def popup_align_left(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_16popup_align_left___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_16popup_align_left___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6634
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiComboFlags_PopupAlignLeft) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6635
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiComboFlags_PopupAlignLeft) != 0             # <<<<<<<<<<<<<<
 * 
 *     @popup_align_left.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiComboFlags_PopupAlignLeft) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6628
 *             raise ValueError("Invalid height mode {value}")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def popup_align_left(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Combo.popup_align_left.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6637
 *         return (self.flags & imgui.ImGuiComboFlags_PopupAlignLeft) != 0
 * 
 *     @popup_align_left.setter             # <<<<<<<<<<<<<<
 *     def popup_align_left(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6638, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.popup_align_left.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_16popup_align_left_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_16popup_align_left_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6640
 *     def popup_align_left(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiComboFlags_PopupAlignLeft
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6641
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_PopupAlignLeft             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiComboFlags_PopupAlignLeft));

  /* "dearcygui/core.pyx":6642
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_PopupAlignLeft
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6643
 *         self.flags &= ~imgui.ImGuiComboFlags_PopupAlignLeft
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_PopupAlignLeft);

    /* "dearcygui/core.pyx":6642
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_PopupAlignLeft
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft
 * 
 */
  }

  /* "dearcygui/core.pyx":6637
 *         return (self.flags & imgui.ImGuiComboFlags_PopupAlignLeft) != 0
 * 
 *     @popup_align_left.setter             # <<<<<<<<<<<<<<
 *     def popup_align_left(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6645
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_arrow_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6651
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiComboFlags_NoArrowButton) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6652
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiComboFlags_NoArrowButton) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_arrow_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiComboFlags_NoArrowButton) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6645
 *             self.flags |= imgui.ImGuiComboFlags_PopupAlignLeft
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_arrow_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Combo.no_arrow_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6654
 *         return (self.flags & imgui.ImGuiComboFlags_NoArrowButton) != 0
 * 
 *     @no_arrow_button.setter             # <<<<<<<<<<<<<<
 *     def no_arrow_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6655, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.no_arrow_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_15no_arrow_button_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6657
 *     def no_arrow_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiComboFlags_NoArrowButton
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6658
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoArrowButton             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiComboFlags_NoArrowButton));

  /* "dearcygui/core.pyx":6659
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoArrowButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6660
 *         self.flags &= ~imgui.ImGuiComboFlags_NoArrowButton
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_NoArrowButton);

    /* "dearcygui/core.pyx":6659
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoArrowButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton
 * 
 */
  }

  /* "dearcygui/core.pyx":6654
 *         return (self.flags & imgui.ImGuiComboFlags_NoArrowButton) != 0
 * 
 *     @no_arrow_button.setter             # <<<<<<<<<<<<<<
 *     def no_arrow_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6662
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_preview(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_10no_preview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_10no_preview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_10no_preview___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_10no_preview___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6668
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiComboFlags_NoPreview) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6669
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiComboFlags_NoPreview) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_preview.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiComboFlags_NoPreview) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6662
 *             self.flags |= imgui.ImGuiComboFlags_NoArrowButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_preview(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Combo.no_preview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6671
 *         return (self.flags & imgui.ImGuiComboFlags_NoPreview) != 0
 * 
 *     @no_preview.setter             # <<<<<<<<<<<<<<
 *     def no_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_10no_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_10no_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6672, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.no_preview.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_10no_preview_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_10no_preview_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6674
 *     def no_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiComboFlags_NoPreview
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6675
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoPreview             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiComboFlags_NoPreview));

  /* "dearcygui/core.pyx":6676
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6677
 *         self.flags &= ~imgui.ImGuiComboFlags_NoPreview
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_NoPreview);

    /* "dearcygui/core.pyx":6676
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_NoPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview
 * 
 */
  }

  /* "dearcygui/core.pyx":6671
 *         return (self.flags & imgui.ImGuiComboFlags_NoPreview) != 0
 * 
 *     @no_preview.setter             # <<<<<<<<<<<<<<
 *     def no_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6679
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fit_width(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_9fit_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_9fit_width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_9fit_width___get__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_9fit_width___get__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6685
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiComboFlags_WidthFitPreview) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6686
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiComboFlags_WidthFitPreview) != 0             # <<<<<<<<<<<<<<
 * 
 *     @fit_width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiComboFlags_WidthFitPreview) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6679
 *             self.flags |= imgui.ImGuiComboFlags_NoPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fit_width(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Combo.fit_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6688
 *         return (self.flags & imgui.ImGuiComboFlags_WidthFitPreview) != 0
 * 
 *     @fit_width.setter             # <<<<<<<<<<<<<<
 *     def fit_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Combo_9fit_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Combo_9fit_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6689, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.fit_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_9fit_width_2__set__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Combo_9fit_width_2__set__(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6691
 *     def fit_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiComboFlags_WidthFitPreview
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6692
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_WidthFitPreview             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiComboFlags_WidthFitPreview));

  /* "dearcygui/core.pyx":6693
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_WidthFitPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6694
 *         self.flags &= ~imgui.ImGuiComboFlags_WidthFitPreview
 *         if value:
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiComboFlags_WidthFitPreview);

    /* "dearcygui/core.pyx":6693
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiComboFlags_WidthFitPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview
 * 
 */
  }

  /* "dearcygui/core.pyx":6688
 *         return (self.flags & imgui.ImGuiComboFlags_WidthFitPreview) != 0
 * 
 *     @fit_width.setter             # <<<<<<<<<<<<<<
 *     def fit_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6696
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint open
 *         cdef int i
 */

static int __pyx_f_9dearcygui_4core_5Combo_draw_item(struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  int __pyx_v_open;
  int __pyx_v_i;
  std::string __pyx_v_current_value;
  bool __pyx_v_pressed;
  int __pyx_v_changed;
  bool __pyx_v_selected;
  bool __pyx_v_selected_backup;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":6700
 *         cdef int i
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 *         open = imgui.BeginCombo(self.imgui_label.c_str(),
 *                                 current_value.c_str(),
 */
  __pyx_f_9dearcygui_4core_9SharedStr_get(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":6701
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)
 *         open = imgui.BeginCombo(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                 current_value.c_str(),
 *                                 self.flags)
 */
  __pyx_v_open = ImGui::BeginCombo(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_current_value.c_str(), __pyx_v_self->flags);

  /* "dearcygui/core.pyx":6708
 *         # for the combo, and one for the popup that opens. The edited flag
 *         # is not set, looking at imgui demo so we have to handle it manually.
 *         self.state.cur.open = open             # <<<<<<<<<<<<<<
 *         self.update_current_state_subset()
 * 
 */
  __pyx_v_self->__pyx_base.state.cur.open = __pyx_v_open;

  /* "dearcygui/core.pyx":6709
 *         # is not set, looking at imgui demo so we have to handle it manually.
 *         self.state.cur.open = open
 *         self.update_current_state_subset()             # <<<<<<<<<<<<<<
 * 
 *         cdef bool pressed = False
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Combo *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state_subset(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6711
 *         self.update_current_state_subset()
 * 
 *         cdef bool pressed = False             # <<<<<<<<<<<<<<
 *         cdef bint changed = False
 *         cdef bool selected
 */
  __pyx_v_pressed = 0;

  /* "dearcygui/core.pyx":6712
 * 
 *         cdef bool pressed = False
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         cdef bool selected
 *         cdef bool selected_backup
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":6718
 * 
 *         # TODO: there are nice ImGuiSelectableFlags to add in the future
 *         if open:             # <<<<<<<<<<<<<<
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 */
  if (__pyx_v_open) {

    /* "dearcygui/core.pyx":6719
 *         # TODO: there are nice ImGuiSelectableFlags to add in the future
 *         if open:
 *             imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):
 */
    ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

    /* "dearcygui/core.pyx":6720
 *         if open:
 *             imgui.PushID(self.uuid)
 *             if self._enabled:             # <<<<<<<<<<<<<<
 *                 for i in range(<int>self._items.size()):
 *                     selected = self._items[i] == current_value
 */
    if (__pyx_v_self->__pyx_base._enabled) {

      /* "dearcygui/core.pyx":6721
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):             # <<<<<<<<<<<<<<
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected
 */
      __pyx_t_1 = ((int)__pyx_v_self->_items.size());
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

        /* "dearcygui/core.pyx":6722
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):
 *                     selected = self._items[i] == current_value             # <<<<<<<<<<<<<<
 *                     selected_backup = selected
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),
 */
        __pyx_v_selected = ((__pyx_v_self->_items[__pyx_v_i]) == __pyx_v_current_value);

        /* "dearcygui/core.pyx":6723
 *                 for i in range(<int>self._items.size()):
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected             # <<<<<<<<<<<<<<
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),
 *                                                 &selected,
 */
        __pyx_v_selected_backup = __pyx_v_selected;

        /* "dearcygui/core.pyx":6724
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),             # <<<<<<<<<<<<<<
 *                                                 &selected,
 *                                                 imgui.ImGuiSelectableFlags_None,
 */
        __pyx_v_pressed = (__pyx_v_pressed | ImGui::Selectable((__pyx_v_self->_items[__pyx_v_i]).c_str(), (&__pyx_v_selected), ImGuiSelectableFlags_None, __pyx_v_self->__pyx_base.requested_size));

        /* "dearcygui/core.pyx":6728
 *                                                 imgui.ImGuiSelectableFlags_None,
 *                                                 self.requested_size)
 *                     if selected:             # <<<<<<<<<<<<<<
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 */
        __pyx_t_4 = (__pyx_v_selected != 0);
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":6729
 *                                                 self.requested_size)
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()             # <<<<<<<<<<<<<<
 *                     if selected and selected != selected_backup:
 *                         changed = True
 */
          ImGui::SetItemDefaultFocus();

          /* "dearcygui/core.pyx":6728
 *                                                 imgui.ImGuiSelectableFlags_None,
 *                                                 self.requested_size)
 *                     if selected:             # <<<<<<<<<<<<<<
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 */
        }

        /* "dearcygui/core.pyx":6730
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 */
        __pyx_t_5 = (__pyx_v_selected != 0);
        if (__pyx_t_5) {
        } else {
          __pyx_t_4 = __pyx_t_5;
          goto __pyx_L9_bool_binop_done;
        }
        __pyx_t_5 = (__pyx_v_selected != __pyx_v_selected_backup);
        __pyx_t_4 = __pyx_t_5;
        __pyx_L9_bool_binop_done:;
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":6731
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 *                         changed = True             # <<<<<<<<<<<<<<
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 *             else:
 */
          __pyx_v_changed = 1;

          /* "dearcygui/core.pyx":6732
 *                     if selected and selected != selected_backup:
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])             # <<<<<<<<<<<<<<
 *             else:
 *                 # TODO: test
 */
          __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), (__pyx_v_self->_items[__pyx_v_i]));

          /* "dearcygui/core.pyx":6730
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 */
        }
      }

      /* "dearcygui/core.pyx":6720
 *         if open:
 *             imgui.PushID(self.uuid)
 *             if self._enabled:             # <<<<<<<<<<<<<<
 *                 for i in range(<int>self._items.size()):
 *                     selected = self._items[i] == current_value
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":6735
 *             else:
 *                 # TODO: test
 *                 selected = True             # <<<<<<<<<<<<<<
 *                 imgui.Selectable(current_value.c_str(),
 *                                  &selected,
 */
    /*else*/ {
      __pyx_v_selected = 1;

      /* "dearcygui/core.pyx":6736
 *                 # TODO: test
 *                 selected = True
 *                 imgui.Selectable(current_value.c_str(),             # <<<<<<<<<<<<<<
 *                                  &selected,
 *                                  imgui.ImGuiSelectableFlags_Disabled,
 */
      (void)(ImGui::Selectable(__pyx_v_current_value.c_str(), (&__pyx_v_selected), ImGuiSelectableFlags_Disabled, __pyx_v_self->__pyx_base.requested_size));
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":6740
 *                                  imgui.ImGuiSelectableFlags_Disabled,
 *                                  self.requested_size)
 *             imgui.PopID()             # <<<<<<<<<<<<<<
 *             imgui.EndCombo()
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 */
    ImGui::PopID();

    /* "dearcygui/core.pyx":6741
 *                                  self.requested_size)
 *             imgui.PopID()
 *             imgui.EndCombo()             # <<<<<<<<<<<<<<
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 *         self.state.cur.edited = changed
 */
    ImGui::EndCombo();

    /* "dearcygui/core.pyx":6718
 * 
 *         # TODO: there are nice ImGuiSelectableFlags to add in the future
 *         if open:             # <<<<<<<<<<<<<<
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 */
  }

  /* "dearcygui/core.pyx":6743
 *             imgui.EndCombo()
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 *         self.state.cur.edited = changed             # <<<<<<<<<<<<<<
 *         self.state.cur.deactivated_after_edited = self.state.prev.active and changed and not(self.state.cur.active)
 *         return pressed
 */
  __pyx_v_self->__pyx_base.state.cur.edited = __pyx_v_changed;

  /* "dearcygui/core.pyx":6744
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 *         self.state.cur.edited = changed
 *         self.state.cur.deactivated_after_edited = self.state.prev.active and changed and not(self.state.cur.active)             # <<<<<<<<<<<<<<
 *         return pressed
 * 
 */
  if (__pyx_v_self->__pyx_base.state.prev.active) {
  } else {
    __pyx_t_4 = __pyx_v_self->__pyx_base.state.prev.active;
    goto __pyx_L11_bool_binop_done;
  }
  if (__pyx_v_changed) {
  } else {
    __pyx_t_4 = __pyx_v_changed;
    goto __pyx_L11_bool_binop_done;
  }
  __pyx_t_5 = (!__pyx_v_self->__pyx_base.state.cur.active);
  __pyx_t_4 = __pyx_t_5;
  __pyx_L11_bool_binop_done:;
  __pyx_v_self->__pyx_base.state.cur.deactivated_after_edited = __pyx_t_4;

  /* "dearcygui/core.pyx":6745
 *         self.state.cur.edited = changed
 *         self.state.cur.deactivated_after_edited = self.state.prev.active and changed and not(self.state.cur.active)
 *         return pressed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_pressed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6696
 *             self.flags |= imgui.ImGuiComboFlags_WidthFitPreview
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint open
 *         cdef int i
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_5Combo_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Combo_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_5Combo_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Combo_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_5Combo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Combo_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Combo *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Combo_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Combo *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Combo.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6749
 * 
 * cdef class Checkbox(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_checkbox
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8Checkbox_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8Checkbox_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_8Checkbox___cinit__(((struct __pyx_obj_9dearcygui_4core_Checkbox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8Checkbox___cinit__(struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":6750
 * cdef class Checkbox(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_checkbox             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_checkbox;

  /* "dearcygui/core.pyx":6751
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_checkbox
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6751, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6751, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":6752
 *         self.theme_condition_category = theme_categories.t_checkbox
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":6753
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":6754
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":6755
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":6749
 * 
 * cdef class Checkbox(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_checkbox
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Checkbox.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6757
 *         self.state.cap.can_be_hovered = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),
 */

static int __pyx_f_9dearcygui_4core_8Checkbox_draw_item(struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self) {
  bool __pyx_v_checked;
  int __pyx_v_pressed;
  int __pyx_r;

  /* "dearcygui/core.pyx":6758
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)             # <<<<<<<<<<<<<<
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),
 *                                              &checked)
 */
  __pyx_v_checked = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":6759
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                              &checked)
 *         if self._enabled:
 */
  __pyx_v_pressed = ImGui::Checkbox(__pyx_v_self->__pyx_base.imgui_label.c_str(), (&__pyx_v_checked));

  /* "dearcygui/core.pyx":6761
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),
 *                                              &checked)
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 */
  if (__pyx_v_self->__pyx_base._enabled) {

    /* "dearcygui/core.pyx":6762
 *                                              &checked)
 *         if self._enabled:
 *             SharedBool.set(<SharedBool>self._value, checked)             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return pressed
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_checked);

    /* "dearcygui/core.pyx":6761
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),
 *                                              &checked)
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 */
  }

  /* "dearcygui/core.pyx":6763
 *         if self._enabled:
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return pressed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Checkbox *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":6764
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 *         return pressed             # <<<<<<<<<<<<<<
 * 
 * cdef class Slider(uiItem):
 */
  __pyx_r = __pyx_v_pressed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6757
 *         self.state.cap.can_be_hovered = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)
 *         cdef bint pressed = imgui.Checkbox(self.imgui_label.c_str(),
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Checkbox_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Checkbox_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Checkbox_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Checkbox_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Checkbox_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Checkbox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Checkbox_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Checkbox.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8Checkbox_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8Checkbox_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Checkbox_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8Checkbox_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8Checkbox_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Checkbox *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8Checkbox_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Checkbox *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Checkbox.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6767
 * 
 * cdef class Slider(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_slider
 *         self._format = 1
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider___cinit__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider___cinit__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  std::string __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":6768
 * cdef class Slider(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_slider             # <<<<<<<<<<<<<<
 *         self._format = 1
 *         self._size = 1
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_slider;

  /* "dearcygui/core.pyx":6769
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_slider
 *         self._format = 1             # <<<<<<<<<<<<<<
 *         self._size = 1
 *         self._drag = False
 */
  __pyx_v_self->_format = 1;

  /* "dearcygui/core.pyx":6770
 *         self.theme_condition_category = theme_categories.t_slider
 *         self._format = 1
 *         self._size = 1             # <<<<<<<<<<<<<<
 *         self._drag = False
 *         self._drag_speed = 1.
 */
  __pyx_v_self->_size = 1;

  /* "dearcygui/core.pyx":6771
 *         self._format = 1
 *         self._size = 1
 *         self._drag = False             # <<<<<<<<<<<<<<
 *         self._drag_speed = 1.
 *         self._print_format = b"%.3f"
 */
  __pyx_v_self->_drag = 0;

  /* "dearcygui/core.pyx":6772
 *         self._size = 1
 *         self._drag = False
 *         self._drag_speed = 1.             # <<<<<<<<<<<<<<
 *         self._print_format = b"%.3f"
 *         self.flags = 0
 */
  __pyx_v_self->_drag_speed = 1.;

  /* "dearcygui/core.pyx":6773
 *         self._drag = False
 *         self._drag_speed = 1.
 *         self._print_format = b"%.3f"             # <<<<<<<<<<<<<<
 *         self.flags = 0
 *         self._min = 0.
 */
  __pyx_t_1 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_3f); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6773, __pyx_L1_error)
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_1);

  /* "dearcygui/core.pyx":6774
 *         self._drag_speed = 1.
 *         self._print_format = b"%.3f"
 *         self.flags = 0             # <<<<<<<<<<<<<<
 *         self._min = 0.
 *         self._max = 100.
 */
  __pyx_v_self->flags = 0;

  /* "dearcygui/core.pyx":6775
 *         self._print_format = b"%.3f"
 *         self.flags = 0
 *         self._min = 0.             # <<<<<<<<<<<<<<
 *         self._max = 100.
 *         self._vertical = False
 */
  __pyx_v_self->_min = 0.;

  /* "dearcygui/core.pyx":6776
 *         self.flags = 0
 *         self._min = 0.
 *         self._max = 100.             # <<<<<<<<<<<<<<
 *         self._vertical = False
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
  __pyx_v_self->_max = 100.;

  /* "dearcygui/core.pyx":6777
 *         self._min = 0.
 *         self._max = 100.
 *         self._vertical = False             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure
 */
  __pyx_v_self->_vertical = 0;

  /* "dearcygui/core.pyx":6778
 *         self._max = 100.
 *         self._vertical = False
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6778, __pyx_L1_error);
  __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6778, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_t_3);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":6779
 *         self._vertical = False
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":6780
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":6781
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":6782
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":6783
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":6784
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, **kwargs):
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":6767
 * 
 * cdef class Slider(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_slider
 *         self._format = 1
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Slider.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6786
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Slider_3configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_6Slider_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_2configure(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_2configure(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":6789
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 *         if "format" in kwargs:             # <<<<<<<<<<<<<<
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_format, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6789, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6790
 *         # must enable them in a specific order
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")             # <<<<<<<<<<<<<<
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_format};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_format, __pyx_t_2) < 0) __PYX_ERR(1, 6790, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":6789
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 *         if "format" in kwargs:             # <<<<<<<<<<<<<<
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 */
  }

  /* "dearcygui/core.pyx":6791
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:             # <<<<<<<<<<<<<<
 *             self.size = kwargs.pop("size")
 *         if "logarithmic" in kwargs:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_size, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6791, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6792
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")             # <<<<<<<<<<<<<<
 *         if "logarithmic" in kwargs:
 *             self.logarithmic = kwargs.pop("logarithmic")
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6792, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_size};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size, __pyx_t_2) < 0) __PYX_ERR(1, 6792, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":6791
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:             # <<<<<<<<<<<<<<
 *             self.size = kwargs.pop("size")
 *         if "logarithmic" in kwargs:
 */
  }

  /* "dearcygui/core.pyx":6793
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")
 *         if "logarithmic" in kwargs:             # <<<<<<<<<<<<<<
 *             self.logarithmic = kwargs.pop("logarithmic")
 *         # baseItem configure will configure the rest.
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_logarithmic, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6793, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6794
 *             self.size = kwargs.pop("size")
 *         if "logarithmic" in kwargs:
 *             self.logarithmic = kwargs.pop("logarithmic")             # <<<<<<<<<<<<<<
 *         # baseItem configure will configure the rest.
 *         return super().configure(**kwargs)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_logarithmic};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_logarithmic, __pyx_t_2) < 0) __PYX_ERR(1, 6794, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":6793
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")
 *         if "logarithmic" in kwargs:             # <<<<<<<<<<<<<<
 *             self.logarithmic = kwargs.pop("logarithmic")
 *         # baseItem configure will configure the rest.
 */
  }

  /* "dearcygui/core.pyx":6796
 *             self.logarithmic = kwargs.pop("logarithmic")
 *         # baseItem configure will configure the rest.
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_Slider);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_Slider);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_Slider))) __PYX_ERR(1, 6796, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 6796, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_configure); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6786
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Slider.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6798
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_6format___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_6format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6807
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._format == 1:
 *             return "float"
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6808
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:             # <<<<<<<<<<<<<<
 *             return "float"
 *         elif self._format == 0:
 */
  switch (__pyx_v_self->_format) {
    case 1:

    /* "dearcygui/core.pyx":6809
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:
 *             return "float"             # <<<<<<<<<<<<<<
 *         elif self._format == 0:
 *             return "int"
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_float);
    __pyx_r = __pyx_n_u_float;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6808
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:             # <<<<<<<<<<<<<<
 *             return "float"
 *         elif self._format == 0:
 */
    break;
    case 0:

    /* "dearcygui/core.pyx":6811
 *             return "float"
 *         elif self._format == 0:
 *             return "int"             # <<<<<<<<<<<<<<
 *         return "double"
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_int);
    __pyx_r = __pyx_n_u_int;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6810
 *         if self._format == 1:
 *             return "float"
 *         elif self._format == 0:             # <<<<<<<<<<<<<<
 *             return "int"
 *         return "double"
 */
    break;
    default: break;
  }

  /* "dearcygui/core.pyx":6812
 *         elif self._format == 0:
 *             return "int"
 *         return "double"             # <<<<<<<<<<<<<<
 * 
 *     @format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_n_u_double);
  __pyx_r = __pyx_n_u_double;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6798
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6814
 *         return "double"
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 6815, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_6format_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_6format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_target_format;
  PyObject *__pyx_v_previous_value = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  std::string __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6817
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int target_format
 *         if value == "int":
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6819
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int target_format
 *         if value == "int":             # <<<<<<<<<<<<<<
 *             target_format = 0
 *         elif value == "float":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_int, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6819, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6820
 *         cdef int target_format
 *         if value == "int":
 *             target_format = 0             # <<<<<<<<<<<<<<
 *         elif value == "float":
 *             target_format = 1
 */
    __pyx_v_target_format = 0;

    /* "dearcygui/core.pyx":6819
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int target_format
 *         if value == "int":             # <<<<<<<<<<<<<<
 *             target_format = 0
 *         elif value == "float":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6821
 *         if value == "int":
 *             target_format = 0
 *         elif value == "float":             # <<<<<<<<<<<<<<
 *             target_format = 1
 *         elif value == "double":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_float, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6821, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6822
 *             target_format = 0
 *         elif value == "float":
 *             target_format = 1             # <<<<<<<<<<<<<<
 *         elif value == "double":
 *             target_format = 2
 */
    __pyx_v_target_format = 1;

    /* "dearcygui/core.pyx":6821
 *         if value == "int":
 *             target_format = 0
 *         elif value == "float":             # <<<<<<<<<<<<<<
 *             target_format = 1
 *         elif value == "double":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6823
 *         elif value == "float":
 *             target_format = 1
 *         elif value == "double":             # <<<<<<<<<<<<<<
 *             target_format = 2
 *         else:
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_double, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 6823, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":6824
 *             target_format = 1
 *         elif value == "double":
 *             target_format = 2             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 */
    __pyx_v_target_format = 2;

    /* "dearcygui/core.pyx":6823
 *         elif value == "float":
 *             target_format = 1
 *         elif value == "double":             # <<<<<<<<<<<<<<
 *             target_format = 2
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":6826
 *             target_format = 2
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")             # <<<<<<<<<<<<<<
 *         if target_format == self._format:
 *             return
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_int_float_or_double_Got, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 6826, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":6827
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:             # <<<<<<<<<<<<<<
 *             return
 *         self._format = target_format
 */
  __pyx_t_1 = (__pyx_v_target_format == __pyx_v_self->_format);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6828
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:
 *             return             # <<<<<<<<<<<<<<
 *         self._format = target_format
 *         # Allocate a new value of the right type
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6827
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:             # <<<<<<<<<<<<<<
 *             return
 *         self._format = target_format
 */
  }

  /* "dearcygui/core.pyx":6829
 *         if target_format == self._format:
 *             return
 *         self._format = target_format             # <<<<<<<<<<<<<<
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 */
  __pyx_v_self->_format = __pyx_v_target_format;

  /* "dearcygui/core.pyx":6831
 *         self._format = target_format
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us             # <<<<<<<<<<<<<<
 *         if self._size == 1:
 *             if target_format == 0:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_previous_value = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":6832
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
  __pyx_t_1 = (__pyx_v_self->_size == 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6833
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":6834
 *         if self._size == 1:
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))             # <<<<<<<<<<<<<<
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6834, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6834, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":6833
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":6835
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":6836
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6836, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6836, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6836, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":6835
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":6838
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))             # <<<<<<<<<<<<<<
 *         else:
 *             if target_format == 0:
 */
    /*else*/ {
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6838, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6838, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;
    }
    __pyx_L6:;

    /* "dearcygui/core.pyx":6832
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":6840
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *         else:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 */
  /*else*/ {
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":6841
 *         else:
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))             # <<<<<<<<<<<<<<
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6841, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6841, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6841, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":6840
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *         else:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 */
      goto __pyx_L7;
    }

    /* "dearcygui/core.pyx":6842
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":6843
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6843, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6843, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":6842
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
      goto __pyx_L7;
    }

    /* "dearcygui/core.pyx":6845
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))             # <<<<<<<<<<<<<<
 *         self.value = previous_value # Use property to pass through python for the conversion
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 */
    /*else*/ {
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6845, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6845, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6845, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;
    }
    __pyx_L7:;
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":6846
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *         self.value = previous_value # Use property to pass through python for the conversion             # <<<<<<<<<<<<<<
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_v_previous_value) < 0) __PYX_ERR(1, 6846, __pyx_L1_error)

  /* "dearcygui/core.pyx":6847
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *         self.value = previous_value # Use property to pass through python for the conversion
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = (__pyx_v_target_format == 0);
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6847, __pyx_L1_error)
    __pyx_t_4 = __pyx_t_5;
  } else {
    __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_3f); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6847, __pyx_L1_error)
    __pyx_t_4 = __pyx_t_5;
  }
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

  /* "dearcygui/core.pyx":6814
 *         return "double"
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Slider.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_previous_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6849
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_4size___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4size___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6860
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._size
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6861
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._size             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6849
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6864
 * 
 * 
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_target_size); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_target_size) {
  int __pyx_v_target_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_target_size); {
    __pyx_v_target_size = __Pyx_PyInt_As_int(__pyx_arg_target_size); if (unlikely((__pyx_v_target_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6865, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_4size_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_target_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_4size_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_target_size) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_previous_value = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":6867
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6868
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 */
  __pyx_t_2 = (__pyx_v_target_size < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_target_size > 4);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":6869
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")             # <<<<<<<<<<<<<<
 *         if self._size == target_size:
 *             return
 */
    __pyx_t_3 = __Pyx_PyUnicode_From_int(__pyx_v_target_size, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6869, __pyx_L1_error)

    /* "dearcygui/core.pyx":6868
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 */
  }

  /* "dearcygui/core.pyx":6870
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:             # <<<<<<<<<<<<<<
 *             return
 *         if (self._size > 1 and target_size > 1):
 */
  __pyx_t_1 = (__pyx_v_self->_size == __pyx_v_target_size);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6871
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 *             return             # <<<<<<<<<<<<<<
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6870
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:             # <<<<<<<<<<<<<<
 *             return
 *         if (self._size > 1 and target_size > 1):
 */
  }

  /* "dearcygui/core.pyx":6872
 *         if self._size == target_size:
 *             return
 *         if (self._size > 1 and target_size > 1):             # <<<<<<<<<<<<<<
 *             self._size = target_size
 *             return
 */
  __pyx_t_2 = (__pyx_v_self->_size > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_target_size > 1);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6873
 *             return
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size             # <<<<<<<<<<<<<<
 *             return
 *         # Reallocate the internal vector
 */
    __pyx_v_self->_size = __pyx_v_target_size;

    /* "dearcygui/core.pyx":6874
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size
 *             return             # <<<<<<<<<<<<<<
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":6872
 *         if self._size == target_size:
 *             return
 *         if (self._size > 1 and target_size > 1):             # <<<<<<<<<<<<<<
 *             self._size = target_size
 *             return
 */
  }

  /* "dearcygui/core.pyx":6876
 *             return
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us             # <<<<<<<<<<<<<<
 *         if target_size == 1:
 *             if self._format == 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_previous_value = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":6877
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
  __pyx_t_1 = (__pyx_v_target_size == 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":6878
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":6879
 *         if target_size == 1:
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6879, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6879, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6879, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":6878
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":6881
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6881, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6881, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6881, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":6880
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
      break;
      default:

      /* "dearcygui/core.pyx":6883
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))             # <<<<<<<<<<<<<<
 *             self.value = previous_value[0]
 *         else:
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6883, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6883, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6883, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;
      break;
    }

    /* "dearcygui/core.pyx":6884
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *             self.value = previous_value[0]             # <<<<<<<<<<<<<<
 *         else:
 *             if self._format == 0:
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_previous_value, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_t_3) < 0) __PYX_ERR(1, 6884, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":6877
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":6886
 *             self.value = previous_value[0]
 *         else:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 */
  /*else*/ {

    /* "dearcygui/core.pyx":6888
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":6887
 *         else:
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6887, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6887, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":6886
 *             self.value = previous_value[0]
 *         else:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":6889
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6889, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6889, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6889, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":6888
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
      break;
      default:

      /* "dearcygui/core.pyx":6891
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))             # <<<<<<<<<<<<<<
 *             self.value = (previous_value, 0, 0, 0)
 *         self._size = target_size
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6891, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 6891, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6891, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;
      break;
    }

    /* "dearcygui/core.pyx":6892
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *             self.value = (previous_value, 0, 0, 0)             # <<<<<<<<<<<<<<
 *         self._size = target_size
 * 
 */
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_previous_value);
    __Pyx_GIVEREF(__pyx_v_previous_value);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_previous_value)) __PYX_ERR(1, 6892, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0)) __PYX_ERR(1, 6892, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_0)) __PYX_ERR(1, 6892, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_int_0)) __PYX_ERR(1, 6892, __pyx_L1_error);
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_t_3) < 0) __PYX_ERR(1, 6892, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L10:;

  /* "dearcygui/core.pyx":6893
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *             self.value = (previous_value, 0, 0, 0)
 *         self._size = target_size             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_size = __pyx_v_target_size;

  /* "dearcygui/core.pyx":6864
 * 
 * 
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Slider.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_previous_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6895
 *         self._size = target_size
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clamped(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_7clamped_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_7clamped_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_7clamped___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_7clamped___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6901
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSliderFlags_AlwaysClamp) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6902
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSliderFlags_AlwaysClamp) != 0             # <<<<<<<<<<<<<<
 * 
 *     @clamped.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSliderFlags_AlwaysClamp) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6895
 *         self._size = target_size
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clamped(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.clamped.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6904
 *         return (self.flags & imgui.ImGuiSliderFlags_AlwaysClamp) != 0
 * 
 *     @clamped.setter             # <<<<<<<<<<<<<<
 *     def clamped(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_7clamped_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_7clamped_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6905, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.clamped.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_7clamped_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_7clamped_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6907
 *     def clamped(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSliderFlags_AlwaysClamp
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6908
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_AlwaysClamp             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSliderFlags_AlwaysClamp));

  /* "dearcygui/core.pyx":6909
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_AlwaysClamp
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6910
 *         self.flags &= ~imgui.ImGuiSliderFlags_AlwaysClamp
 *         if value:
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSliderFlags_AlwaysClamp);

    /* "dearcygui/core.pyx":6909
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_AlwaysClamp
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp
 * 
 */
  }

  /* "dearcygui/core.pyx":6904
 *         return (self.flags & imgui.ImGuiSliderFlags_AlwaysClamp) != 0
 * 
 *     @clamped.setter             # <<<<<<<<<<<<<<
 *     def clamped(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6912
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def drag(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_4drag_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_4drag_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_4drag___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4drag___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6920
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._drag
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6921
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._drag             # <<<<<<<<<<<<<<
 * 
 *     @drag.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_drag); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6912
 *             self.flags |= imgui.ImGuiSliderFlags_AlwaysClamp
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def drag(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.drag.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6923
 *         return self._drag
 * 
 *     @drag.setter             # <<<<<<<<<<<<<<
 *     def drag(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_4drag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_4drag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6924, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.drag.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_4drag_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_4drag_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6926
 *     def drag(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._drag = value
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6927
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._drag = value             # <<<<<<<<<<<<<<
 *         if value:
 *             self._vertical = False
 */
  __pyx_v_self->_drag = __pyx_v_value;

  /* "dearcygui/core.pyx":6928
 *         lock_gil_friendly(m, self.mutex)
 *         self._drag = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._vertical = False
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6929
 *         self._drag = value
 *         if value:
 *             self._vertical = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->_vertical = 0;

    /* "dearcygui/core.pyx":6928
 *         lock_gil_friendly(m, self.mutex)
 *         self._drag = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._vertical = False
 * 
 */
  }

  /* "dearcygui/core.pyx":6923
 *         return self._drag
 * 
 *     @drag.setter             # <<<<<<<<<<<<<<
 *     def drag(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6931
 *             self._vertical = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def logarithmic(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_11logarithmic_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_11logarithmic_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_11logarithmic___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_11logarithmic___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6938
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6939
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0             # <<<<<<<<<<<<<<
 * 
 *     @logarithmic.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSliderFlags_Logarithmic) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6931
 *             self._vertical = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def logarithmic(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.logarithmic.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6941
 *         return (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0
 * 
 *     @logarithmic.setter             # <<<<<<<<<<<<<<
 *     def logarithmic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_11logarithmic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_11logarithmic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6942, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.logarithmic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_11logarithmic_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_11logarithmic_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6944
 *     def logarithmic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~(imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6945
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~(imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~(ImGuiSliderFlags_Logarithmic | ImGuiSliderFlags_NoRoundToFormat)));

  /* "dearcygui/core.pyx":6946
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~(imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6947
 *         self.flags &= ~(imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 *         if value:
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | (ImGuiSliderFlags_Logarithmic | ImGuiSliderFlags_NoRoundToFormat));

    /* "dearcygui/core.pyx":6946
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~(imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 * 
 */
  }

  /* "dearcygui/core.pyx":6941
 *         return (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0
 * 
 *     @logarithmic.setter             # <<<<<<<<<<<<<<
 *     def logarithmic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6949
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_9min_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_9min_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_9min_value___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_9min_value___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6956
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6957
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._min             # <<<<<<<<<<<<<<
 * 
 *     @min_value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6949
 *             self.flags |= (imgui.ImGuiSliderFlags_Logarithmic | imgui.ImGuiSliderFlags_NoRoundToFormat)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_value(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.min_value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6959
 *         return self._min
 * 
 *     @min_value.setter             # <<<<<<<<<<<<<<
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_9min_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_9min_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 6960, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.min_value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_9min_value_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_9min_value_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6962
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._min = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6963
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._min = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_min = __pyx_v_value;

  /* "dearcygui/core.pyx":6959
 *         return self._min
 * 
 *     @min_value.setter             # <<<<<<<<<<<<<<
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6965
 *         self._min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_9max_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_9max_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_9max_value___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_9max_value___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6972
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6973
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._max             # <<<<<<<<<<<<<<
 * 
 *     @max_value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6965
 *         self._min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_value(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.max_value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6975
 *         return self._max
 * 
 *     @max_value.setter             # <<<<<<<<<<<<<<
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_9max_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_9max_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 6976, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.max_value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_9max_value_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_9max_value_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6978
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._max = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6979
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._max = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_max = __pyx_v_value;

  /* "dearcygui/core.pyx":6975
 *         return self._max
 * 
 *     @max_value.setter             # <<<<<<<<<<<<<<
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6981
 *         self._max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_input(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_8no_input_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_8no_input_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_8no_input___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_8no_input___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":6988
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSliderFlags_NoInput) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6989
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSliderFlags_NoInput) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_input.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSliderFlags_NoInput) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6981
 *         self._max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_input(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.no_input.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":6991
 *         return (self.flags & imgui.ImGuiSliderFlags_NoInput) != 0
 * 
 *     @no_input.setter             # <<<<<<<<<<<<<<
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_8no_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_8no_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6992, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.no_input.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_8no_input_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_8no_input_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":6994
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoInput
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":6995
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoInput             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSliderFlags_NoInput));

  /* "dearcygui/core.pyx":6996
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoInput
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":6997
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoInput
 *         if value:
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSliderFlags_NoInput);

    /* "dearcygui/core.pyx":6996
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoInput
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput
 * 
 */
  }

  /* "dearcygui/core.pyx":6991
 *         return (self.flags & imgui.ImGuiSliderFlags_NoInput) != 0
 * 
 *     @no_input.setter             # <<<<<<<<<<<<<<
 *     def no_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":6999
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def print_format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_12print_format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_12print_format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_12print_format___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_12print_format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7009
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7010
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(bytes(self._print_format), encoding="utf-8")             # <<<<<<<<<<<<<<
 * 
 *     @print_format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_print_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2)) __PYX_ERR(1, 7010, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 7010, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":6999
 *             self.flags |= imgui.ImGuiSliderFlags_NoInput
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def print_format(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Slider.print_format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7012
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 *     @print_format.setter             # <<<<<<<<<<<<<<
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_12print_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_12print_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 7013, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_12print_format_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_12print_format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7015
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._print_format = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7016
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._print_format = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 7016, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7016, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7016, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":7012
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 *     @print_format.setter             # <<<<<<<<<<<<<<
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Slider.print_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7018
 *         self._print_format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def round_to_format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_15round_to_format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_15round_to_format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_15round_to_format___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_15round_to_format___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7026
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSliderFlags_NoRoundToFormat) == 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7027
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSliderFlags_NoRoundToFormat) == 0             # <<<<<<<<<<<<<<
 * 
 *     @round_to_format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSliderFlags_NoRoundToFormat) == 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7018
 *         self._print_format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def round_to_format(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.round_to_format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7029
 *         return (self.flags & imgui.ImGuiSliderFlags_NoRoundToFormat) == 0
 * 
 *     @round_to_format.setter             # <<<<<<<<<<<<<<
 *     def round_to_format(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_15round_to_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_15round_to_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7030, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.round_to_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_15round_to_format_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_15round_to_format_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7032
 *     def round_to_format(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value and (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0:
 *             # Note this is not a limitation from imgui, but they strongly
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7033
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value and (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0:             # <<<<<<<<<<<<<<
 *             # Note this is not a limitation from imgui, but they strongly
 *             # advise not to combine both, and thus we let the user do his
 */
  if (__pyx_v_value) {
  } else {
    __pyx_t_1 = __pyx_v_value;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->flags & ImGuiSliderFlags_Logarithmic) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7037
 *             # advise not to combine both, and thus we let the user do his
 *             # own rounding if he really wants to.
 *             raise ValueError("round_to_format cannot be enabled with logarithmic set")             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat
 *         if not(value):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 7037, __pyx_L1_error)

    /* "dearcygui/core.pyx":7033
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value and (self.flags & imgui.ImGuiSliderFlags_Logarithmic) != 0:             # <<<<<<<<<<<<<<
 *             # Note this is not a limitation from imgui, but they strongly
 *             # advise not to combine both, and thus we let the user do his
 */
  }

  /* "dearcygui/core.pyx":7038
 *             # own rounding if he really wants to.
 *             raise ValueError("round_to_format cannot be enabled with logarithmic set")
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat             # <<<<<<<<<<<<<<
 *         if not(value):
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSliderFlags_NoRoundToFormat));

  /* "dearcygui/core.pyx":7039
 *             raise ValueError("round_to_format cannot be enabled with logarithmic set")
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat
 *         if not(value):             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat
 * 
 */
  __pyx_t_1 = (!__pyx_v_value);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7040
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat
 *         if not(value):
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSliderFlags_NoRoundToFormat);

    /* "dearcygui/core.pyx":7039
 *             raise ValueError("round_to_format cannot be enabled with logarithmic set")
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat
 *         if not(value):             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat
 * 
 */
  }

  /* "dearcygui/core.pyx":7029
 *         return (self.flags & imgui.ImGuiSliderFlags_NoRoundToFormat) == 0
 * 
 *     @round_to_format.setter             # <<<<<<<<<<<<<<
 *     def round_to_format(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Slider.round_to_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7042
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def speed(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_5speed_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_5speed_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_5speed___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_5speed___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7049
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._drag_speed
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7050
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._drag_speed             # <<<<<<<<<<<<<<
 * 
 *     @speed.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_drag_speed); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7042
 *             self.flags |= imgui.ImGuiSliderFlags_NoRoundToFormat
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def speed(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.speed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7052
 *         return self._drag_speed
 * 
 *     @speed.setter             # <<<<<<<<<<<<<<
 *     def speed(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_5speed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_5speed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 7053, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.speed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_5speed_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_5speed_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7055
 *     def speed(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._drag_speed = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7056
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._drag_speed = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_drag_speed = __pyx_v_value;

  /* "dearcygui/core.pyx":7052
 *         return self._drag_speed
 * 
 *     @speed.setter             # <<<<<<<<<<<<<<
 *     def speed(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7058
 *         self._drag_speed = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def vertical(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_8vertical_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_8vertical_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_8vertical___get__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_8vertical___get__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7066
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._vertical
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7067
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._vertical             # <<<<<<<<<<<<<<
 * 
 *     @vertical.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_vertical); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7058
 *         self._drag_speed = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def vertical(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Slider.vertical.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7069
 *         return self._vertical
 * 
 *     @vertical.setter             # <<<<<<<<<<<<<<
 *     def vertical(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Slider_8vertical_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Slider_8vertical_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7070, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.vertical.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_8vertical_2__set__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Slider_8vertical_2__set__(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":7072
 *     def vertical(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._size != 1:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7073
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._size != 1:             # <<<<<<<<<<<<<<
 *             return
 *         self._drag = False
 */
  __pyx_t_1 = (__pyx_v_self->_size != 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7074
 *         lock_gil_friendly(m, self.mutex)
 *         if self._size != 1:
 *             return             # <<<<<<<<<<<<<<
 *         self._drag = False
 *         self._vertical = value
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7073
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._size != 1:             # <<<<<<<<<<<<<<
 *             return
 *         self._drag = False
 */
  }

  /* "dearcygui/core.pyx":7075
 *         if self._size != 1:
 *             return
 *         self._drag = False             # <<<<<<<<<<<<<<
 *         self._vertical = value
 *         if value:
 */
  __pyx_v_self->_drag = 0;

  /* "dearcygui/core.pyx":7076
 *             return
 *         self._drag = False
 *         self._vertical = value             # <<<<<<<<<<<<<<
 *         if value:
 *             self._drag = False
 */
  __pyx_v_self->_vertical = __pyx_v_value;

  /* "dearcygui/core.pyx":7077
 *         self._drag = False
 *         self._vertical = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._drag = False
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7078
 *         self._vertical = value
 *         if value:
 *             self._drag = False             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->_drag = 0;

    /* "dearcygui/core.pyx":7077
 *         self._drag = False
 *         self._vertical = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._drag = False
 * 
 */
  }

  /* "dearcygui/core.pyx":7069
 *         return self._vertical
 * 
 *     @vertical.setter             # <<<<<<<<<<<<<<
 *     def vertical(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7080
 *             self._drag = False
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiSliderFlags flags = self.flags
 *         if not(self._enabled):
 */

static int __pyx_f_9dearcygui_4core_6Slider_draw_item(struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  ImGuiSliderFlags __pyx_v_flags;
  ImGuiDataType __pyx_v_type;
  int __pyx_v_value_int;
  float __pyx_v_value_float;
  double __pyx_v_value_double;
  int __pyx_v_value_int4[4];
  float __pyx_v_value_float4[4];
  double __pyx_v_value_double4[4];
  void *__pyx_v_data;
  void *__pyx_v_data_min;
  void *__pyx_v_data_max;
  int __pyx_v_modified;
  int __pyx_v_imin;
  int __pyx_v_imax;
  float __pyx_v_fmin;
  float __pyx_v_fmax;
  double __pyx_v_dmin;
  double __pyx_v_dmax;
  int __pyx_r;
  ImGuiSliderFlags __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":7081
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSliderFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiSliderFlags_NoInput
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":7082
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSliderFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiSliderFlags_NoInput
 *         cdef imgui.ImGuiDataType type
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":7083
 *         cdef imgui.ImGuiSliderFlags flags = self.flags
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiSliderFlags_NoInput             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiDataType type
 *         cdef int value_int
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiSliderFlags_NoInput);

    /* "dearcygui/core.pyx":7082
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSliderFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiSliderFlags_NoInput
 *         cdef imgui.ImGuiDataType type
 */
  }

  /* "dearcygui/core.pyx":7099
 *         cdef double dmin, dmax
 *         # Prepare data type
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_S32
 *             imin = <int>self._min
 */
  switch (__pyx_v_self->_format) {
    case 0:

    /* "dearcygui/core.pyx":7100
 *         # Prepare data type
 *         if self._format == 0:
 *             type = imgui.ImGuiDataType_S32             # <<<<<<<<<<<<<<
 *             imin = <int>self._min
 *             imax = <int>self._max
 */
    __pyx_v_type = ImGuiDataType_S32;

    /* "dearcygui/core.pyx":7101
 *         if self._format == 0:
 *             type = imgui.ImGuiDataType_S32
 *             imin = <int>self._min             # <<<<<<<<<<<<<<
 *             imax = <int>self._max
 *             data_min = &imin
 */
    __pyx_v_imin = ((int)__pyx_v_self->_min);

    /* "dearcygui/core.pyx":7102
 *             type = imgui.ImGuiDataType_S32
 *             imin = <int>self._min
 *             imax = <int>self._max             # <<<<<<<<<<<<<<
 *             data_min = &imin
 *             data_max = &imax
 */
    __pyx_v_imax = ((int)__pyx_v_self->_max);

    /* "dearcygui/core.pyx":7103
 *             imin = <int>self._min
 *             imax = <int>self._max
 *             data_min = &imin             # <<<<<<<<<<<<<<
 *             data_max = &imax
 *         elif self._format == 1:
 */
    __pyx_v_data_min = (&__pyx_v_imin);

    /* "dearcygui/core.pyx":7104
 *             imax = <int>self._max
 *             data_min = &imin
 *             data_max = &imax             # <<<<<<<<<<<<<<
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float
 */
    __pyx_v_data_max = (&__pyx_v_imax);

    /* "dearcygui/core.pyx":7099
 *         cdef double dmin, dmax
 *         # Prepare data type
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_S32
 *             imin = <int>self._min
 */
    break;
    case 1:

    /* "dearcygui/core.pyx":7106
 *             data_max = &imax
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float             # <<<<<<<<<<<<<<
 *             fmin = <float>self._min
 *             fmax = <float>self._max
 */
    __pyx_v_type = ImGuiDataType_Float;

    /* "dearcygui/core.pyx":7107
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float
 *             fmin = <float>self._min             # <<<<<<<<<<<<<<
 *             fmax = <float>self._max
 *             data_min = &fmin
 */
    __pyx_v_fmin = ((float)__pyx_v_self->_min);

    /* "dearcygui/core.pyx":7108
 *             type = imgui.ImGuiDataType_Float
 *             fmin = <float>self._min
 *             fmax = <float>self._max             # <<<<<<<<<<<<<<
 *             data_min = &fmin
 *             data_max = &fmax
 */
    __pyx_v_fmax = ((float)__pyx_v_self->_max);

    /* "dearcygui/core.pyx":7109
 *             fmin = <float>self._min
 *             fmax = <float>self._max
 *             data_min = &fmin             # <<<<<<<<<<<<<<
 *             data_max = &fmax
 *         else:
 */
    __pyx_v_data_min = (&__pyx_v_fmin);

    /* "dearcygui/core.pyx":7110
 *             fmax = <float>self._max
 *             data_min = &fmin
 *             data_max = &fmax             # <<<<<<<<<<<<<<
 *         else:
 *             type = imgui.ImGuiDataType_Double
 */
    __pyx_v_data_max = (&__pyx_v_fmax);

    /* "dearcygui/core.pyx":7105
 *             data_min = &imin
 *             data_max = &imax
 *         elif self._format == 1:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_Float
 *             fmin = <float>self._min
 */
    break;
    default:

    /* "dearcygui/core.pyx":7112
 *             data_max = &fmax
 *         else:
 *             type = imgui.ImGuiDataType_Double             # <<<<<<<<<<<<<<
 *             dmin = <double>self._min
 *             dmax = <double>self._max
 */
    __pyx_v_type = ImGuiDataType_Double;

    /* "dearcygui/core.pyx":7113
 *         else:
 *             type = imgui.ImGuiDataType_Double
 *             dmin = <double>self._min             # <<<<<<<<<<<<<<
 *             dmax = <double>self._max
 *             data_min = &dmin
 */
    __pyx_v_dmin = ((double)__pyx_v_self->_min);

    /* "dearcygui/core.pyx":7114
 *             type = imgui.ImGuiDataType_Double
 *             dmin = <double>self._min
 *             dmax = <double>self._max             # <<<<<<<<<<<<<<
 *             data_min = &dmin
 *             data_max = &dmax
 */
    __pyx_v_dmax = ((double)__pyx_v_self->_max);

    /* "dearcygui/core.pyx":7115
 *             dmin = <double>self._min
 *             dmax = <double>self._max
 *             data_min = &dmin             # <<<<<<<<<<<<<<
 *             data_max = &dmax
 * 
 */
    __pyx_v_data_min = (&__pyx_v_dmin);

    /* "dearcygui/core.pyx":7116
 *             dmax = <double>self._max
 *             data_min = &dmin
 *             data_max = &dmax             # <<<<<<<<<<<<<<
 * 
 *         # Read the value
 */
    __pyx_v_data_max = (&__pyx_v_dmax);
    break;
  }

  /* "dearcygui/core.pyx":7119
 * 
 *         # Read the value
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 */
  switch (__pyx_v_self->_format) {
    case 0:

    /* "dearcygui/core.pyx":7120
 *         # Read the value
 *         if self._format == 0:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":7121
 *         if self._format == 0:
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_int
 *             else:
 */
      __pyx_v_value_int = __pyx_f_9dearcygui_4core_9SharedInt_get(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":7122
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 */
      __pyx_v_data = (&__pyx_v_value_int);

      /* "dearcygui/core.pyx":7120
 *         # Read the value
 *         if self._format == 0:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":7124
 *                 data = &value_int
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)             # <<<<<<<<<<<<<<
 *                 data = &value_int4
 *         elif self._format == 1:
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_10SharedInt4_get(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int4);

      /* "dearcygui/core.pyx":7125
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 *                 data = &value_int4             # <<<<<<<<<<<<<<
 *         elif self._format == 1:
 *             if self._size == 1:
 */
      __pyx_v_data = (&__pyx_v_value_int4);
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":7119
 * 
 *         # Read the value
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 */
    break;
    case 1:

    /* "dearcygui/core.pyx":7127
 *                 data = &value_int4
 *         elif self._format == 1:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":7128
 *         elif self._format == 1:
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_float
 *             else:
 */
      __pyx_v_value_float = __pyx_f_9dearcygui_4core_11SharedFloat_get(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":7129
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)
 */
      __pyx_v_data = (&__pyx_v_value_float);

      /* "dearcygui/core.pyx":7127
 *                 data = &value_int4
 *         elif self._format == 1:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float
 */
      goto __pyx_L5;
    }

    /* "dearcygui/core.pyx":7131
 *                 data = &value_float
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)             # <<<<<<<<<<<<<<
 *                 data = &value_float4
 *         else:
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_12SharedFloat4_get(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float4);

      /* "dearcygui/core.pyx":7132
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)
 *                 data = &value_float4             # <<<<<<<<<<<<<<
 *         else:
 *             if self._size == 1:
 */
      __pyx_v_data = (&__pyx_v_value_float4);
    }
    __pyx_L5:;

    /* "dearcygui/core.pyx":7126
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 *                 data = &value_int4
 *         elif self._format == 1:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 */
    break;
    default:

    /* "dearcygui/core.pyx":7134
 *                 data = &value_float4
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":7135
 *         else:
 *             if self._size == 1:
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_double
 *             else:
 */
      __pyx_v_value_double = __pyx_f_9dearcygui_4core_12SharedDouble_get(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":7136
 *             if self._size == 1:
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)
 */
      __pyx_v_data = (&__pyx_v_value_double);

      /* "dearcygui/core.pyx":7134
 *                 data = &value_float4
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":7138
 *                 data = &value_double
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)             # <<<<<<<<<<<<<<
 *                 data = &value_double4
 * 
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_13SharedDouble4_get(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double4);

      /* "dearcygui/core.pyx":7139
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)
 *                 data = &value_double4             # <<<<<<<<<<<<<<
 * 
 *         # Draw
 */
      __pyx_v_data = (&__pyx_v_value_double4);
    }
    __pyx_L6:;
    break;
  }

  /* "dearcygui/core.pyx":7142
 * 
 *         # Draw
 *         if self._drag:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 modified = imgui.DragScalar(self.imgui_label.c_str(),
 */
  if (__pyx_v_self->_drag) {

    /* "dearcygui/core.pyx":7143
 *         # Draw
 *         if self._drag:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 modified = imgui.DragScalar(self.imgui_label.c_str(),
 *                                             type,
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":7144
 *         if self._drag:
 *             if self._size == 1:
 *                 modified = imgui.DragScalar(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                             type,
 *                                             data,
 */
      __pyx_v_modified = ImGui::DragScalar(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_self->_drag_speed, __pyx_v_data_min, __pyx_v_data_max, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);

      /* "dearcygui/core.pyx":7143
 *         # Draw
 *         if self._drag:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 modified = imgui.DragScalar(self.imgui_label.c_str(),
 *                                             type,
 */
      goto __pyx_L8;
    }

    /* "dearcygui/core.pyx":7153
 *                                             flags)
 *             else:
 *                 modified = imgui.DragScalarN(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                              type,
 *                                              data,
 */
    /*else*/ {

      /* "dearcygui/core.pyx":7161
 *                                              data_max,
 *                                              self._print_format.c_str(),
 *                                              flags)             # <<<<<<<<<<<<<<
 *         else:
 *             if self._size == 1:
 */
      __pyx_v_modified = ImGui::DragScalarN(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_self->_size, __pyx_v_self->_drag_speed, __pyx_v_data_min, __pyx_v_data_max, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);
    }
    __pyx_L8:;

    /* "dearcygui/core.pyx":7142
 * 
 *         # Draw
 *         if self._drag:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 modified = imgui.DragScalar(self.imgui_label.c_str(),
 */
    goto __pyx_L7;
  }

  /* "dearcygui/core.pyx":7163
 *                                              flags)
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 if self._vertical:
 *                     modified = imgui.VSliderScalar(self.imgui_label.c_str(),
 */
  /*else*/ {
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":7164
 *         else:
 *             if self._size == 1:
 *                 if self._vertical:             # <<<<<<<<<<<<<<
 *                     modified = imgui.VSliderScalar(self.imgui_label.c_str(),
 *                                                    GetDefaultItemSize(self.requested_size),
 */
      if (__pyx_v_self->_vertical) {

        /* "dearcygui/core.pyx":7165
 *             if self._size == 1:
 *                 if self._vertical:
 *                     modified = imgui.VSliderScalar(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                    GetDefaultItemSize(self.requested_size),
 *                                                    type,
 */
        __pyx_v_modified = ImGui::VSliderScalar(__pyx_v_self->__pyx_base.imgui_label.c_str(), GetDefaultItemSize(__pyx_v_self->__pyx_base.requested_size), __pyx_v_type, __pyx_v_data, __pyx_v_data_min, __pyx_v_data_max, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);

        /* "dearcygui/core.pyx":7164
 *         else:
 *             if self._size == 1:
 *                 if self._vertical:             # <<<<<<<<<<<<<<
 *                     modified = imgui.VSliderScalar(self.imgui_label.c_str(),
 *                                                    GetDefaultItemSize(self.requested_size),
 */
        goto __pyx_L10;
      }

      /* "dearcygui/core.pyx":7174
 *                                                    flags)
 *                 else:
 *                     modified = imgui.SliderScalar(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                   type,
 *                                                   data,
 */
      /*else*/ {

        /* "dearcygui/core.pyx":7180
 *                                                   data_max,
 *                                                   self._print_format.c_str(),
 *                                                   flags)             # <<<<<<<<<<<<<<
 *             else:
 *                 modified = imgui.SliderScalarN(self.imgui_label.c_str(),
 */
        __pyx_v_modified = ImGui::SliderScalar(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_data_min, __pyx_v_data_max, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);
      }
      __pyx_L10:;

      /* "dearcygui/core.pyx":7163
 *                                              flags)
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 if self._vertical:
 *                     modified = imgui.VSliderScalar(self.imgui_label.c_str(),
 */
      goto __pyx_L9;
    }

    /* "dearcygui/core.pyx":7182
 *                                                   flags)
 *             else:
 *                 modified = imgui.SliderScalarN(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                type,
 *                                                data,
 */
    /*else*/ {

      /* "dearcygui/core.pyx":7189
 *                                                data_max,
 *                                                self._print_format.c_str(),
 *                                                flags)             # <<<<<<<<<<<<<<
 * 
 *         # Write the value
 */
      __pyx_v_modified = ImGui::SliderScalarN(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_self->_size, __pyx_v_data_min, __pyx_v_data_max, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);
    }
    __pyx_L9:;
  }
  __pyx_L7:;

  /* "dearcygui/core.pyx":7192
 * 
 *         # Write the value
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 if self._size == 1:
 */
  if (__pyx_v_self->__pyx_base._enabled) {

    /* "dearcygui/core.pyx":7193
 *         # Write the value
 *         if self._enabled:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":7194
 *         if self._enabled:
 *             if self._format == 0:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":7195
 *             if self._format == 0:
 *                 if self._size == 1:
 *                     SharedInt.set(<SharedInt>self._value, value_int)             # <<<<<<<<<<<<<<
 *                 else:
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 */
        __pyx_f_9dearcygui_4core_9SharedInt_set(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int);

        /* "dearcygui/core.pyx":7194
 *         if self._enabled:
 *             if self._format == 0:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 */
        goto __pyx_L12;
      }

      /* "dearcygui/core.pyx":7197
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 if self._size == 1:
 */
      /*else*/ {
        __pyx_f_9dearcygui_4core_10SharedInt4_set(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int4);
      }
      __pyx_L12:;

      /* "dearcygui/core.pyx":7193
 *         # Write the value
 *         if self._enabled:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":7199
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":7200
 *             elif self._format == 1:
 *                 if self._size == 1:
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)             # <<<<<<<<<<<<<<
 *                 else:
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 */
        __pyx_f_9dearcygui_4core_11SharedFloat_set(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float);

        /* "dearcygui/core.pyx":7199
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 */
        goto __pyx_L13;
      }

      /* "dearcygui/core.pyx":7202
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)             # <<<<<<<<<<<<<<
 *             else:
 *                 if self._size == 1:
 */
      /*else*/ {
        __pyx_f_9dearcygui_4core_12SharedFloat4_set(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float4);
      }
      __pyx_L13:;

      /* "dearcygui/core.pyx":7198
 *                 else:
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 */
      break;
      default:

      /* "dearcygui/core.pyx":7204
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 *             else:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":7205
 *             else:
 *                 if self._size == 1:
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)             # <<<<<<<<<<<<<<
 *                 else:
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 */
        __pyx_f_9dearcygui_4core_12SharedDouble_set(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double);

        /* "dearcygui/core.pyx":7204
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 *             else:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 */
        goto __pyx_L14;
      }

      /* "dearcygui/core.pyx":7207
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return modified
 */
      /*else*/ {
        __pyx_f_9dearcygui_4core_13SharedDouble4_set(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double4);
      }
      __pyx_L14:;
      break;
    }

    /* "dearcygui/core.pyx":7192
 * 
 *         # Write the value
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 if self._size == 1:
 */
  }

  /* "dearcygui/core.pyx":7208
 *                 else:
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return modified
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Slider *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":7209
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 *         self.update_current_state()
 *         return modified             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_modified;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7080
 *             self._drag = False
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiSliderFlags flags = self.flags
 *         if not(self._enabled):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Slider_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Slider_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Slider_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Slider_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Slider_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Slider_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Slider *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Slider_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Slider *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Slider.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7213
 * 
 * cdef class ListBox(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_listbox
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7ListBox_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_7ListBox_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox___cinit__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7ListBox___cinit__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":7214
 * cdef class ListBox(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_listbox             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_listbox;

  /* "dearcygui/core.pyx":7215
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_listbox
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7215, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedStr(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedStr), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7215, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":7216
 *         self.theme_condition_category = theme_categories.t_listbox
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":7217
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":7218
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":7219
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":7220
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":7221
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._num_items_shown_when_open = -1
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":7222
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._num_items_shown_when_open = -1
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":7223
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._num_items_shown_when_open = -1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_num_items_shown_when_open = -1;

  /* "dearcygui/core.pyx":7213
 * 
 * cdef class ListBox(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_listbox
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ListBox.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7225
 *         self._num_items_shown_when_open = -1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_5items_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_5items_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_5items___get__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_5items___get__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_8genexpr1__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<std::string> ::iterator __pyx_t_2;
  std::string __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7231
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7232
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [str(v, encoding='utf-8') for v in self._items]             # <<<<<<<<<<<<<<
 * 
 *     @items.setter
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7232, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_items.begin();
    for (;;) {
      if (!(__pyx_t_2 != __pyx_v_self->_items.end())) break;
      __pyx_t_3 = *__pyx_t_2;
      ++__pyx_t_2;
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7232, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7232, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_8genexpr1__pyx_v_v);
      __Pyx_GIVEREF(__pyx_8genexpr1__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_8genexpr1__pyx_v_v)) __PYX_ERR(1, 7232, __pyx_L5_error);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 7232, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 7232, __pyx_L5_error)
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7232, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 7232, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_v); __pyx_8genexpr1__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_v); __pyx_8genexpr1__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7225
 *         self._num_items_shown_when_open = -1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.ListBox.items.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7234
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7ListBox_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7ListBox_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_5items_2__set__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7ListBox_5items_2__set__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_value_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  Py_UCS4 __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7238
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._items.clear()
 *         if value is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7239
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()             # <<<<<<<<<<<<<<
 *         if value is None:
 *             return
 */
  __pyx_v_self->_items.clear();

  /* "dearcygui/core.pyx":7240
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7241
 *         self._items.clear()
 *         if value is None:
 *             return             # <<<<<<<<<<<<<<
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7240
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  }

  /* "dearcygui/core.pyx":7242
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject *)(&PyUnicode_Type)));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7243
 *             return
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))             # <<<<<<<<<<<<<<
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 */
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value)) __PYX_ERR(1, 7243, __pyx_L1_error);
    __Pyx_INCREF(__pyx_kp_u_utf_8);
    __Pyx_GIVEREF(__pyx_kp_u_utf_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7243, __pyx_L1_error);
    __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    try {
      __pyx_v_self->_items.push_back(__pyx_t_4);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 7243, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":7242
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":7244
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 7244, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7245
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
      __pyx_t_3 = __pyx_v_value; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7245, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7245, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7245, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 7245, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7245, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7245, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 7245, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7245, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        }
      } else {
        __pyx_t_2 = __pyx_t_6(__pyx_t_3);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 7245, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7246
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 */
      __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_v);
      __Pyx_GIVEREF(__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v)) __PYX_ERR(1, 7246, __pyx_L1_error);
      __Pyx_INCREF(__pyx_kp_u_utf_8);
      __Pyx_GIVEREF(__pyx_kp_u_utf_8);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7246, __pyx_L1_error);
      __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7246, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      try {
        __pyx_v_self->_items.push_back(__pyx_t_4);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 7246, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":7245
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":7244
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":7248
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 */
  /*else*/ {
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 0;
    __pyx_t_8 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_type);
    __pyx_t_5 += 13;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_type);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Invalid_type);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_8;
    __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_5 += 43;
    __Pyx_GIVEREF(__pyx_kp_u_passed_as_items_Expected_array);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 7248, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":7249
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)             # <<<<<<<<<<<<<<
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_value_m, __pyx_v_self->__pyx_base._value->mutex);

  /* "dearcygui/core.pyx":7250
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base._value), __pyx_n_s_num_attached); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 7250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":7251
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \             # <<<<<<<<<<<<<<
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 */
  __pyx_t_9 = (__pyx_v_self->__pyx_base._value->_last_frame_update == -1L);
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":7252
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:             # <<<<<<<<<<<<<<
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 */
  __pyx_t_9 = (__pyx_v_self->_items.size() > 0);
  __pyx_t_1 = __pyx_t_9;
  __pyx_L9_bool_binop_done:;

  /* "dearcygui/core.pyx":7250
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7254
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base._value);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_t_3), (__pyx_v_self->_items[0]));
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":7250
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  }

  /* "dearcygui/core.pyx":7234
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.ListBox.items.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7256
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def num_items_shown_when_open(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open___get__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open___get__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7263
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._num_items_shown_when_open
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7264
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._num_items_shown_when_open             # <<<<<<<<<<<<<<
 * 
 *     @num_items_shown_when_open.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_num_items_shown_when_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7256
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def num_items_shown_when_open(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ListBox.num_items_shown_when_open.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7266
 *         return self._num_items_shown_when_open
 * 
 *     @num_items_shown_when_open.setter             # <<<<<<<<<<<<<<
 *     def num_items_shown_when_open(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7267, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ListBox.num_items_shown_when_open.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open_2__set__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7ListBox_25num_items_shown_when_open_2__set__(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7269
 *     def num_items_shown_when_open(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._num_items_shown_when_open = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7270
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._num_items_shown_when_open = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->_num_items_shown_when_open = __pyx_v_value;

  /* "dearcygui/core.pyx":7266
 *         return self._num_items_shown_when_open
 * 
 *     @num_items_shown_when_open.setter             # <<<<<<<<<<<<<<
 *     def num_items_shown_when_open(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7272
 *         self._num_items_shown_when_open = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # TODO: Merge with ComboBox
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

static int __pyx_f_9dearcygui_4core_7ListBox_draw_item(struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_open;
  int __pyx_v_i;
  std::string __pyx_v_current_value;
  ImVec2 __pyx_v_popup_size;
  float __pyx_v_text_height;
  int __pyx_v_num_items;
  bool __pyx_v_pressed;
  int __pyx_v_changed;
  bool __pyx_v_selected;
  bool __pyx_v_selected_backup;
  int __pyx_r;
  int __pyx_t_1;
  long __pyx_t_2;
  long __pyx_t_3;
  int __pyx_t_4;
  float __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":7274
 *     cdef bint draw_item(self) noexcept nogil:
 *         # TODO: Merge with ComboBox
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint open
 *         cdef int i
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7278
 *         cdef int i
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 popup_size = imgui.ImVec2(0., 0.)
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()
 */
  __pyx_f_9dearcygui_4core_9SharedStr_get(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":7279
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)
 *         cdef imgui.ImVec2 popup_size = imgui.ImVec2(0., 0.)             # <<<<<<<<<<<<<<
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()
 *         cdef int num_items = min(7, <int>self._items.size())
 */
  __pyx_v_popup_size = ImVec2(0., 0.);

  /* "dearcygui/core.pyx":7280
 *         SharedStr.get(<SharedStr>self._value, current_value)
 *         cdef imgui.ImVec2 popup_size = imgui.ImVec2(0., 0.)
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()             # <<<<<<<<<<<<<<
 *         cdef int num_items = min(7, <int>self._items.size())
 *         if self._num_items_shown_when_open > 0:
 */
  __pyx_v_text_height = ImGui::GetTextLineHeightWithSpacing();

  /* "dearcygui/core.pyx":7281
 *         cdef imgui.ImVec2 popup_size = imgui.ImVec2(0., 0.)
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()
 *         cdef int num_items = min(7, <int>self._items.size())             # <<<<<<<<<<<<<<
 *         if self._num_items_shown_when_open > 0:
 *             num_items = self._num_items_shown_when_open
 */
  __pyx_t_1 = ((int)__pyx_v_self->_items.size());
  __pyx_t_2 = 7;
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_num_items = __pyx_t_3;

  /* "dearcygui/core.pyx":7282
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()
 *         cdef int num_items = min(7, <int>self._items.size())
 *         if self._num_items_shown_when_open > 0:             # <<<<<<<<<<<<<<
 *             num_items = self._num_items_shown_when_open
 *         # Computation from imgui
 */
  __pyx_t_4 = (__pyx_v_self->_num_items_shown_when_open > 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":7283
 *         cdef int num_items = min(7, <int>self._items.size())
 *         if self._num_items_shown_when_open > 0:
 *             num_items = self._num_items_shown_when_open             # <<<<<<<<<<<<<<
 *         # Computation from imgui
 *         popup_size.y = trunc(<float>0.25 + <float>num_items) * text_height
 */
    __pyx_t_1 = __pyx_v_self->_num_items_shown_when_open;
    __pyx_v_num_items = __pyx_t_1;

    /* "dearcygui/core.pyx":7282
 *         cdef float text_height = imgui.GetTextLineHeightWithSpacing()
 *         cdef int num_items = min(7, <int>self._items.size())
 *         if self._num_items_shown_when_open > 0:             # <<<<<<<<<<<<<<
 *             num_items = self._num_items_shown_when_open
 *         # Computation from imgui
 */
  }

  /* "dearcygui/core.pyx":7285
 *             num_items = self._num_items_shown_when_open
 *         # Computation from imgui
 *         popup_size.y = trunc(<float>0.25 + <float>num_items) * text_height             # <<<<<<<<<<<<<<
 *         popup_size.y += 2. * imgui.GetStyle().FramePadding.y
 *         open = imgui.BeginListBox(self.imgui_label.c_str(),
 */
  try {
    __pyx_t_5 = std::trunc((((float)0.25) + ((float)__pyx_v_num_items)));
  } catch(...) {
    #ifdef WITH_THREAD
    PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
    #endif
    __Pyx_CppExn2PyErr();
    #ifdef WITH_THREAD
    __Pyx_PyGILState_Release(__pyx_gilstate_save);
    #endif
    __PYX_ERR(1, 7285, __pyx_L1_error)
  }
  __pyx_v_popup_size.y = (__pyx_t_5 * __pyx_v_text_height);

  /* "dearcygui/core.pyx":7286
 *         # Computation from imgui
 *         popup_size.y = trunc(<float>0.25 + <float>num_items) * text_height
 *         popup_size.y += 2. * imgui.GetStyle().FramePadding.y             # <<<<<<<<<<<<<<
 *         open = imgui.BeginListBox(self.imgui_label.c_str(),
 *                                   popup_size)
 */
  __pyx_v_popup_size.y = (__pyx_v_popup_size.y + (2. * ImGui::GetStyle().FramePadding.y));

  /* "dearcygui/core.pyx":7287
 *         popup_size.y = trunc(<float>0.25 + <float>num_items) * text_height
 *         popup_size.y += 2. * imgui.GetStyle().FramePadding.y
 *         open = imgui.BeginListBox(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                   popup_size)
 * 
 */
  __pyx_v_open = ImGui::BeginListBox(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_popup_size);

  /* "dearcygui/core.pyx":7294
 *         # for the combo, and one for the popup that opens. The edited flag
 *         # is not set, looking at imgui demo so we have to handle it manually.
 *         self.state.cur.active = open # TODO move to toggled ?             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cur.active = __pyx_v_open;

  /* "dearcygui/core.pyx":7295
 *         # is not set, looking at imgui demo so we have to handle it manually.
 *         self.state.cur.active = open # TODO move to toggled ?
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.update_current_state_subset()
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":7296
 *         self.state.cur.active = open # TODO move to toggled ?
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.update_current_state_subset()
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":7297
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 *         self.update_current_state_subset()             # <<<<<<<<<<<<<<
 * 
 *         cdef bool pressed = False
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ListBox *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state_subset(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":7299
 *         self.update_current_state_subset()
 * 
 *         cdef bool pressed = False             # <<<<<<<<<<<<<<
 *         cdef bint changed = False
 *         cdef bool selected
 */
  __pyx_v_pressed = 0;

  /* "dearcygui/core.pyx":7300
 * 
 *         cdef bool pressed = False
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         cdef bool selected
 *         cdef bool selected_backup
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":7307
 *         # TODO: there are nice ImGuiSelectableFlags to add in the future
 *         # TODO: use clipper
 *         if open:             # <<<<<<<<<<<<<<
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 */
  if (__pyx_v_open) {

    /* "dearcygui/core.pyx":7308
 *         # TODO: use clipper
 *         if open:
 *             imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):
 */
    ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

    /* "dearcygui/core.pyx":7309
 *         if open:
 *             imgui.PushID(self.uuid)
 *             if self._enabled:             # <<<<<<<<<<<<<<
 *                 for i in range(<int>self._items.size()):
 *                     imgui.PushID(i)
 */
    if (__pyx_v_self->__pyx_base._enabled) {

      /* "dearcygui/core.pyx":7310
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):             # <<<<<<<<<<<<<<
 *                     imgui.PushID(i)
 *                     selected = self._items[i] == current_value
 */
      __pyx_t_1 = ((int)__pyx_v_self->_items.size());
      __pyx_t_6 = __pyx_t_1;
      for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
        __pyx_v_i = __pyx_t_7;

        /* "dearcygui/core.pyx":7311
 *             if self._enabled:
 *                 for i in range(<int>self._items.size()):
 *                     imgui.PushID(i)             # <<<<<<<<<<<<<<
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected
 */
        ImGui::PushID(__pyx_v_i);

        /* "dearcygui/core.pyx":7312
 *                 for i in range(<int>self._items.size()):
 *                     imgui.PushID(i)
 *                     selected = self._items[i] == current_value             # <<<<<<<<<<<<<<
 *                     selected_backup = selected
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),
 */
        __pyx_v_selected = ((__pyx_v_self->_items[__pyx_v_i]) == __pyx_v_current_value);

        /* "dearcygui/core.pyx":7313
 *                     imgui.PushID(i)
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected             # <<<<<<<<<<<<<<
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),
 *                                                 &selected,
 */
        __pyx_v_selected_backup = __pyx_v_selected;

        /* "dearcygui/core.pyx":7314
 *                     selected = self._items[i] == current_value
 *                     selected_backup = selected
 *                     pressed |= imgui.Selectable(self._items[i].c_str(),             # <<<<<<<<<<<<<<
 *                                                 &selected,
 *                                                 imgui.ImGuiSelectableFlags_None,
 */
        __pyx_v_pressed = (__pyx_v_pressed | ImGui::Selectable((__pyx_v_self->_items[__pyx_v_i]).c_str(), (&__pyx_v_selected), ImGuiSelectableFlags_None, __pyx_v_self->__pyx_base.requested_size));

        /* "dearcygui/core.pyx":7318
 *                                                 imgui.ImGuiSelectableFlags_None,
 *                                                 self.requested_size)
 *                     if selected:             # <<<<<<<<<<<<<<
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 */
        __pyx_t_4 = (__pyx_v_selected != 0);
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":7319
 *                                                 self.requested_size)
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()             # <<<<<<<<<<<<<<
 *                     if selected and selected != selected_backup:
 *                         changed = True
 */
          ImGui::SetItemDefaultFocus();

          /* "dearcygui/core.pyx":7318
 *                                                 imgui.ImGuiSelectableFlags_None,
 *                                                 self.requested_size)
 *                     if selected:             # <<<<<<<<<<<<<<
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 */
        }

        /* "dearcygui/core.pyx":7320
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 */
        __pyx_t_8 = (__pyx_v_selected != 0);
        if (__pyx_t_8) {
        } else {
          __pyx_t_4 = __pyx_t_8;
          goto __pyx_L10_bool_binop_done;
        }
        __pyx_t_8 = (__pyx_v_selected != __pyx_v_selected_backup);
        __pyx_t_4 = __pyx_t_8;
        __pyx_L10_bool_binop_done:;
        if (__pyx_t_4) {

          /* "dearcygui/core.pyx":7321
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:
 *                         changed = True             # <<<<<<<<<<<<<<
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 *                     imgui.PopID()
 */
          __pyx_v_changed = 1;

          /* "dearcygui/core.pyx":7322
 *                     if selected and selected != selected_backup:
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])             # <<<<<<<<<<<<<<
 *                     imgui.PopID()
 *             else:
 */
          __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), (__pyx_v_self->_items[__pyx_v_i]));

          /* "dearcygui/core.pyx":7320
 *                     if selected:
 *                         imgui.SetItemDefaultFocus()
 *                     if selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 */
        }

        /* "dearcygui/core.pyx":7323
 *                         changed = True
 *                         SharedStr.set(<SharedStr>self._value, self._items[i])
 *                     imgui.PopID()             # <<<<<<<<<<<<<<
 *             else:
 *                 # TODO: test
 */
        ImGui::PopID();
      }

      /* "dearcygui/core.pyx":7309
 *         if open:
 *             imgui.PushID(self.uuid)
 *             if self._enabled:             # <<<<<<<<<<<<<<
 *                 for i in range(<int>self._items.size()):
 *                     imgui.PushID(i)
 */
      goto __pyx_L5;
    }

    /* "dearcygui/core.pyx":7326
 *             else:
 *                 # TODO: test
 *                 selected = True             # <<<<<<<<<<<<<<
 *                 imgui.Selectable(current_value.c_str(),
 *                                  &selected,
 */
    /*else*/ {
      __pyx_v_selected = 1;

      /* "dearcygui/core.pyx":7327
 *                 # TODO: test
 *                 selected = True
 *                 imgui.Selectable(current_value.c_str(),             # <<<<<<<<<<<<<<
 *                                  &selected,
 *                                  imgui.ImGuiSelectableFlags_Disabled,
 */
      (void)(ImGui::Selectable(__pyx_v_current_value.c_str(), (&__pyx_v_selected), ImGuiSelectableFlags_Disabled, __pyx_v_self->__pyx_base.requested_size));
    }
    __pyx_L5:;

    /* "dearcygui/core.pyx":7331
 *                                  imgui.ImGuiSelectableFlags_Disabled,
 *                                  self.requested_size)
 *             imgui.PopID()             # <<<<<<<<<<<<<<
 *             imgui.EndListBox()
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 */
    ImGui::PopID();

    /* "dearcygui/core.pyx":7332
 *                                  self.requested_size)
 *             imgui.PopID()
 *             imgui.EndListBox()             # <<<<<<<<<<<<<<
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 *         self.state.cur.edited = changed
 */
    ImGui::EndListBox();

    /* "dearcygui/core.pyx":7307
 *         # TODO: there are nice ImGuiSelectableFlags to add in the future
 *         # TODO: use clipper
 *         if open:             # <<<<<<<<<<<<<<
 *             imgui.PushID(self.uuid)
 *             if self._enabled:
 */
  }

  /* "dearcygui/core.pyx":7334
 *             imgui.EndListBox()
 *         # TODO: rect_size/min/max: with the popup ? Use clipper for rect_max ?
 *         self.state.cur.edited = changed             # <<<<<<<<<<<<<<
 *         #self.state.cur.deactivated_after_edited = self.state.cur.deactivated and changed -> TODO Unsure. Isn't it rather focus loss ?
 *         return pressed
 */
  __pyx_v_self->__pyx_base.state.cur.edited = __pyx_v_changed;

  /* "dearcygui/core.pyx":7336
 *         self.state.cur.edited = changed
 *         #self.state.cur.deactivated_after_edited = self.state.cur.deactivated and changed -> TODO Unsure. Isn't it rather focus loss ?
 *         return pressed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_pressed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7272
 *         self._num_items_shown_when_open = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # TODO: Merge with ComboBox
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.ListBox.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7ListBox_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7ListBox_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ListBox.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7ListBox_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7ListBox_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7ListBox_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7ListBox_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ListBox *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7ListBox_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ListBox *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ListBox.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7340
 * 
 * cdef class RadioButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_radiobutton
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11RadioButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11RadioButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton___cinit__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11RadioButton___cinit__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":7341
 * cdef class RadioButton(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_radiobutton             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_radiobutton;

  /* "dearcygui/core.pyx":7342
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_radiobutton
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7342, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedStr(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedStr), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7342, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":7343
 *         self.theme_condition_category = theme_categories.t_radiobutton
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":7344
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":7345
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":7346
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":7347
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":7348
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._horizontal = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":7349
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._horizontal = False
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":7350
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._horizontal = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_horizontal = 0;

  /* "dearcygui/core.pyx":7340
 * 
 * cdef class RadioButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_radiobutton
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.RadioButton.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7352
 *         self._horizontal = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_5items_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_5items_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_5items___get__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_5items___get__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_8genexpr2__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<std::string> ::iterator __pyx_t_2;
  std::string __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7358
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7359
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [str(v, encoding='utf-8') for v in self._items]             # <<<<<<<<<<<<<<
 * 
 *     @items.setter
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7359, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_items.begin();
    for (;;) {
      if (!(__pyx_t_2 != __pyx_v_self->_items.end())) break;
      __pyx_t_3 = *__pyx_t_2;
      ++__pyx_t_2;
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7359, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7359, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_8genexpr2__pyx_v_v);
      __Pyx_GIVEREF(__pyx_8genexpr2__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_8genexpr2__pyx_v_v)) __PYX_ERR(1, 7359, __pyx_L5_error);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 7359, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 7359, __pyx_L5_error)
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7359, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 7359, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7352
 *         self._horizontal = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def items(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.RadioButton.items.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7361
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11RadioButton_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11RadioButton_5items_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_5items_2__set__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11RadioButton_5items_2__set__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_value_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  Py_UCS4 __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7365
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._items.clear()
 *         if value is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7366
 *         cdef unique_lock[recursive_mutex] value_m
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()             # <<<<<<<<<<<<<<
 *         if value is None:
 *             return
 */
  __pyx_v_self->_items.clear();

  /* "dearcygui/core.pyx":7367
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7368
 *         self._items.clear()
 *         if value is None:
 *             return             # <<<<<<<<<<<<<<
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7367
 *         lock_gil_friendly(m, self.mutex)
 *         self._items.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if value is str:
 */
  }

  /* "dearcygui/core.pyx":7369
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject *)(&PyUnicode_Type)));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7370
 *             return
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))             # <<<<<<<<<<<<<<
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 */
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value)) __PYX_ERR(1, 7370, __pyx_L1_error);
    __Pyx_INCREF(__pyx_kp_u_utf_8);
    __Pyx_GIVEREF(__pyx_kp_u_utf_8);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7370, __pyx_L1_error);
    __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7370, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    try {
      __pyx_v_self->_items.push_back(__pyx_t_4);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 7370, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":7369
 *         if value is None:
 *             return
 *         if value is str:             # <<<<<<<<<<<<<<
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":7371
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 7371, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7372
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
      __pyx_t_3 = __pyx_v_value; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7372, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7372, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 7372, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7372, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 7372, __pyx_L1_error)
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
        }
      } else {
        __pyx_t_2 = __pyx_t_6(__pyx_t_3);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 7372, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7373
 *         elif hasattr(value, '__len__'):
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 */
      __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_v);
      __Pyx_GIVEREF(__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v)) __PYX_ERR(1, 7373, __pyx_L1_error);
      __Pyx_INCREF(__pyx_kp_u_utf_8);
      __Pyx_GIVEREF(__pyx_kp_u_utf_8);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7373, __pyx_L1_error);
      __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7373, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      try {
        __pyx_v_self->_items.push_back(__pyx_t_4);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 7373, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":7372
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":7371
 *         if value is str:
 *             self._items.push_back(bytes(value, 'utf-8'))
 *         elif hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._items.push_back(bytes(v, 'utf-8'))
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":7375
 *                 self._items.push_back(bytes(v, 'utf-8'))
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 */
  /*else*/ {
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 0;
    __pyx_t_8 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_type);
    __pyx_t_5 += 13;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_type);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Invalid_type);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_8;
    __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_5 += 43;
    __Pyx_GIVEREF(__pyx_kp_u_passed_as_items_Expected_array);
    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_passed_as_items_Expected_array);
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 7375, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":7376
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)             # <<<<<<<<<<<<<<
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_value_m, __pyx_v_self->__pyx_base._value->mutex);

  /* "dearcygui/core.pyx":7377
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base._value), __pyx_n_s_num_attached); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_3, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(1, 7377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":7378
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \             # <<<<<<<<<<<<<<
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 */
  __pyx_t_9 = (__pyx_v_self->__pyx_base._value->_last_frame_update == -1L);
  if (__pyx_t_9) {
  } else {
    __pyx_t_1 = __pyx_t_9;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":7379
 *         if self._value.num_attached == 1 and \
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:             # <<<<<<<<<<<<<<
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 */
  __pyx_t_9 = (__pyx_v_self->_items.size() > 0);
  __pyx_t_1 = __pyx_t_9;
  __pyx_L9_bool_binop_done:;

  /* "dearcygui/core.pyx":7377
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7381
 *            self._items.size() > 0:
 *             # initialize the value with the first element
 *             SharedStr.set(<SharedStr>self._value, self._items[0])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base._value);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_t_3), (__pyx_v_self->_items[0]));
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":7377
 *             raise ValueError(f"Invalid type {type(value)} passed as items. Expected array of strings")
 *         lock_gil_friendly(value_m, self._value.mutex)
 *         if self._value.num_attached == 1 and \             # <<<<<<<<<<<<<<
 *            self._value._last_frame_update == -1 and \
 *            self._items.size() > 0:
 */
  }

  /* "dearcygui/core.pyx":7361
 *         return [str(v, encoding='utf-8') for v in self._items]
 * 
 *     @items.setter             # <<<<<<<<<<<<<<
 *     def items(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.RadioButton.items.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7383
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7389
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._horizontal
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7390
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._horizontal             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_horizontal); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7383
 *             SharedStr.set(<SharedStr>self._value, self._items[0])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.RadioButton.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7392
 *         return self._horizontal
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7393, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.RadioButton.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11RadioButton_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7395
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._horizontal = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7396
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._horizontal = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->_horizontal = __pyx_v_value;

  /* "dearcygui/core.pyx":7392
 *         return self._horizontal
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7398
 *         self._horizontal = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint open
 */

static int __pyx_f_9dearcygui_4core_11RadioButton_draw_item(struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  std::string __pyx_v_current_value;
  int __pyx_v_changed;
  bool __pyx_v_selected;
  bool __pyx_v_selected_backup;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":7399
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef bint open
 *         cdef int i
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7403
 *         cdef int i
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()
 */
  __pyx_f_9dearcygui_4core_9SharedStr_get(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":7404
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.BeginGroup()
 * 
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":7405
 *         SharedStr.get(<SharedStr>self._value, current_value)
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()             # <<<<<<<<<<<<<<
 * 
 *         cdef bint changed = False
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":7407
 *         imgui.BeginGroup()
 * 
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         cdef bool selected
 *         cdef bool selected_backup
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":7412
 *         # we push an ID because we didn't append ###uuid to the items
 * 
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         for i in range(<int>self._items.size()):
 *             imgui.PushID(i)
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":7413
 * 
 *         imgui.PushID(self.uuid)
 *         for i in range(<int>self._items.size()):             # <<<<<<<<<<<<<<
 *             imgui.PushID(i)
 *             if (self._horizontal and i != 0):
 */
  __pyx_t_1 = ((int)__pyx_v_self->_items.size());
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":7414
 *         imgui.PushID(self.uuid)
 *         for i in range(<int>self._items.size()):
 *             imgui.PushID(i)             # <<<<<<<<<<<<<<
 *             if (self._horizontal and i != 0):
 *                 imgui.SameLine(0., -1.)
 */
    ImGui::PushID(__pyx_v_i);

    /* "dearcygui/core.pyx":7415
 *         for i in range(<int>self._items.size()):
 *             imgui.PushID(i)
 *             if (self._horizontal and i != 0):             # <<<<<<<<<<<<<<
 *                 imgui.SameLine(0., -1.)
 *             selected_backup = self._items[i] == current_value
 */
    if (__pyx_v_self->_horizontal) {
    } else {
      __pyx_t_4 = __pyx_v_self->_horizontal;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_i != 0);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":7416
 *             imgui.PushID(i)
 *             if (self._horizontal and i != 0):
 *                 imgui.SameLine(0., -1.)             # <<<<<<<<<<<<<<
 *             selected_backup = self._items[i] == current_value
 *             selected = imgui.RadioButton(self._items[i].c_str(),
 */
      ImGui::SameLine(0., -1.);

      /* "dearcygui/core.pyx":7415
 *         for i in range(<int>self._items.size()):
 *             imgui.PushID(i)
 *             if (self._horizontal and i != 0):             # <<<<<<<<<<<<<<
 *                 imgui.SameLine(0., -1.)
 *             selected_backup = self._items[i] == current_value
 */
    }

    /* "dearcygui/core.pyx":7417
 *             if (self._horizontal and i != 0):
 *                 imgui.SameLine(0., -1.)
 *             selected_backup = self._items[i] == current_value             # <<<<<<<<<<<<<<
 *             selected = imgui.RadioButton(self._items[i].c_str(),
 *                                          selected_backup)
 */
    __pyx_v_selected_backup = ((__pyx_v_self->_items[__pyx_v_i]) == __pyx_v_current_value);

    /* "dearcygui/core.pyx":7418
 *                 imgui.SameLine(0., -1.)
 *             selected_backup = self._items[i] == current_value
 *             selected = imgui.RadioButton(self._items[i].c_str(),             # <<<<<<<<<<<<<<
 *                                          selected_backup)
 *             if self._enabled and selected and selected != selected_backup:
 */
    __pyx_v_selected = ImGui::RadioButton((__pyx_v_self->_items[__pyx_v_i]).c_str(), __pyx_v_selected_backup);

    /* "dearcygui/core.pyx":7420
 *             selected = imgui.RadioButton(self._items[i].c_str(),
 *                                          selected_backup)
 *             if self._enabled and selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                 changed = True
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])
 */
    if (__pyx_v_self->__pyx_base._enabled) {
    } else {
      __pyx_t_4 = __pyx_v_self->__pyx_base._enabled;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_selected != 0);
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_selected != __pyx_v_selected_backup);
    __pyx_t_4 = __pyx_t_5;
    __pyx_L9_bool_binop_done:;
    if (__pyx_t_4) {

      /* "dearcygui/core.pyx":7421
 *                                          selected_backup)
 *             if self._enabled and selected and selected != selected_backup:
 *                 changed = True             # <<<<<<<<<<<<<<
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])
 *             imgui.PopID()
 */
      __pyx_v_changed = 1;

      /* "dearcygui/core.pyx":7422
 *             if self._enabled and selected and selected != selected_backup:
 *                 changed = True
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])             # <<<<<<<<<<<<<<
 *             imgui.PopID()
 *         imgui.EndGroup()
 */
      __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), (__pyx_v_self->_items[__pyx_v_i]));

      /* "dearcygui/core.pyx":7420
 *             selected = imgui.RadioButton(self._items[i].c_str(),
 *                                          selected_backup)
 *             if self._enabled and selected and selected != selected_backup:             # <<<<<<<<<<<<<<
 *                 changed = True
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])
 */
    }

    /* "dearcygui/core.pyx":7423
 *                 changed = True
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])
 *             imgui.PopID()             # <<<<<<<<<<<<<<
 *         imgui.EndGroup()
 *         imgui.PopID()
 */
    ImGui::PopID();
  }

  /* "dearcygui/core.pyx":7424
 *                 SharedStr.set(<SharedStr>self._value, self._items[i])
 *             imgui.PopID()
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":7425
 *             imgui.PopID()
 *         imgui.EndGroup()
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return changed
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":7426
 *         imgui.EndGroup()
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_RadioButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":7427
 *         imgui.PopID()
 *         self.update_current_state()
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7398
 *         self._horizontal = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef bint open
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11RadioButton_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11RadioButton_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.RadioButton.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11RadioButton_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11RadioButton_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11RadioButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11RadioButton_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_RadioButton *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11RadioButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_RadioButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.RadioButton.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7431
 * 
 * cdef class InputText(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_inputtext
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText___cinit__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText___cinit__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":7432
 * cdef class InputText(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputtext             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_inputtext;

  /* "dearcygui/core.pyx":7433
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputtext
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7433, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedStr(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedStr), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7433, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":7434
 *         self.theme_condition_category = theme_categories.t_inputtext
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":7435
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":7436
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":7437
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":7438
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":7439
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._multiline = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":7440
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._multiline = False
 *         self._max_characters = 1024
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":7441
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._multiline = False             # <<<<<<<<<<<<<<
 *         self._max_characters = 1024
 *         self.flags = imgui.ImGuiInputTextFlags_None
 */
  __pyx_v_self->_multiline = 0;

  /* "dearcygui/core.pyx":7442
 *         self.state.cap.can_be_hovered = True
 *         self._multiline = False
 *         self._max_characters = 1024             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiInputTextFlags_None
 * 
 */
  __pyx_v_self->_max_characters = 0x400;

  /* "dearcygui/core.pyx":7443
 *         self._multiline = False
 *         self._max_characters = 1024
 *         self.flags = imgui.ImGuiInputTextFlags_None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiInputTextFlags_None;

  /* "dearcygui/core.pyx":7431
 * 
 * cdef class InputText(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_inputtext
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.InputText.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7445
 *         self.flags = imgui.ImGuiInputTextFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hint(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_4hint_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_4hint_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_4hint___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_4hint___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7452
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._hint, encoding='utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7453
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._hint, encoding='utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @hint.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_hint); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 7453, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 7453, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7445
 *         self.flags = imgui.ImGuiInputTextFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hint(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.InputText.hint.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7455
 *         return str(self._hint, encoding='utf-8')
 * 
 *     @hint.setter             # <<<<<<<<<<<<<<
 *     def hint(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_4hint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_4hint_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 7456, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_4hint_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_4hint_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7458
 *     def hint(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._hint = bytes(value, 'utf-8')
 *         if len(value) > 0:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7459
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 *         if len(value) > 0:
 *             self.multiline = False
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 7459, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 7459, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_hint = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":7460
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint = bytes(value, 'utf-8')
 *         if len(value) > 0:             # <<<<<<<<<<<<<<
 *             self.multiline = False
 * 
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 7460, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 7460, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_4 > 0);
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":7461
 *         self._hint = bytes(value, 'utf-8')
 *         if len(value) > 0:
 *             self.multiline = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_multiline, Py_False) < 0) __PYX_ERR(1, 7461, __pyx_L1_error)

    /* "dearcygui/core.pyx":7460
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint = bytes(value, 'utf-8')
 *         if len(value) > 0:             # <<<<<<<<<<<<<<
 *             self.multiline = False
 * 
 */
  }

  /* "dearcygui/core.pyx":7455
 *         return str(self._hint, encoding='utf-8')
 * 
 *     @hint.setter             # <<<<<<<<<<<<<<
 *     def hint(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.InputText.hint.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7463
 *             self.multiline = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def multiline(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9multiline_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9multiline_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9multiline___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9multiline___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7470
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._multiline
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7471
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._multiline             # <<<<<<<<<<<<<<
 * 
 *     @multiline.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_multiline); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7463
 *             self.multiline = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def multiline(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.multiline.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7473
 *         return self._multiline
 * 
 *     @multiline.setter             # <<<<<<<<<<<<<<
 *     def multiline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_9multiline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_9multiline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7474, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.multiline.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9multiline_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_9multiline_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  std::string __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":7476
 *     def multiline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._multiline = value
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7477
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._multiline = value             # <<<<<<<<<<<<<<
 *         if value:
 *             self._hint = b""
 */
  __pyx_v_self->_multiline = __pyx_v_value;

  /* "dearcygui/core.pyx":7478
 *         lock_gil_friendly(m, self.mutex)
 *         self._multiline = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._hint = b""
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7479
 *         self._multiline = value
 *         if value:
 *             self._hint = b""             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_1 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7479, __pyx_L1_error)
    __pyx_v_self->_hint = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_1);

    /* "dearcygui/core.pyx":7478
 *         lock_gil_friendly(m, self.mutex)
 *         self._multiline = value
 *         if value:             # <<<<<<<<<<<<<<
 *             self._hint = b""
 * 
 */
  }

  /* "dearcygui/core.pyx":7473
 *         return self._multiline
 * 
 *     @multiline.setter             # <<<<<<<<<<<<<<
 *     def multiline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.multiline.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7481
 *             self._hint = b""
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_characters(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_14max_characters_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_14max_characters_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_14max_characters___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_14max_characters___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7487
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._max_characters
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7488
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._max_characters             # <<<<<<<<<<<<<<
 * 
 *     @max_characters.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_max_characters); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7481
 *             self._hint = b""
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_characters(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.max_characters.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7490
 *         return self._max_characters
 * 
 *     @max_characters.setter             # <<<<<<<<<<<<<<
 *     def max_characters(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_14max_characters_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_14max_characters_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7491, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.max_characters.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_14max_characters_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_14max_characters_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7493
 *     def max_characters(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 1:
 *             raise ValueError("There must be at least space for one character")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7494
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("There must be at least space for one character")
 *         self._max_characters = value
 */
  __pyx_t_1 = (__pyx_v_value < 1);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7495
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 1:
 *             raise ValueError("There must be at least space for one character")             # <<<<<<<<<<<<<<
 *         self._max_characters = value
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 7495, __pyx_L1_error)

    /* "dearcygui/core.pyx":7494
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("There must be at least space for one character")
 *         self._max_characters = value
 */
  }

  /* "dearcygui/core.pyx":7496
 *         if value < 1:
 *             raise ValueError("There must be at least space for one character")
 *         self._max_characters = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_max_characters = __pyx_v_value;

  /* "dearcygui/core.pyx":7490
 *         return self._max_characters
 * 
 *     @max_characters.setter             # <<<<<<<<<<<<<<
 *     def max_characters(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.InputText.max_characters.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7498
 *         self._max_characters = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decimal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_7decimal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_7decimal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_7decimal___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_7decimal___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7504
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7505
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @decimal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsDecimal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7498
 *         self._max_characters = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decimal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.decimal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7507
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 *     @decimal.setter             # <<<<<<<<<<<<<<
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_7decimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_7decimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7508, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.decimal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_7decimal_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_7decimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7510
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7511
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsDecimal));

  /* "dearcygui/core.pyx":7512
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7513
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsDecimal);

    /* "dearcygui/core.pyx":7512
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 */
  }

  /* "dearcygui/core.pyx":7507
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 *     @decimal.setter             # <<<<<<<<<<<<<<
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7515
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hexadecimal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_11hexadecimal___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_11hexadecimal___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7521
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7522
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @hexadecimal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsHexadecimal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7515
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hexadecimal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.hexadecimal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7524
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 *     @hexadecimal.setter             # <<<<<<<<<<<<<<
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7525, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.hexadecimal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_11hexadecimal_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_11hexadecimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7527
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7528
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsHexadecimal));

  /* "dearcygui/core.pyx":7529
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7530
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsHexadecimal);

    /* "dearcygui/core.pyx":7529
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 */
  }

  /* "dearcygui/core.pyx":7524
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 *     @hexadecimal.setter             # <<<<<<<<<<<<<<
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7532
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scientific(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_10scientific_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_10scientific_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_10scientific___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_10scientific___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7538
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7539
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0             # <<<<<<<<<<<<<<
 * 
 *     @scientific.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsScientific) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7532
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scientific(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.scientific.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7541
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 *     @scientific.setter             # <<<<<<<<<<<<<<
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_10scientific_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_10scientific_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7542, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.scientific.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_10scientific_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_10scientific_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7544
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7545
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsScientific));

  /* "dearcygui/core.pyx":7546
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7547
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsScientific);

    /* "dearcygui/core.pyx":7546
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 */
  }

  /* "dearcygui/core.pyx":7541
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 *     @scientific.setter             # <<<<<<<<<<<<<<
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7549
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def uppercase(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9uppercase_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9uppercase_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9uppercase___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9uppercase___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7555
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsUppercase) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7556
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsUppercase) != 0             # <<<<<<<<<<<<<<
 * 
 *     @uppercase.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsUppercase) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7549
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def uppercase(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.uppercase.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7558
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsUppercase) != 0
 * 
 *     @uppercase.setter             # <<<<<<<<<<<<<<
 *     def uppercase(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_9uppercase_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_9uppercase_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7559, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.uppercase.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9uppercase_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_9uppercase_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7561
 *     def uppercase(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsUppercase
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7562
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsUppercase             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsUppercase));

  /* "dearcygui/core.pyx":7563
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsUppercase
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7564
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsUppercase
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsUppercase);

    /* "dearcygui/core.pyx":7563
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsUppercase
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase
 * 
 */
  }

  /* "dearcygui/core.pyx":7558
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsUppercase) != 0
 * 
 *     @uppercase.setter             # <<<<<<<<<<<<<<
 *     def uppercase(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7566
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_spaces(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9no_spaces_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9no_spaces_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9no_spaces___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9no_spaces___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7572
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsNoBlank) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7573
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsNoBlank) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_spaces.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsNoBlank) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7566
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsUppercase
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_spaces(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.no_spaces.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7575
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsNoBlank) != 0
 * 
 *     @no_spaces.setter             # <<<<<<<<<<<<<<
 *     def no_spaces(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_9no_spaces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_9no_spaces_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7576, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.no_spaces.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9no_spaces_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_9no_spaces_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7578
 *     def no_spaces(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsNoBlank
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7579
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsNoBlank             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsNoBlank));

  /* "dearcygui/core.pyx":7580
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsNoBlank
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7581
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsNoBlank
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsNoBlank);

    /* "dearcygui/core.pyx":7580
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsNoBlank
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank
 * 
 */
  }

  /* "dearcygui/core.pyx":7575
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsNoBlank) != 0
 * 
 *     @no_spaces.setter             # <<<<<<<<<<<<<<
 *     def no_spaces(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7583
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def tab_input(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9tab_input_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_9tab_input_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9tab_input___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_9tab_input___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7589
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_AllowTabInput) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7590
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_AllowTabInput) != 0             # <<<<<<<<<<<<<<
 * 
 *     @tab_input.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_AllowTabInput) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7583
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsNoBlank
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def tab_input(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.tab_input.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7592
 *         return (self.flags & imgui.ImGuiInputTextFlags_AllowTabInput) != 0
 * 
 *     @tab_input.setter             # <<<<<<<<<<<<<<
 *     def tab_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_9tab_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_9tab_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7593, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.tab_input.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_9tab_input_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_9tab_input_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7595
 *     def tab_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AllowTabInput
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7596
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AllowTabInput             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_AllowTabInput));

  /* "dearcygui/core.pyx":7597
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AllowTabInput
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7598
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AllowTabInput
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_AllowTabInput);

    /* "dearcygui/core.pyx":7597
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AllowTabInput
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput
 * 
 */
  }

  /* "dearcygui/core.pyx":7592
 *         return (self.flags & imgui.ImGuiInputTextFlags_AllowTabInput) != 0
 * 
 *     @tab_input.setter             # <<<<<<<<<<<<<<
 *     def tab_input(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7600
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_enter(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8on_enter_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8on_enter_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8on_enter___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8on_enter___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7607
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7608
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0             # <<<<<<<<<<<<<<
 * 
 *     @on_enter.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_EnterReturnsTrue) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7600
 *             self.flags |= imgui.ImGuiInputTextFlags_AllowTabInput
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_enter(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.on_enter.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7610
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 *     @on_enter.setter             # <<<<<<<<<<<<<<
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_8on_enter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_8on_enter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7611, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.on_enter.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8on_enter_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_8on_enter_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7613
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7614
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_EnterReturnsTrue));

  /* "dearcygui/core.pyx":7615
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7616
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_EnterReturnsTrue);

    /* "dearcygui/core.pyx":7615
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 */
  }

  /* "dearcygui/core.pyx":7610
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 *     @on_enter.setter             # <<<<<<<<<<<<<<
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7618
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7626
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7627
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @escape_clears_all.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_EscapeClearsAll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7618
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.escape_clears_all.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7629
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 *     @escape_clears_all.setter             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7630, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.escape_clears_all.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_17escape_clears_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7632
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7633
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_EscapeClearsAll));

  /* "dearcygui/core.pyx":7634
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7635
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_EscapeClearsAll);

    /* "dearcygui/core.pyx":7634
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 */
  }

  /* "dearcygui/core.pyx":7629
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 *     @escape_clears_all.setter             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7637
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ctrl_enter_for_new_line(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7645
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CtrlEnterForNewLine) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7646
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CtrlEnterForNewLine) != 0             # <<<<<<<<<<<<<<
 * 
 *     @ctrl_enter_for_new_line.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CtrlEnterForNewLine) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7637
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ctrl_enter_for_new_line(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.ctrl_enter_for_new_line.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7648
 *         return (self.flags & imgui.ImGuiInputTextFlags_CtrlEnterForNewLine) != 0
 * 
 *     @ctrl_enter_for_new_line.setter             # <<<<<<<<<<<<<<
 *     def ctrl_enter_for_new_line(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7649, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.ctrl_enter_for_new_line.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7651
 *     def ctrl_enter_for_new_line(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7652
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CtrlEnterForNewLine             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CtrlEnterForNewLine));

  /* "dearcygui/core.pyx":7653
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7654
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CtrlEnterForNewLine);

    /* "dearcygui/core.pyx":7653
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 * 
 */
  }

  /* "dearcygui/core.pyx":7648
 *         return (self.flags & imgui.ImGuiInputTextFlags_CtrlEnterForNewLine) != 0
 * 
 *     @ctrl_enter_for_new_line.setter             # <<<<<<<<<<<<<<
 *     def ctrl_enter_for_new_line(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7656
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def readonly(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8readonly_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8readonly_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8readonly___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8readonly___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7662
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7663
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0             # <<<<<<<<<<<<<<
 * 
 *     @readonly.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_ReadOnly) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7656
 *             self.flags |= imgui.ImGuiInputTextFlags_CtrlEnterForNewLine
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def readonly(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.readonly.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7665
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 *     @readonly.setter             # <<<<<<<<<<<<<<
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_8readonly_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_8readonly_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7666, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.readonly.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8readonly_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_8readonly_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7668
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7669
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_ReadOnly));

  /* "dearcygui/core.pyx":7670
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7671
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_ReadOnly);

    /* "dearcygui/core.pyx":7670
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 */
  }

  /* "dearcygui/core.pyx":7665
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 *     @readonly.setter             # <<<<<<<<<<<<<<
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7673
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def password(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8password_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_8password_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8password___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_8password___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7679
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7680
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0             # <<<<<<<<<<<<<<
 * 
 *     @password.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_Password) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7673
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def password(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.password.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7682
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 *     @password.setter             # <<<<<<<<<<<<<<
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7683, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.password.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_8password_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_8password_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7685
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7686
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_Password));

  /* "dearcygui/core.pyx":7687
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7688
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_Password             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_Password);

    /* "dearcygui/core.pyx":7687
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 */
  }

  /* "dearcygui/core.pyx":7682
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 *     @password.setter             # <<<<<<<<<<<<<<
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7690
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_overwrite(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_16always_overwrite___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_16always_overwrite___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7696
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7697
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0             # <<<<<<<<<<<<<<
 * 
 *     @always_overwrite.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_AlwaysOverwrite) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7690
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_overwrite(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.always_overwrite.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7699
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 *     @always_overwrite.setter             # <<<<<<<<<<<<<<
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7700, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.always_overwrite.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_16always_overwrite_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_16always_overwrite_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7702
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7703
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_AlwaysOverwrite));

  /* "dearcygui/core.pyx":7704
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7705
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_AlwaysOverwrite);

    /* "dearcygui/core.pyx":7704
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 */
  }

  /* "dearcygui/core.pyx":7699
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 *     @always_overwrite.setter             # <<<<<<<<<<<<<<
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7707
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_select_all(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_15auto_select_all___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_15auto_select_all___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7713
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7714
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @auto_select_all.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_AutoSelectAll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7707
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_select_all(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.auto_select_all.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7716
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 *     @auto_select_all.setter             # <<<<<<<<<<<<<<
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7717, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.auto_select_all.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_15auto_select_all_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_15auto_select_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7719
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7720
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_AutoSelectAll));

  /* "dearcygui/core.pyx":7721
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7722
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_AutoSelectAll);

    /* "dearcygui/core.pyx":7721
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 */
  }

  /* "dearcygui/core.pyx":7716
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 *     @auto_select_all.setter             # <<<<<<<<<<<<<<
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7724
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7730
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7731
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_horizontal_scroll.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_NoHorizontalScroll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7724
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.no_horizontal_scroll.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7733
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 *     @no_horizontal_scroll.setter             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7734, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.no_horizontal_scroll.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_20no_horizontal_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7736
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7737
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_NoHorizontalScroll));

  /* "dearcygui/core.pyx":7738
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7739
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_NoHorizontalScroll);

    /* "dearcygui/core.pyx":7738
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 */
  }

  /* "dearcygui/core.pyx":7733
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 *     @no_horizontal_scroll.setter             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7741
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo___get__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo___get__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7747
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7748
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_undo_redo.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_NoUndoRedo) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7741
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputText.no_undo_redo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7750
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 *     @no_undo_redo.setter             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7751, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.no_undo_redo.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo_2__set__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9InputText_12no_undo_redo_2__set__(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7753
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7754
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_NoUndoRedo));

  /* "dearcygui/core.pyx":7755
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":7756
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_NoUndoRedo);

    /* "dearcygui/core.pyx":7755
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 */
  }

  /* "dearcygui/core.pyx":7750
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 *     @no_undo_redo.setter             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7758
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef string current_value
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 */

static int __pyx_f_9dearcygui_4core_9InputText_draw_item(struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  std::string __pyx_v_current_value;
  ImGuiInputTextFlags __pyx_v_flags;
  int __pyx_v_changed;
  char *__pyx_v_data;
  int __pyx_r;
  ImGuiInputTextFlags __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":7760
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef string current_value
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         SharedStr.get(<SharedStr>self._value, current_value)
 * 
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":7761
 *         cdef string current_value
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         SharedStr.get(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 * 
 *         cdef bint changed = False
 */
  __pyx_f_9dearcygui_4core_9SharedStr_get(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":7763
 *         SharedStr.get(<SharedStr>self._value, current_value)
 * 
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":7764
 * 
 *         cdef bint changed = False
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         if <int>current_value.size() != (self._max_characters+1):
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":7765
 *         cdef bint changed = False
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 *         if <int>current_value.size() != (self._max_characters+1):
 *             # TODO: avoid the copies that occur
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiInputTextFlags_ReadOnly);

    /* "dearcygui/core.pyx":7764
 * 
 *         cdef bint changed = False
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         if <int>current_value.size() != (self._max_characters+1):
 */
  }

  /* "dearcygui/core.pyx":7766
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         if <int>current_value.size() != (self._max_characters+1):             # <<<<<<<<<<<<<<
 *             # TODO: avoid the copies that occur
 *             # In theory the +1 is not needed here
 */
  __pyx_t_2 = (((int)__pyx_v_current_value.size()) != (__pyx_v_self->_max_characters + 1));
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":7769
 *             # TODO: avoid the copies that occur
 *             # In theory the +1 is not needed here
 *             current_value.resize(self._max_characters+1)             # <<<<<<<<<<<<<<
 *         cdef char* data = current_value.data()
 *         if self._multiline:
 */
    try {
      __pyx_v_current_value.resize((__pyx_v_self->_max_characters + 1));
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 7769, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":7766
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         if <int>current_value.size() != (self._max_characters+1):             # <<<<<<<<<<<<<<
 *             # TODO: avoid the copies that occur
 *             # In theory the +1 is not needed here
 */
  }

  /* "dearcygui/core.pyx":7770
 *             # In theory the +1 is not needed here
 *             current_value.resize(self._max_characters+1)
 *         cdef char* data = current_value.data()             # <<<<<<<<<<<<<<
 *         if self._multiline:
 *             changed = imgui.InputTextMultiline(self.imgui_label.c_str(),
 */
  __pyx_v_data = __pyx_v_current_value.data();

  /* "dearcygui/core.pyx":7771
 *             current_value.resize(self._max_characters+1)
 *         cdef char* data = current_value.data()
 *         if self._multiline:             # <<<<<<<<<<<<<<
 *             changed = imgui.InputTextMultiline(self.imgui_label.c_str(),
 *                                                data,
 */
  if (__pyx_v_self->_multiline) {

    /* "dearcygui/core.pyx":7772
 *         cdef char* data = current_value.data()
 *         if self._multiline:
 *             changed = imgui.InputTextMultiline(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                data,
 *                                                self._max_characters+1,
 */
    __pyx_v_changed = ImGui::InputTextMultiline(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_data, (__pyx_v_self->_max_characters + 1), __pyx_v_self->__pyx_base.requested_size, __pyx_v_self->flags, NULL, NULL);

    /* "dearcygui/core.pyx":7771
 *             current_value.resize(self._max_characters+1)
 *         cdef char* data = current_value.data()
 *         if self._multiline:             # <<<<<<<<<<<<<<
 *             changed = imgui.InputTextMultiline(self.imgui_label.c_str(),
 *                                                data,
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":7778
 *                                                self.flags,
 *                                                NULL, NULL)
 *         elif self._hint.empty():             # <<<<<<<<<<<<<<
 *             changed = imgui.InputText(self.imgui_label.c_str(),
 *                                       data,
 */
  __pyx_t_2 = __pyx_v_self->_hint.empty();
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":7779
 *                                                NULL, NULL)
 *         elif self._hint.empty():
 *             changed = imgui.InputText(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                       data,
 *                                       self._max_characters+1,
 */
    __pyx_v_changed = ImGui::InputText(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_data, (__pyx_v_self->_max_characters + 1), __pyx_v_self->flags, NULL, NULL);

    /* "dearcygui/core.pyx":7778
 *                                                self.flags,
 *                                                NULL, NULL)
 *         elif self._hint.empty():             # <<<<<<<<<<<<<<
 *             changed = imgui.InputText(self.imgui_label.c_str(),
 *                                       data,
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":7785
 *                                       NULL, NULL)
 *         else:
 *             changed = imgui.InputTextWithHint(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                               self._hint.c_str(),
 *                                               data,
 */
  /*else*/ {

    /* "dearcygui/core.pyx":7790
 *                                               self._max_characters+1,
 *                                               self.flags,
 *                                               NULL, NULL)             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         if changed:
 */
    __pyx_v_changed = ImGui::InputTextWithHint(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->_hint.c_str(), __pyx_v_data, (__pyx_v_self->_max_characters + 1), __pyx_v_self->flags, NULL, NULL);
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":7791
 *                                               self.flags,
 *                                               NULL, NULL)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         if changed:
 *             SharedStr.set(<SharedStr>self._value, current_value)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_InputText *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":7792
 *                                               NULL, NULL)
 *         self.update_current_state()
 *         if changed:             # <<<<<<<<<<<<<<
 *             SharedStr.set(<SharedStr>self._value, current_value)
 *         if not(self._enabled):
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":7793
 *         self.update_current_state()
 *         if changed:
 *             SharedStr.set(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             changed = False
 */
    __pyx_f_9dearcygui_4core_9SharedStr_set(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

    /* "dearcygui/core.pyx":7792
 *                                               NULL, NULL)
 *         self.update_current_state()
 *         if changed:             # <<<<<<<<<<<<<<
 *             SharedStr.set(<SharedStr>self._value, current_value)
 *         if not(self._enabled):
 */
  }

  /* "dearcygui/core.pyx":7794
 *         if changed:
 *             SharedStr.set(<SharedStr>self._value, current_value)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             changed = False
 *             self.state.cur.edited = False
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":7795
 *             SharedStr.set(<SharedStr>self._value, current_value)
 *         if not(self._enabled):
 *             changed = False             # <<<<<<<<<<<<<<
 *             self.state.cur.edited = False
 *             self.state.cur.deactivated_after_edited = False
 */
    __pyx_v_changed = 0;

    /* "dearcygui/core.pyx":7796
 *         if not(self._enabled):
 *             changed = False
 *             self.state.cur.edited = False             # <<<<<<<<<<<<<<
 *             self.state.cur.deactivated_after_edited = False
 *             self.state.cur.active = False
 */
    __pyx_v_self->__pyx_base.state.cur.edited = 0;

    /* "dearcygui/core.pyx":7797
 *             changed = False
 *             self.state.cur.edited = False
 *             self.state.cur.deactivated_after_edited = False             # <<<<<<<<<<<<<<
 *             self.state.cur.active = False
 *         return changed
 */
    __pyx_v_self->__pyx_base.state.cur.deactivated_after_edited = 0;

    /* "dearcygui/core.pyx":7798
 *             self.state.cur.edited = False
 *             self.state.cur.deactivated_after_edited = False
 *             self.state.cur.active = False             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
    __pyx_v_self->__pyx_base.state.cur.active = 0;

    /* "dearcygui/core.pyx":7794
 *         if changed:
 *             SharedStr.set(<SharedStr>self._value, current_value)
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             changed = False
 *             self.state.cur.edited = False
 */
  }

  /* "dearcygui/core.pyx":7799
 *             self.state.cur.deactivated_after_edited = False
 *             self.state.cur.active = False
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * ctypedef fused clamp_types:
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7758
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef string current_value
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.InputText.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9InputText_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9InputText_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9InputText_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9InputText_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9InputText_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9InputText_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_InputText *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9InputText_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputText *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.InputText.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7806
 *     double
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 */

static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp1(int &__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7808
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    __pyx_v_value = ((int)__pyx_t_4);

    /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  }

  /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7810
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    __pyx_v_value = ((int)__pyx_t_3);

    /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  }

  /* "dearcygui/core.pyx":7806
 *     double
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 */

  /* function exit code */
}

static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp1(float &__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7808
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    __pyx_v_value = ((float)__pyx_t_4);

    /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  }

  /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7810
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    __pyx_v_value = ((float)__pyx_t_3);

    /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  }

  /* "dearcygui/core.pyx":7806
 *     double
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 */

  /* function exit code */
}

static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp1(double &__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7808
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    __pyx_v_value = ((double)__pyx_t_4);

    /* "dearcygui/core.pyx":7807
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 */
  }

  /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7810
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:
 *         value = <clamp_types>min(<double>value, upper)             # <<<<<<<<<<<<<<
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)__pyx_v_value);
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    __pyx_v_value = ((double)__pyx_t_3);

    /* "dearcygui/core.pyx":7809
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value = <clamp_types>min(<double>value, upper)
 * 
 */
  }

  /* "dearcygui/core.pyx":7806
 *     double
 * 
 * cdef inline void clamp1(clamp_types &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value = <clamp_types>max(<double>value, lower)
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":7812
 *         value = <clamp_types>min(<double>value, upper)
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 */

static CYTHON_INLINE void __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp4(int *__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7814
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[0]) = ((int)__pyx_t_4);

    /* "dearcygui/core.pyx":7815
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 */
    __pyx_t_4 = __pyx_v_lower;
    __pyx_t_2 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_4 > __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[1]) = ((int)__pyx_t_3);

    /* "dearcygui/core.pyx":7816
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 */
    __pyx_t_3 = __pyx_v_lower;
    __pyx_t_4 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[2]) = ((int)__pyx_t_2);

    /* "dearcygui/core.pyx":7817
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[3]) = ((int)__pyx_t_4);

    /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  }

  /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7819
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[0]) = ((int)__pyx_t_3);

    /* "dearcygui/core.pyx":7820
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 */
    __pyx_t_3 = __pyx_v_upper;
    __pyx_t_4 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_3 < __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[1]) = ((int)__pyx_t_2);

    /* "dearcygui/core.pyx":7821
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 * 
 */
    __pyx_t_2 = __pyx_v_upper;
    __pyx_t_3 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_2 < __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[2]) = ((int)__pyx_t_4);

    /* "dearcygui/core.pyx":7822
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)             # <<<<<<<<<<<<<<
 * 
 * cdef class InputValue(uiItem):
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[3]) = ((int)__pyx_t_3);

    /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  }

  /* "dearcygui/core.pyx":7812
 *         value = <clamp_types>min(<double>value, upper)
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 */

  /* function exit code */
}

static CYTHON_INLINE void __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp4(float *__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7814
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[0]) = ((float)__pyx_t_4);

    /* "dearcygui/core.pyx":7815
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 */
    __pyx_t_4 = __pyx_v_lower;
    __pyx_t_2 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_4 > __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[1]) = ((float)__pyx_t_3);

    /* "dearcygui/core.pyx":7816
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 */
    __pyx_t_3 = __pyx_v_lower;
    __pyx_t_4 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[2]) = ((float)__pyx_t_2);

    /* "dearcygui/core.pyx":7817
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[3]) = ((float)__pyx_t_4);

    /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  }

  /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7819
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[0]) = ((float)__pyx_t_3);

    /* "dearcygui/core.pyx":7820
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 */
    __pyx_t_3 = __pyx_v_upper;
    __pyx_t_4 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_3 < __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[1]) = ((float)__pyx_t_2);

    /* "dearcygui/core.pyx":7821
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 * 
 */
    __pyx_t_2 = __pyx_v_upper;
    __pyx_t_3 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_2 < __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[2]) = ((float)__pyx_t_4);

    /* "dearcygui/core.pyx":7822
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)             # <<<<<<<<<<<<<<
 * 
 * cdef class InputValue(uiItem):
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[3]) = ((float)__pyx_t_3);

    /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  }

  /* "dearcygui/core.pyx":7812
 *         value = <clamp_types>min(<double>value, upper)
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 */

  /* function exit code */
}

static CYTHON_INLINE void __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp4(double *__pyx_v_value, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;

  /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  __pyx_t_1 = (__pyx_v_lower != (-INFINITY));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7814
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[0]) = ((double)__pyx_t_4);

    /* "dearcygui/core.pyx":7815
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 */
    __pyx_t_4 = __pyx_v_lower;
    __pyx_t_2 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_4 > __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[1]) = ((double)__pyx_t_3);

    /* "dearcygui/core.pyx":7816
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 */
    __pyx_t_3 = __pyx_v_lower;
    __pyx_t_4 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[2]) = ((double)__pyx_t_2);

    /* "dearcygui/core.pyx":7817
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)             # <<<<<<<<<<<<<<
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 */
    __pyx_t_2 = __pyx_v_lower;
    __pyx_t_3 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[3]) = ((double)__pyx_t_4);

    /* "dearcygui/core.pyx":7813
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:
 *     if lower != -INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 *         value[1] = <clamp_types>max(<double>value[1], lower)
 */
  }

  /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  __pyx_t_1 = (__pyx_v_upper != INFINITY);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7819
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)             # <<<<<<<<<<<<<<
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[0]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[0]) = ((double)__pyx_t_3);

    /* "dearcygui/core.pyx":7820
 *     if upper != INFINITY:
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)             # <<<<<<<<<<<<<<
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 */
    __pyx_t_3 = __pyx_v_upper;
    __pyx_t_4 = ((double)(__pyx_v_value[1]));
    __pyx_t_1 = (__pyx_t_3 < __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_2 = __pyx_t_4;
    }
    (__pyx_v_value[1]) = ((double)__pyx_t_2);

    /* "dearcygui/core.pyx":7821
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)             # <<<<<<<<<<<<<<
 *         value[3] = <clamp_types>min(<double>value[3], upper)
 * 
 */
    __pyx_t_2 = __pyx_v_upper;
    __pyx_t_3 = ((double)(__pyx_v_value[2]));
    __pyx_t_1 = (__pyx_t_2 < __pyx_t_3);
    if (__pyx_t_1) {
      __pyx_t_4 = __pyx_t_2;
    } else {
      __pyx_t_4 = __pyx_t_3;
    }
    (__pyx_v_value[2]) = ((double)__pyx_t_4);

    /* "dearcygui/core.pyx":7822
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 *         value[2] = <clamp_types>min(<double>value[2], upper)
 *         value[3] = <clamp_types>min(<double>value[3], upper)             # <<<<<<<<<<<<<<
 * 
 * cdef class InputValue(uiItem):
 */
    __pyx_t_4 = __pyx_v_upper;
    __pyx_t_2 = ((double)(__pyx_v_value[3]));
    __pyx_t_1 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_4;
    } else {
      __pyx_t_3 = __pyx_t_2;
    }
    (__pyx_v_value[3]) = ((double)__pyx_t_3);

    /* "dearcygui/core.pyx":7818
 *         value[2] = <clamp_types>max(<double>value[2], lower)
 *         value[3] = <clamp_types>max(<double>value[3], lower)
 *     if upper != INFINITY:             # <<<<<<<<<<<<<<
 *         value[0] = <clamp_types>min(<double>value[0], upper)
 *         value[1] = <clamp_types>min(<double>value[1], upper)
 */
  }

  /* "dearcygui/core.pyx":7812
 *         value = <clamp_types>min(<double>value, upper)
 * 
 * cdef inline void clamp4(clamp_types[4] &value, double lower, double upper) noexcept nogil:             # <<<<<<<<<<<<<<
 *     if lower != -INFINITY:
 *         value[0] = <clamp_types>max(<double>value[0], lower)
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":7825
 * 
 * cdef class InputValue(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_inputvalue
 *         self._format = 1
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue___cinit__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue___cinit__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  std::string __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":7826
 * cdef class InputValue(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputvalue             # <<<<<<<<<<<<<<
 *         self._format = 1
 *         self._size = 1
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_inputvalue;

  /* "dearcygui/core.pyx":7827
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_inputvalue
 *         self._format = 1             # <<<<<<<<<<<<<<
 *         self._size = 1
 *         self._print_format = b"%.3f"
 */
  __pyx_v_self->_format = 1;

  /* "dearcygui/core.pyx":7828
 *         self.theme_condition_category = theme_categories.t_inputvalue
 *         self._format = 1
 *         self._size = 1             # <<<<<<<<<<<<<<
 *         self._print_format = b"%.3f"
 *         self.flags = 0
 */
  __pyx_v_self->_size = 1;

  /* "dearcygui/core.pyx":7829
 *         self._format = 1
 *         self._size = 1
 *         self._print_format = b"%.3f"             # <<<<<<<<<<<<<<
 *         self.flags = 0
 *         self._min = -INFINITY
 */
  __pyx_t_1 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_3f); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7829, __pyx_L1_error)
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_1);

  /* "dearcygui/core.pyx":7830
 *         self._size = 1
 *         self._print_format = b"%.3f"
 *         self.flags = 0             # <<<<<<<<<<<<<<
 *         self._min = -INFINITY
 *         self._max = INFINITY
 */
  __pyx_v_self->flags = 0;

  /* "dearcygui/core.pyx":7831
 *         self._print_format = b"%.3f"
 *         self.flags = 0
 *         self._min = -INFINITY             # <<<<<<<<<<<<<<
 *         self._max = INFINITY
 *         self._step = 0.1
 */
  __pyx_v_self->_min = (-INFINITY);

  /* "dearcygui/core.pyx":7832
 *         self.flags = 0
 *         self._min = -INFINITY
 *         self._max = INFINITY             # <<<<<<<<<<<<<<
 *         self._step = 0.1
 *         self._step_fast = 1.
 */
  __pyx_v_self->_max = INFINITY;

  /* "dearcygui/core.pyx":7833
 *         self._min = -INFINITY
 *         self._max = INFINITY
 *         self._step = 0.1             # <<<<<<<<<<<<<<
 *         self._step_fast = 1.
 *         self.flags = imgui.ImGuiInputTextFlags_None
 */
  __pyx_v_self->_step = 0.1;

  /* "dearcygui/core.pyx":7834
 *         self._max = INFINITY
 *         self._step = 0.1
 *         self._step_fast = 1.             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiInputTextFlags_None
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
  __pyx_v_self->_step_fast = 1.;

  /* "dearcygui/core.pyx":7835
 *         self._step = 0.1
 *         self._step_fast = 1.
 *         self.flags = imgui.ImGuiInputTextFlags_None             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure
 */
  __pyx_v_self->flags = ImGuiInputTextFlags_None;

  /* "dearcygui/core.pyx":7836
 *         self._step_fast = 1.
 *         self.flags = imgui.ImGuiInputTextFlags_None
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7836, __pyx_L1_error);
  __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7836, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_t_3);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":7837
 *         self.flags = imgui.ImGuiInputTextFlags_None
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":7838
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":7839
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":7840
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":7841
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":7842
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, **kwargs):
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":7825
 * 
 * cdef class InputValue(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_inputvalue
 *         self._format = 1
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.InputValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7844
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10InputValue_3configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10InputValue_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_2configure(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_2configure(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  double __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":7847
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 *         if "format" in kwargs:             # <<<<<<<<<<<<<<
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_format, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7847, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7848
 *         # must enable them in a specific order
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")             # <<<<<<<<<<<<<<
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_format};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_format, __pyx_t_2) < 0) __PYX_ERR(1, 7848, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":7847
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 *         if "format" in kwargs:             # <<<<<<<<<<<<<<
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 */
  }

  /* "dearcygui/core.pyx":7849
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:             # <<<<<<<<<<<<<<
 *             self.size = kwargs.pop("size")
 *         # legacy support
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_size, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7849, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7850
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:
 *             self.size = kwargs.pop("size")             # <<<<<<<<<<<<<<
 *         # legacy support
 *         if "min_clamped" in kwargs:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_size};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7850, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size, __pyx_t_2) < 0) __PYX_ERR(1, 7850, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":7849
 *         if "format" in kwargs:
 *             self.format = kwargs.pop("format")
 *         if "size" in kwargs:             # <<<<<<<<<<<<<<
 *             self.size = kwargs.pop("size")
 *         # legacy support
 */
  }

  /* "dearcygui/core.pyx":7852
 *             self.size = kwargs.pop("size")
 *         # legacy support
 *         if "min_clamped" in kwargs:             # <<<<<<<<<<<<<<
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_min_clamped, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7852, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7853
 *         # legacy support
 *         if "min_clamped" in kwargs:
 *             if kwargs.pop("min_clamped"):             # <<<<<<<<<<<<<<
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_min_clamped};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7853, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7854
 *         if "min_clamped" in kwargs:
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)             # <<<<<<<<<<<<<<
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 7854, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_v_self->_min = __pyx_t_6;

      /* "dearcygui/core.pyx":7853
 *         # legacy support
 *         if "min_clamped" in kwargs:
 *             if kwargs.pop("min_clamped"):             # <<<<<<<<<<<<<<
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:
 */
    }

    /* "dearcygui/core.pyx":7852
 *             self.size = kwargs.pop("size")
 *         # legacy support
 *         if "min_clamped" in kwargs:             # <<<<<<<<<<<<<<
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)
 */
  }

  /* "dearcygui/core.pyx":7855
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:             # <<<<<<<<<<<<<<
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_max_clamped, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7855, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7856
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):             # <<<<<<<<<<<<<<
 *                 self._max = kwargs.pop("maxv", 100.)
 *         if "minv" in kwargs:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_n_u_max_clamped};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7856, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7856, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7857
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)             # <<<<<<<<<<<<<<
 *         if "minv" in kwargs:
 *             del kwargs["minv"]
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 7857, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->_max = __pyx_t_6;

      /* "dearcygui/core.pyx":7856
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):             # <<<<<<<<<<<<<<
 *                 self._max = kwargs.pop("maxv", 100.)
 *         if "minv" in kwargs:
 */
    }

    /* "dearcygui/core.pyx":7855
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)
 *         if "max_clamped" in kwargs:             # <<<<<<<<<<<<<<
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)
 */
  }

  /* "dearcygui/core.pyx":7858
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)
 *         if "minv" in kwargs:             # <<<<<<<<<<<<<<
 *             del kwargs["minv"]
 *         if "maxv" in kwargs:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_minv, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7858, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7859
 *                 self._max = kwargs.pop("maxv", 100.)
 *         if "minv" in kwargs:
 *             del kwargs["minv"]             # <<<<<<<<<<<<<<
 *         if "maxv" in kwargs:
 *             del kwargs["maxv"]
 */
    if (unlikely((PyObject_DelItem(__pyx_v_kwargs, __pyx_n_u_minv) < 0))) __PYX_ERR(1, 7859, __pyx_L1_error)

    /* "dearcygui/core.pyx":7858
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)
 *         if "minv" in kwargs:             # <<<<<<<<<<<<<<
 *             del kwargs["minv"]
 *         if "maxv" in kwargs:
 */
  }

  /* "dearcygui/core.pyx":7860
 *         if "minv" in kwargs:
 *             del kwargs["minv"]
 *         if "maxv" in kwargs:             # <<<<<<<<<<<<<<
 *             del kwargs["maxv"]
 *         # baseItem configure will configure the rest.
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_maxv, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7860, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7861
 *             del kwargs["minv"]
 *         if "maxv" in kwargs:
 *             del kwargs["maxv"]             # <<<<<<<<<<<<<<
 *         # baseItem configure will configure the rest.
 *         return super().configure(**kwargs)
 */
    if (unlikely((PyObject_DelItem(__pyx_v_kwargs, __pyx_n_u_maxv) < 0))) __PYX_ERR(1, 7861, __pyx_L1_error)

    /* "dearcygui/core.pyx":7860
 *         if "minv" in kwargs:
 *             del kwargs["minv"]
 *         if "maxv" in kwargs:             # <<<<<<<<<<<<<<
 *             del kwargs["maxv"]
 *         # baseItem configure will configure the rest.
 */
  }

  /* "dearcygui/core.pyx":7863
 *             del kwargs["maxv"]
 *         # baseItem configure will configure the rest.
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_InputValue);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_InputValue);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_InputValue))) __PYX_ERR(1, 7863, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 7863, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_configure); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7844
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.InputValue.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7865
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_6format___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_6format___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7874
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._format == 1:
 *             return "float"
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7875
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:             # <<<<<<<<<<<<<<
 *             return "float"
 *         elif self._format == 0:
 */
  switch (__pyx_v_self->_format) {
    case 1:

    /* "dearcygui/core.pyx":7876
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:
 *             return "float"             # <<<<<<<<<<<<<<
 *         elif self._format == 0:
 *             return "int"
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_float);
    __pyx_r = __pyx_n_u_float;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7875
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._format == 1:             # <<<<<<<<<<<<<<
 *             return "float"
 *         elif self._format == 0:
 */
    break;
    case 0:

    /* "dearcygui/core.pyx":7878
 *             return "float"
 *         elif self._format == 0:
 *             return "int"             # <<<<<<<<<<<<<<
 *         return "double"
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_n_u_int);
    __pyx_r = __pyx_n_u_int;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7877
 *         if self._format == 1:
 *             return "float"
 *         elif self._format == 0:             # <<<<<<<<<<<<<<
 *             return "int"
 *         return "double"
 */
    break;
    default: break;
  }

  /* "dearcygui/core.pyx":7879
 *         elif self._format == 0:
 *             return "int"
 *         return "double"             # <<<<<<<<<<<<<<
 * 
 *     @format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_n_u_double);
  __pyx_r = __pyx_n_u_double;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7865
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7881
 *         return "double"
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 7882, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_6format_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_6format_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_target_format;
  PyObject *__pyx_v_previous_value = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  std::string __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7884
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int target_format
 *         if value == "int":
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7886
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int target_format
 *         if value == "int":             # <<<<<<<<<<<<<<
 *             target_format = 0
 *         elif value == "float":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_int, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7886, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7887
 *         cdef int target_format
 *         if value == "int":
 *             target_format = 0             # <<<<<<<<<<<<<<
 *         elif value == "float":
 *             target_format = 1
 */
    __pyx_v_target_format = 0;

    /* "dearcygui/core.pyx":7886
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int target_format
 *         if value == "int":             # <<<<<<<<<<<<<<
 *             target_format = 0
 *         elif value == "float":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":7888
 *         if value == "int":
 *             target_format = 0
 *         elif value == "float":             # <<<<<<<<<<<<<<
 *             target_format = 1
 *         elif value == "double":
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_float, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7888, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7889
 *             target_format = 0
 *         elif value == "float":
 *             target_format = 1             # <<<<<<<<<<<<<<
 *         elif value == "double":
 *             target_format = 2
 */
    __pyx_v_target_format = 1;

    /* "dearcygui/core.pyx":7888
 *         if value == "int":
 *             target_format = 0
 *         elif value == "float":             # <<<<<<<<<<<<<<
 *             target_format = 1
 *         elif value == "double":
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":7890
 *         elif value == "float":
 *             target_format = 1
 *         elif value == "double":             # <<<<<<<<<<<<<<
 *             target_format = 2
 *         else:
 */
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_n_u_double, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 7890, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7891
 *             target_format = 1
 *         elif value == "double":
 *             target_format = 2             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 */
    __pyx_v_target_format = 2;

    /* "dearcygui/core.pyx":7890
 *         elif value == "float":
 *             target_format = 1
 *         elif value == "double":             # <<<<<<<<<<<<<<
 *             target_format = 2
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":7893
 *             target_format = 2
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")             # <<<<<<<<<<<<<<
 *         if target_format == self._format:
 *             return
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_int_float_or_double_Got, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 7893, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":7894
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:             # <<<<<<<<<<<<<<
 *             return
 *         self._format = target_format
 */
  __pyx_t_1 = (__pyx_v_target_format == __pyx_v_self->_format);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7895
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:
 *             return             # <<<<<<<<<<<<<<
 *         self._format = target_format
 *         # Allocate a new value of the right type
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7894
 *         else:
 *             raise ValueError(f"Expected 'int', 'float' or 'double'. Got {value}")
 *         if target_format == self._format:             # <<<<<<<<<<<<<<
 *             return
 *         self._format = target_format
 */
  }

  /* "dearcygui/core.pyx":7896
 *         if target_format == self._format:
 *             return
 *         self._format = target_format             # <<<<<<<<<<<<<<
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 */
  __pyx_v_self->_format = __pyx_v_target_format;

  /* "dearcygui/core.pyx":7898
 *         self._format = target_format
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us             # <<<<<<<<<<<<<<
 *         if self._size == 1:
 *             if target_format == 0:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_previous_value = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":7899
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
  __pyx_t_1 = (__pyx_v_self->_size == 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7900
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7901
 *         if self._size == 1:
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))             # <<<<<<<<<<<<<<
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7901, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7901, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7900
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":7902
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7903
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7903, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7903, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7902
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":7905
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))             # <<<<<<<<<<<<<<
 *         else:
 *             if target_format == 0:
 */
    /*else*/ {
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7905, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7905, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7905, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;
    }
    __pyx_L6:;

    /* "dearcygui/core.pyx":7899
 *         # Allocate a new value of the right type
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":7907
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *         else:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 */
  /*else*/ {
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7908
 *         else:
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))             # <<<<<<<<<<<<<<
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7908, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7908, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7908, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7907
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *         else:
 *             if target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 */
      goto __pyx_L7;
    }

    /* "dearcygui/core.pyx":7909
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
    __pyx_t_1 = (__pyx_v_target_format == 0);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":7910
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 */
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7910, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7910, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7910, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "dearcygui/core.pyx":7909
 *             if target_format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif target_format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
      goto __pyx_L7;
    }

    /* "dearcygui/core.pyx":7912
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))             # <<<<<<<<<<<<<<
 *         self.value = previous_value # Use property to pass through python for the conversion
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 */
    /*else*/ {
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7912, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7912, __pyx_L1_error);
      __pyx_t_3 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble4), __pyx_t_2, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7912, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GIVEREF(__pyx_t_2);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2);
      __pyx_t_2 = 0;
    }
    __pyx_L7:;
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":7913
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *         self.value = previous_value # Use property to pass through python for the conversion             # <<<<<<<<<<<<<<
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_v_previous_value) < 0) __PYX_ERR(1, 7913, __pyx_L1_error)

  /* "dearcygui/core.pyx":7914
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *         self.value = previous_value # Use property to pass through python for the conversion
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = (__pyx_v_target_format == 0);
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7914, __pyx_L1_error)
    __pyx_t_4 = __pyx_t_5;
  } else {
    __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_3f); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7914, __pyx_L1_error)
    __pyx_t_4 = __pyx_t_5;
  }
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

  /* "dearcygui/core.pyx":7881
 *         return "double"
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.InputValue.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_previous_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7916
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_4size___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4size___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7927
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._size
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7928
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._size             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7916
 *         self._print_format = b"%d" if target_format == 0 else b"%.3f"
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7931
 * 
 * 
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_target_size); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_target_size) {
  int __pyx_v_target_size;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_target_size); {
    __pyx_v_target_size = __Pyx_PyInt_As_int(__pyx_arg_target_size); if (unlikely((__pyx_v_target_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7932, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_4size_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_target_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_4size_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_target_size) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_previous_value = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":7934
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7935
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 */
  __pyx_t_2 = (__pyx_v_target_size < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_target_size > 4);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":7936
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")             # <<<<<<<<<<<<<<
 *         if self._size == target_size:
 *             return
 */
    __pyx_t_3 = __Pyx_PyUnicode_From_int(__pyx_v_target_size, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 7936, __pyx_L1_error)

    /* "dearcygui/core.pyx":7935
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if target_size < 0 or target_size > 4:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 */
  }

  /* "dearcygui/core.pyx":7937
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:             # <<<<<<<<<<<<<<
 *             return
 *         if (self._size > 1 and target_size > 1):
 */
  __pyx_t_1 = (__pyx_v_self->_size == __pyx_v_target_size);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7938
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:
 *             return             # <<<<<<<<<<<<<<
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7937
 *         if target_size < 0 or target_size > 4:
 *             raise ValueError(f"Expected 1, 2, 3, or 4 for size. Got {target_size}")
 *         if self._size == target_size:             # <<<<<<<<<<<<<<
 *             return
 *         if (self._size > 1 and target_size > 1):
 */
  }

  /* "dearcygui/core.pyx":7939
 *         if self._size == target_size:
 *             return
 *         if (self._size > 1 and target_size > 1):             # <<<<<<<<<<<<<<
 *             self._size = target_size
 *             return
 */
  __pyx_t_2 = (__pyx_v_self->_size > 1);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_target_size > 1);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7940
 *             return
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size             # <<<<<<<<<<<<<<
 *             return
 *         # Reallocate the internal vector
 */
    __pyx_v_self->_size = __pyx_v_target_size;

    /* "dearcygui/core.pyx":7941
 *         if (self._size > 1 and target_size > 1):
 *             self._size = target_size
 *             return             # <<<<<<<<<<<<<<
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":7939
 *         if self._size == target_size:
 *             return
 *         if (self._size > 1 and target_size > 1):             # <<<<<<<<<<<<<<
 *             self._size = target_size
 *             return
 */
  }

  /* "dearcygui/core.pyx":7943
 *             return
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us             # <<<<<<<<<<<<<<
 *         if target_size == 1:
 *             if self._format == 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_previous_value = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":7944
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
  __pyx_t_1 = (__pyx_v_target_size == 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":7945
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":7946
 *         if target_size == 1:
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7946, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7946, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7946, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":7945
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":7948
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7948, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7948, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":7947
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 */
      break;
      default:

      /* "dearcygui/core.pyx":7950
 *                 self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))             # <<<<<<<<<<<<<<
 *             self.value = previous_value[0]
 *         else:
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7950, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7950, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;
      break;
    }

    /* "dearcygui/core.pyx":7951
 *             else:
 *                 self._value = <SharedValue>(SharedDouble.__new__(SharedDouble, self.context))
 *             self.value = previous_value[0]             # <<<<<<<<<<<<<<
 *         else:
 *             if self._format == 0:
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_previous_value, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_t_3) < 0) __PYX_ERR(1, 7951, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":7944
 *         # Reallocate the internal vector
 *         previous_value = self.value # Pass though the property to do the conversion for us
 *         if target_size == 1:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt.__new__(SharedInt, self.context))
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":7953
 *             self.value = previous_value[0]
 *         else:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 */
  /*else*/ {

    /* "dearcygui/core.pyx":7955
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":7954
 *         else:
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7954, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedInt4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedInt4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7954, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":7953
 *             self.value = previous_value[0]
 *         else:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":7956
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))             # <<<<<<<<<<<<<<
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7956, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7956, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7956, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;

      /* "dearcygui/core.pyx":7955
 *             if self._format == 0:
 *                 self._value = <SharedValue>(SharedInt4.__new__(SharedInt4, self.context))
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 */
      break;
      default:

      /* "dearcygui/core.pyx":7958
 *                 self._value = <SharedValue>(SharedFloat4.__new__(SharedFloat4, self.context))
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))             # <<<<<<<<<<<<<<
 *             self.value = (previous_value, 0, 0, 0)
 *         self._size = target_size
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 7958, __pyx_L1_error);
      __pyx_t_4 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedDouble4(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedDouble4), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7958, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
      __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_3);
      __pyx_t_3 = 0;
      break;
    }

    /* "dearcygui/core.pyx":7959
 *             else:
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *             self.value = (previous_value, 0, 0, 0)             # <<<<<<<<<<<<<<
 *         self._size = target_size
 * 
 */
    __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_previous_value);
    __Pyx_GIVEREF(__pyx_v_previous_value);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_previous_value)) __PYX_ERR(1, 7959, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0)) __PYX_ERR(1, 7959, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_0)) __PYX_ERR(1, 7959, __pyx_L1_error);
    __Pyx_INCREF(__pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_int_0)) __PYX_ERR(1, 7959, __pyx_L1_error);
    if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value, __pyx_t_3) < 0) __PYX_ERR(1, 7959, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L10:;

  /* "dearcygui/core.pyx":7960
 *                 self._value = <SharedValue>(SharedDouble4.__new__(SharedDouble4, self.context))
 *             self.value = (previous_value, 0, 0, 0)
 *         self._size = target_size             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_size = __pyx_v_target_size;

  /* "dearcygui/core.pyx":7931
 * 
 * 
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, int target_size):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.InputValue.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_previous_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7962
 *         self._size = target_size
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def step(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_4step_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_4step_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_4step___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4step___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7968
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._step
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7969
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._step             # <<<<<<<<<<<<<<
 * 
 *     @step.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7962
 *         self._size = target_size
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def step(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7971
 *         return self._step
 * 
 *     @step.setter             # <<<<<<<<<<<<<<
 *     def step(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_4step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_4step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 7972, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_4step_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_4step_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7974
 *     def step(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._step = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7975
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._step = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_step = __pyx_v_value;

  /* "dearcygui/core.pyx":7971
 *         return self._step
 * 
 *     @step.setter             # <<<<<<<<<<<<<<
 *     def step(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7977
 *         self._step = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def step_fast(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9step_fast_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9step_fast_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9step_fast___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9step_fast___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7983
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._step_fast
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7984
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._step_fast             # <<<<<<<<<<<<<<
 * 
 *     @step_fast.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_step_fast); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7977
 *         self._step = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def step_fast(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.step_fast.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":7986
 *         return self._step_fast
 * 
 *     @step_fast.setter             # <<<<<<<<<<<<<<
 *     def step_fast(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_9step_fast_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_9step_fast_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 7987, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.step_fast.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9step_fast_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_9step_fast_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":7989
 *     def step_fast(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._step_fast = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":7990
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._step_fast = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_step_fast = __pyx_v_value;

  /* "dearcygui/core.pyx":7986
 *         return self._step_fast
 * 
 *     @step_fast.setter             # <<<<<<<<<<<<<<
 *     def step_fast(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":7992
 *         self._step_fast = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9min_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9min_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9min_value___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9min_value___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":7999
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8000
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._min             # <<<<<<<<<<<<<<
 * 
 *     @min_value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":7992
 *         self._step_fast = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_value(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.min_value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8002
 *         return self._min
 * 
 *     @min_value.setter             # <<<<<<<<<<<<<<
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_9min_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_9min_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 8003, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.min_value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9min_value_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_9min_value_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8005
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._min = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8006
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._min = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_min = __pyx_v_value;

  /* "dearcygui/core.pyx":8002
 *         return self._min
 * 
 *     @min_value.setter             # <<<<<<<<<<<<<<
 *     def min_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8008
 *         self._min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_value(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9max_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_9max_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9max_value___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_9max_value___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8015
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8016
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._max             # <<<<<<<<<<<<<<
 * 
 *     @max_value.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8008
 *         self._min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_value(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.max_value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8018
 *         return self._max
 * 
 *     @max_value.setter             # <<<<<<<<<<<<<<
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_9max_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_9max_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 8019, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.max_value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_9max_value_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_9max_value_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8021
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._max = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8022
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._max = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_max = __pyx_v_value;

  /* "dearcygui/core.pyx":8018
 *         return self._max
 * 
 *     @max_value.setter             # <<<<<<<<<<<<<<
 *     def max_value(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8024
 *         self._max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def print_format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_12print_format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_12print_format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_12print_format___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_12print_format___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8034
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8035
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(bytes(self._print_format), encoding="utf-8")             # <<<<<<<<<<<<<<
 * 
 *     @print_format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_print_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2)) __PYX_ERR(1, 8035, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 8035, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8024
 *         self._max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def print_format(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.InputValue.print_format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8037
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 *     @print_format.setter             # <<<<<<<<<<<<<<
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_12print_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_12print_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 8038, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_12print_format_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_12print_format_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8040
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._print_format = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8041
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._print_format = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 8041, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 8041, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_print_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":8037
 *         return str(bytes(self._print_format), encoding="utf-8")
 * 
 *     @print_format.setter             # <<<<<<<<<<<<<<
 *     def print_format(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.InputValue.print_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8043
 *         self._print_format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decimal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_7decimal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_7decimal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_7decimal___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_7decimal___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8049
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8050
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @decimal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsDecimal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8043
 *         self._print_format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def decimal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.decimal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8052
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 *     @decimal.setter             # <<<<<<<<<<<<<<
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_7decimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_7decimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8053, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.decimal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_7decimal_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_7decimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8055
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8056
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsDecimal));

  /* "dearcygui/core.pyx":8057
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8058
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsDecimal);

    /* "dearcygui/core.pyx":8057
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsDecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 */
  }

  /* "dearcygui/core.pyx":8052
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsDecimal) != 0
 * 
 *     @decimal.setter             # <<<<<<<<<<<<<<
 *     def decimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8060
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hexadecimal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8066
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8067
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @hexadecimal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsHexadecimal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8060
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsDecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hexadecimal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.hexadecimal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8069
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 *     @hexadecimal.setter             # <<<<<<<<<<<<<<
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8070, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.hexadecimal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_11hexadecimal_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8072
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8073
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsHexadecimal));

  /* "dearcygui/core.pyx":8074
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8075
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsHexadecimal);

    /* "dearcygui/core.pyx":8074
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsHexadecimal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 */
  }

  /* "dearcygui/core.pyx":8069
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsHexadecimal) != 0
 * 
 *     @hexadecimal.setter             # <<<<<<<<<<<<<<
 *     def hexadecimal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8077
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scientific(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_10scientific_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_10scientific_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_10scientific___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_10scientific___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8083
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8084
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0             # <<<<<<<<<<<<<<
 * 
 *     @scientific.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_CharsScientific) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8077
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsHexadecimal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scientific(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.scientific.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8086
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 *     @scientific.setter             # <<<<<<<<<<<<<<
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_10scientific_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_10scientific_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8087, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.scientific.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_10scientific_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_10scientific_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8089
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8090
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_CharsScientific));

  /* "dearcygui/core.pyx":8091
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8092
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_CharsScientific);

    /* "dearcygui/core.pyx":8091
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_CharsScientific
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 */
  }

  /* "dearcygui/core.pyx":8086
 *         return (self.flags & imgui.ImGuiInputTextFlags_CharsScientific) != 0
 * 
 *     @scientific.setter             # <<<<<<<<<<<<<<
 *     def scientific(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8094
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_enter(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8on_enter_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8on_enter_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8on_enter___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8on_enter___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8101
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8102
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0             # <<<<<<<<<<<<<<
 * 
 *     @on_enter.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_EnterReturnsTrue) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8094
 *             self.flags |= imgui.ImGuiInputTextFlags_CharsScientific
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_enter(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.on_enter.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8104
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 *     @on_enter.setter             # <<<<<<<<<<<<<<
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_8on_enter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_8on_enter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8105, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.on_enter.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8on_enter_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_8on_enter_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8107
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8108
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_EnterReturnsTrue));

  /* "dearcygui/core.pyx":8109
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8110
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_EnterReturnsTrue);

    /* "dearcygui/core.pyx":8109
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EnterReturnsTrue
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 */
  }

  /* "dearcygui/core.pyx":8104
 *         return (self.flags & imgui.ImGuiInputTextFlags_EnterReturnsTrue) != 0
 * 
 *     @on_enter.setter             # <<<<<<<<<<<<<<
 *     def on_enter(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8112
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8120
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8121
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @escape_clears_all.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_EscapeClearsAll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8112
 *             self.flags |= imgui.ImGuiInputTextFlags_EnterReturnsTrue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.escape_clears_all.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8123
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 *     @escape_clears_all.setter             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8124, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.escape_clears_all.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_17escape_clears_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8126
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8127
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_EscapeClearsAll));

  /* "dearcygui/core.pyx":8128
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8129
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_EscapeClearsAll);

    /* "dearcygui/core.pyx":8128
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_EscapeClearsAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 */
  }

  /* "dearcygui/core.pyx":8123
 *         return (self.flags & imgui.ImGuiInputTextFlags_EscapeClearsAll) != 0
 * 
 *     @escape_clears_all.setter             # <<<<<<<<<<<<<<
 *     def escape_clears_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8131
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def readonly(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8readonly_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8readonly_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8readonly___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8readonly___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8137
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8138
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0             # <<<<<<<<<<<<<<
 * 
 *     @readonly.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_ReadOnly) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8131
 *             self.flags |= imgui.ImGuiInputTextFlags_EscapeClearsAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def readonly(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.readonly.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8140
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 *     @readonly.setter             # <<<<<<<<<<<<<<
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_8readonly_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_8readonly_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8141, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.readonly.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8readonly_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_8readonly_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8143
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8144
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_ReadOnly));

  /* "dearcygui/core.pyx":8145
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8146
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_ReadOnly);

    /* "dearcygui/core.pyx":8145
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ReadOnly
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 */
  }

  /* "dearcygui/core.pyx":8140
 *         return (self.flags & imgui.ImGuiInputTextFlags_ReadOnly) != 0
 * 
 *     @readonly.setter             # <<<<<<<<<<<<<<
 *     def readonly(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8148
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def password(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8password_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_8password_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8password___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_8password___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8154
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8155
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0             # <<<<<<<<<<<<<<
 * 
 *     @password.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_Password) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8148
 *             self.flags |= imgui.ImGuiInputTextFlags_ReadOnly
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def password(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.password.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8157
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 *     @password.setter             # <<<<<<<<<<<<<<
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8158, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.password.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_8password_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_8password_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8160
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8161
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_Password));

  /* "dearcygui/core.pyx":8162
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8163
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_Password             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_Password);

    /* "dearcygui/core.pyx":8162
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_Password
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 */
  }

  /* "dearcygui/core.pyx":8157
 *         return (self.flags & imgui.ImGuiInputTextFlags_Password) != 0
 * 
 *     @password.setter             # <<<<<<<<<<<<<<
 *     def password(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8165
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_overwrite(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8171
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8172
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0             # <<<<<<<<<<<<<<
 * 
 *     @always_overwrite.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_AlwaysOverwrite) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8165
 *             self.flags |= imgui.ImGuiInputTextFlags_Password
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_overwrite(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.always_overwrite.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8174
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 *     @always_overwrite.setter             # <<<<<<<<<<<<<<
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8175, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.always_overwrite.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_16always_overwrite_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8177
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8178
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_AlwaysOverwrite));

  /* "dearcygui/core.pyx":8179
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8180
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_AlwaysOverwrite);

    /* "dearcygui/core.pyx":8179
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AlwaysOverwrite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 */
  }

  /* "dearcygui/core.pyx":8174
 *         return (self.flags & imgui.ImGuiInputTextFlags_AlwaysOverwrite) != 0
 * 
 *     @always_overwrite.setter             # <<<<<<<<<<<<<<
 *     def always_overwrite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8182
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_select_all(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8188
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8189
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @auto_select_all.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_AutoSelectAll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8182
 *             self.flags |= imgui.ImGuiInputTextFlags_AlwaysOverwrite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_select_all(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.auto_select_all.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8191
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 *     @auto_select_all.setter             # <<<<<<<<<<<<<<
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8192, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.auto_select_all.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_15auto_select_all_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8194
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8195
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_AutoSelectAll));

  /* "dearcygui/core.pyx":8196
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8197
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_AutoSelectAll);

    /* "dearcygui/core.pyx":8196
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_AutoSelectAll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 */
  }

  /* "dearcygui/core.pyx":8191
 *         return (self.flags & imgui.ImGuiInputTextFlags_AutoSelectAll) != 0
 * 
 *     @auto_select_all.setter             # <<<<<<<<<<<<<<
 *     def auto_select_all(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8199
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def empty_as_zero(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8205
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_ParseEmptyRefVal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8206
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_ParseEmptyRefVal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @empty_as_zero.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_ParseEmptyRefVal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8199
 *             self.flags |= imgui.ImGuiInputTextFlags_AutoSelectAll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def empty_as_zero(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.empty_as_zero.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8208
 *         return (self.flags & imgui.ImGuiInputTextFlags_ParseEmptyRefVal) != 0
 * 
 *     @empty_as_zero.setter             # <<<<<<<<<<<<<<
 *     def empty_as_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8209, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.empty_as_zero.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_13empty_as_zero_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8211
 *     def empty_as_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8212
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ParseEmptyRefVal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_ParseEmptyRefVal));

  /* "dearcygui/core.pyx":8213
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8214
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_ParseEmptyRefVal);

    /* "dearcygui/core.pyx":8213
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 * 
 */
  }

  /* "dearcygui/core.pyx":8208
 *         return (self.flags & imgui.ImGuiInputTextFlags_ParseEmptyRefVal) != 0
 * 
 *     @empty_as_zero.setter             # <<<<<<<<<<<<<<
 *     def empty_as_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8216
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def empty_if_zero(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8222
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_DisplayEmptyRefVal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8223
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_DisplayEmptyRefVal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @empty_if_zero.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_DisplayEmptyRefVal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8216
 *             self.flags |= imgui.ImGuiInputTextFlags_ParseEmptyRefVal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def empty_if_zero(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.empty_if_zero.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8225
 *         return (self.flags & imgui.ImGuiInputTextFlags_DisplayEmptyRefVal) != 0
 * 
 *     @empty_if_zero.setter             # <<<<<<<<<<<<<<
 *     def empty_if_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8226, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.empty_if_zero.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_13empty_if_zero_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8228
 *     def empty_if_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8229
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_DisplayEmptyRefVal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_DisplayEmptyRefVal));

  /* "dearcygui/core.pyx":8230
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8231
 *         self.flags &= ~imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_DisplayEmptyRefVal);

    /* "dearcygui/core.pyx":8230
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 * 
 */
  }

  /* "dearcygui/core.pyx":8225
 *         return (self.flags & imgui.ImGuiInputTextFlags_DisplayEmptyRefVal) != 0
 * 
 *     @empty_if_zero.setter             # <<<<<<<<<<<<<<
 *     def empty_if_zero(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8233
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8239
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8240
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_horizontal_scroll.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_NoHorizontalScroll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8233
 *             self.flags |= imgui.ImGuiInputTextFlags_DisplayEmptyRefVal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.no_horizontal_scroll.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8242
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 *     @no_horizontal_scroll.setter             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8243, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.no_horizontal_scroll.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_20no_horizontal_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8245
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8246
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_NoHorizontalScroll));

  /* "dearcygui/core.pyx":8247
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8248
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_NoHorizontalScroll);

    /* "dearcygui/core.pyx":8247
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoHorizontalScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 */
  }

  /* "dearcygui/core.pyx":8242
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoHorizontalScroll) != 0
 * 
 *     @no_horizontal_scroll.setter             # <<<<<<<<<<<<<<
 *     def no_horizontal_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8250
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo___get__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo___get__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8256
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8257
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_undo_redo.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiInputTextFlags_NoUndoRedo) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8250
 *             self.flags |= imgui.ImGuiInputTextFlags_NoHorizontalScroll
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.InputValue.no_undo_redo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8259
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 *     @no_undo_redo.setter             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8260, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.no_undo_redo.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo_2__set__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10InputValue_12no_undo_redo_2__set__(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8262
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8263
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiInputTextFlags_NoUndoRedo));

  /* "dearcygui/core.pyx":8264
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8265
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiInputTextFlags_NoUndoRedo);

    /* "dearcygui/core.pyx":8264
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiInputTextFlags_NoUndoRedo
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 */
  }

  /* "dearcygui/core.pyx":8259
 *         return (self.flags & imgui.ImGuiInputTextFlags_NoUndoRedo) != 0
 * 
 *     @no_undo_redo.setter             # <<<<<<<<<<<<<<
 *     def no_undo_redo(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8267
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         if not(self._enabled):
 */

static int __pyx_f_9dearcygui_4core_10InputValue_draw_item(struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  ImGuiInputTextFlags __pyx_v_flags;
  ImGuiDataType __pyx_v_type;
  int __pyx_v_value_int;
  float __pyx_v_value_float;
  double __pyx_v_value_double;
  int __pyx_v_value_int4[4];
  float __pyx_v_value_float4[4];
  double __pyx_v_value_double4[4];
  void *__pyx_v_data;
  void *__pyx_v_data_step;
  void *__pyx_v_data_step_fast;
  int __pyx_v_modified;
  int __pyx_v_istep;
  int __pyx_v_istep_fast;
  float __pyx_v_fstep;
  float __pyx_v_fstep_fast;
  double __pyx_v_dstep;
  double __pyx_v_dstep_fast;
  int __pyx_r;
  ImGuiInputTextFlags __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":8268
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":8269
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         cdef imgui.ImGuiDataType type
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":8270
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiDataType type
 *         cdef int value_int
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiInputTextFlags_ReadOnly);

    /* "dearcygui/core.pyx":8269
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiInputTextFlags_ReadOnly
 *         cdef imgui.ImGuiDataType type
 */
  }

  /* "dearcygui/core.pyx":8279
 *         cdef double[4] value_double4
 *         cdef void *data
 *         cdef void *data_step = NULL             # <<<<<<<<<<<<<<
 *         cdef void *data_step_fast = NULL
 *         cdef bint modified
 */
  __pyx_v_data_step = NULL;

  /* "dearcygui/core.pyx":8280
 *         cdef void *data
 *         cdef void *data_step = NULL
 *         cdef void *data_step_fast = NULL             # <<<<<<<<<<<<<<
 *         cdef bint modified
 *         cdef int istep, istep_fast
 */
  __pyx_v_data_step_fast = NULL;

  /* "dearcygui/core.pyx":8286
 *         cdef double dstep, dstep_fast
 *         # Prepare data type
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_S32
 *             istep = <int>self._step
 */
  switch (__pyx_v_self->_format) {
    case 0:

    /* "dearcygui/core.pyx":8287
 *         # Prepare data type
 *         if self._format == 0:
 *             type = imgui.ImGuiDataType_S32             # <<<<<<<<<<<<<<
 *             istep = <int>self._step
 *             istep_fast = <int>self._step_fast
 */
    __pyx_v_type = ImGuiDataType_S32;

    /* "dearcygui/core.pyx":8288
 *         if self._format == 0:
 *             type = imgui.ImGuiDataType_S32
 *             istep = <int>self._step             # <<<<<<<<<<<<<<
 *             istep_fast = <int>self._step_fast
 *             if istep > 0:
 */
    __pyx_v_istep = ((int)__pyx_v_self->_step);

    /* "dearcygui/core.pyx":8289
 *             type = imgui.ImGuiDataType_S32
 *             istep = <int>self._step
 *             istep_fast = <int>self._step_fast             # <<<<<<<<<<<<<<
 *             if istep > 0:
 *                 data_step = &istep
 */
    __pyx_v_istep_fast = ((int)__pyx_v_self->_step_fast);

    /* "dearcygui/core.pyx":8290
 *             istep = <int>self._step
 *             istep_fast = <int>self._step_fast
 *             if istep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &istep
 *             if istep_fast > 0:
 */
    __pyx_t_2 = (__pyx_v_istep > 0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8291
 *             istep_fast = <int>self._step_fast
 *             if istep > 0:
 *                 data_step = &istep             # <<<<<<<<<<<<<<
 *             if istep_fast > 0:
 *                 data_step_fast = &istep_fast
 */
      __pyx_v_data_step = (&__pyx_v_istep);

      /* "dearcygui/core.pyx":8290
 *             istep = <int>self._step
 *             istep_fast = <int>self._step_fast
 *             if istep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &istep
 *             if istep_fast > 0:
 */
    }

    /* "dearcygui/core.pyx":8292
 *             if istep > 0:
 *                 data_step = &istep
 *             if istep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &istep_fast
 *         elif self._format == 1:
 */
    __pyx_t_2 = (__pyx_v_istep_fast > 0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8293
 *                 data_step = &istep
 *             if istep_fast > 0:
 *                 data_step_fast = &istep_fast             # <<<<<<<<<<<<<<
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float
 */
      __pyx_v_data_step_fast = (&__pyx_v_istep_fast);

      /* "dearcygui/core.pyx":8292
 *             if istep > 0:
 *                 data_step = &istep
 *             if istep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &istep_fast
 *         elif self._format == 1:
 */
    }

    /* "dearcygui/core.pyx":8286
 *         cdef double dstep, dstep_fast
 *         # Prepare data type
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_S32
 *             istep = <int>self._step
 */
    break;
    case 1:

    /* "dearcygui/core.pyx":8295
 *                 data_step_fast = &istep_fast
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float             # <<<<<<<<<<<<<<
 *             fstep = <float>self._step
 *             fstep_fast = <float>self._step_fast
 */
    __pyx_v_type = ImGuiDataType_Float;

    /* "dearcygui/core.pyx":8296
 *         elif self._format == 1:
 *             type = imgui.ImGuiDataType_Float
 *             fstep = <float>self._step             # <<<<<<<<<<<<<<
 *             fstep_fast = <float>self._step_fast
 *             if fstep > 0:
 */
    __pyx_v_fstep = ((float)__pyx_v_self->_step);

    /* "dearcygui/core.pyx":8297
 *             type = imgui.ImGuiDataType_Float
 *             fstep = <float>self._step
 *             fstep_fast = <float>self._step_fast             # <<<<<<<<<<<<<<
 *             if fstep > 0:
 *                 data_step = &fstep
 */
    __pyx_v_fstep_fast = ((float)__pyx_v_self->_step_fast);

    /* "dearcygui/core.pyx":8298
 *             fstep = <float>self._step
 *             fstep_fast = <float>self._step_fast
 *             if fstep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &fstep
 *             if fstep_fast > 0:
 */
    __pyx_t_2 = (__pyx_v_fstep > 0.0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8299
 *             fstep_fast = <float>self._step_fast
 *             if fstep > 0:
 *                 data_step = &fstep             # <<<<<<<<<<<<<<
 *             if fstep_fast > 0:
 *                 data_step_fast = &fstep_fast
 */
      __pyx_v_data_step = (&__pyx_v_fstep);

      /* "dearcygui/core.pyx":8298
 *             fstep = <float>self._step
 *             fstep_fast = <float>self._step_fast
 *             if fstep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &fstep
 *             if fstep_fast > 0:
 */
    }

    /* "dearcygui/core.pyx":8300
 *             if fstep > 0:
 *                 data_step = &fstep
 *             if fstep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &fstep_fast
 *         else:
 */
    __pyx_t_2 = (__pyx_v_fstep_fast > 0.0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8301
 *                 data_step = &fstep
 *             if fstep_fast > 0:
 *                 data_step_fast = &fstep_fast             # <<<<<<<<<<<<<<
 *         else:
 *             type = imgui.ImGuiDataType_Double
 */
      __pyx_v_data_step_fast = (&__pyx_v_fstep_fast);

      /* "dearcygui/core.pyx":8300
 *             if fstep > 0:
 *                 data_step = &fstep
 *             if fstep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &fstep_fast
 *         else:
 */
    }

    /* "dearcygui/core.pyx":8294
 *             if istep_fast > 0:
 *                 data_step_fast = &istep_fast
 *         elif self._format == 1:             # <<<<<<<<<<<<<<
 *             type = imgui.ImGuiDataType_Float
 *             fstep = <float>self._step
 */
    break;
    default:

    /* "dearcygui/core.pyx":8303
 *                 data_step_fast = &fstep_fast
 *         else:
 *             type = imgui.ImGuiDataType_Double             # <<<<<<<<<<<<<<
 *             dstep = <double>self._step
 *             dstep_fast = <double>self._step_fast
 */
    __pyx_v_type = ImGuiDataType_Double;

    /* "dearcygui/core.pyx":8304
 *         else:
 *             type = imgui.ImGuiDataType_Double
 *             dstep = <double>self._step             # <<<<<<<<<<<<<<
 *             dstep_fast = <double>self._step_fast
 *             if dstep > 0:
 */
    __pyx_v_dstep = ((double)__pyx_v_self->_step);

    /* "dearcygui/core.pyx":8305
 *             type = imgui.ImGuiDataType_Double
 *             dstep = <double>self._step
 *             dstep_fast = <double>self._step_fast             # <<<<<<<<<<<<<<
 *             if dstep > 0:
 *                 data_step = &dstep
 */
    __pyx_v_dstep_fast = ((double)__pyx_v_self->_step_fast);

    /* "dearcygui/core.pyx":8306
 *             dstep = <double>self._step
 *             dstep_fast = <double>self._step_fast
 *             if dstep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &dstep
 *             if dstep_fast > 0:
 */
    __pyx_t_2 = (__pyx_v_dstep > 0.0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8307
 *             dstep_fast = <double>self._step_fast
 *             if dstep > 0:
 *                 data_step = &dstep             # <<<<<<<<<<<<<<
 *             if dstep_fast > 0:
 *                 data_step_fast = &dstep_fast
 */
      __pyx_v_data_step = (&__pyx_v_dstep);

      /* "dearcygui/core.pyx":8306
 *             dstep = <double>self._step
 *             dstep_fast = <double>self._step_fast
 *             if dstep > 0:             # <<<<<<<<<<<<<<
 *                 data_step = &dstep
 *             if dstep_fast > 0:
 */
    }

    /* "dearcygui/core.pyx":8308
 *             if dstep > 0:
 *                 data_step = &dstep
 *             if dstep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &dstep_fast
 * 
 */
    __pyx_t_2 = (__pyx_v_dstep_fast > 0.0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8309
 *                 data_step = &dstep
 *             if dstep_fast > 0:
 *                 data_step_fast = &dstep_fast             # <<<<<<<<<<<<<<
 * 
 *         # Read the value
 */
      __pyx_v_data_step_fast = (&__pyx_v_dstep_fast);

      /* "dearcygui/core.pyx":8308
 *             if dstep > 0:
 *                 data_step = &dstep
 *             if dstep_fast > 0:             # <<<<<<<<<<<<<<
 *                 data_step_fast = &dstep_fast
 * 
 */
    }
    break;
  }

  /* "dearcygui/core.pyx":8312
 * 
 *         # Read the value
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 */
  switch (__pyx_v_self->_format) {
    case 0:

    /* "dearcygui/core.pyx":8313
 *         # Read the value
 *         if self._format == 0:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8314
 *         if self._format == 0:
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_int
 *             else:
 */
      __pyx_v_value_int = __pyx_f_9dearcygui_4core_9SharedInt_get(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":8315
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 */
      __pyx_v_data = (&__pyx_v_value_int);

      /* "dearcygui/core.pyx":8313
 *         # Read the value
 *         if self._format == 0:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 *                 data = &value_int
 */
      goto __pyx_L10;
    }

    /* "dearcygui/core.pyx":8317
 *                 data = &value_int
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)             # <<<<<<<<<<<<<<
 *                 data = &value_int4
 *         elif self._format == 1:
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_10SharedInt4_get(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int4);

      /* "dearcygui/core.pyx":8318
 *             else:
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 *                 data = &value_int4             # <<<<<<<<<<<<<<
 *         elif self._format == 1:
 *             if self._size == 1:
 */
      __pyx_v_data = (&__pyx_v_value_int4);
    }
    __pyx_L10:;

    /* "dearcygui/core.pyx":8312
 * 
 *         # Read the value
 *         if self._format == 0:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_int = SharedInt.get(<SharedInt>self._value)
 */
    break;
    case 1:

    /* "dearcygui/core.pyx":8320
 *                 data = &value_int4
 *         elif self._format == 1:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8321
 *         elif self._format == 1:
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_float
 *             else:
 */
      __pyx_v_value_float = __pyx_f_9dearcygui_4core_11SharedFloat_get(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":8322
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)
 */
      __pyx_v_data = (&__pyx_v_value_float);

      /* "dearcygui/core.pyx":8320
 *                 data = &value_int4
 *         elif self._format == 1:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 *                 data = &value_float
 */
      goto __pyx_L11;
    }

    /* "dearcygui/core.pyx":8324
 *                 data = &value_float
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)             # <<<<<<<<<<<<<<
 *                 data = &value_float4
 *         else:
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_12SharedFloat4_get(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float4);

      /* "dearcygui/core.pyx":8325
 *             else:
 *                 SharedFloat4.get(<SharedFloat4>self._value, value_float4)
 *                 data = &value_float4             # <<<<<<<<<<<<<<
 *         else:
 *             if self._size == 1:
 */
      __pyx_v_data = (&__pyx_v_value_float4);
    }
    __pyx_L11:;

    /* "dearcygui/core.pyx":8319
 *                 SharedInt4.get(<SharedInt4>self._value, value_int4)
 *                 data = &value_int4
 *         elif self._format == 1:             # <<<<<<<<<<<<<<
 *             if self._size == 1:
 *                 value_float = SharedFloat.get(<SharedFloat>self._value)
 */
    break;
    default:

    /* "dearcygui/core.pyx":8327
 *                 data = &value_float4
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double
 */
    __pyx_t_2 = (__pyx_v_self->_size == 1);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":8328
 *         else:
 *             if self._size == 1:
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)             # <<<<<<<<<<<<<<
 *                 data = &value_double
 *             else:
 */
      __pyx_v_value_double = __pyx_f_9dearcygui_4core_12SharedDouble_get(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base._value));

      /* "dearcygui/core.pyx":8329
 *             if self._size == 1:
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double             # <<<<<<<<<<<<<<
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)
 */
      __pyx_v_data = (&__pyx_v_value_double);

      /* "dearcygui/core.pyx":8327
 *                 data = &value_float4
 *         else:
 *             if self._size == 1:             # <<<<<<<<<<<<<<
 *                 value_double = SharedDouble.get(<SharedDouble>self._value)
 *                 data = &value_double
 */
      goto __pyx_L12;
    }

    /* "dearcygui/core.pyx":8331
 *                 data = &value_double
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)             # <<<<<<<<<<<<<<
 *                 data = &value_double4
 * 
 */
    /*else*/ {
      __pyx_f_9dearcygui_4core_13SharedDouble4_get(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double4);

      /* "dearcygui/core.pyx":8332
 *             else:
 *                 SharedDouble4.get(<SharedDouble4>self._value, value_double4)
 *                 data = &value_double4             # <<<<<<<<<<<<<<
 * 
 *         # Draw
 */
      __pyx_v_data = (&__pyx_v_value_double4);
    }
    __pyx_L12:;
    break;
  }

  /* "dearcygui/core.pyx":8335
 * 
 *         # Draw
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             modified = imgui.InputScalar(self.imgui_label.c_str(),
 *                                          type,
 */
  __pyx_t_2 = (__pyx_v_self->_size == 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":8336
 *         # Draw
 *         if self._size == 1:
 *             modified = imgui.InputScalar(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                          type,
 *                                          data,
 */
    __pyx_v_modified = ImGui::InputScalar(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_data_step, __pyx_v_data_step_fast, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);

    /* "dearcygui/core.pyx":8335
 * 
 *         # Draw
 *         if self._size == 1:             # <<<<<<<<<<<<<<
 *             modified = imgui.InputScalar(self.imgui_label.c_str(),
 *                                          type,
 */
    goto __pyx_L13;
  }

  /* "dearcygui/core.pyx":8344
 *                                          flags)
 *         else:
 *             modified = imgui.InputScalarN(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                           type,
 *                                           data,
 */
  /*else*/ {

    /* "dearcygui/core.pyx":8351
 *                                           data_step_fast,
 *                                           self._print_format.c_str(),
 *                                           flags)             # <<<<<<<<<<<<<<
 * 
 *         # Clamp and write the value
 */
    __pyx_v_modified = ImGui::InputScalarN(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_type, __pyx_v_data, __pyx_v_self->_size, __pyx_v_data_step, __pyx_v_data_step_fast, __pyx_v_self->_print_format.c_str(), __pyx_v_flags);
  }
  __pyx_L13:;

  /* "dearcygui/core.pyx":8354
 * 
 *         # Clamp and write the value
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 if self._size == 1:
 */
  if (__pyx_v_self->__pyx_base._enabled) {

    /* "dearcygui/core.pyx":8355
 *         # Clamp and write the value
 *         if self._enabled:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     if modified:
 */
    switch (__pyx_v_self->_format) {
      case 0:

      /* "dearcygui/core.pyx":8356
 *         if self._enabled:
 *             if self._format == 0:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[int](value_int, self._min, self._max)
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":8357
 *             if self._format == 0:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[int](value_int, self._min, self._max)
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 */
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8358
 *                 if self._size == 1:
 *                     if modified:
 *                         clamp1[int](value_int, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 */
          __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp1(__pyx_v_value_int, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8357
 *             if self._format == 0:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[int](value_int, self._min, self._max)
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 */
        }

        /* "dearcygui/core.pyx":8359
 *                     if modified:
 *                         clamp1[int](value_int, self._min, self._max)
 *                     SharedInt.set(<SharedInt>self._value, value_int)             # <<<<<<<<<<<<<<
 *                 else:
 *                     if modified:
 */
        __pyx_f_9dearcygui_4core_9SharedInt_set(((struct __pyx_obj_9dearcygui_4core_SharedInt *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int);

        /* "dearcygui/core.pyx":8356
 *         if self._enabled:
 *             if self._format == 0:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[int](value_int, self._min, self._max)
 */
        goto __pyx_L15;
      }

      /* "dearcygui/core.pyx":8361
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[int](value_int4, self._min, self._max)
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 */
      /*else*/ {
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8362
 *                 else:
 *                     if modified:
 *                         clamp4[int](value_int4, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:
 */
          __pyx_fuse_0__pyx_f_9dearcygui_4core_clamp4(__pyx_v_value_int4, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8361
 *                     SharedInt.set(<SharedInt>self._value, value_int)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[int](value_int4, self._min, self._max)
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 */
        }

        /* "dearcygui/core.pyx":8363
 *                     if modified:
 *                         clamp4[int](value_int4, self._min, self._max)
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)             # <<<<<<<<<<<<<<
 *             elif self._format == 1:
 *                 if self._size == 1:
 */
        __pyx_f_9dearcygui_4core_10SharedInt4_set(((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_int4);
      }
      __pyx_L15:;

      /* "dearcygui/core.pyx":8355
 *         # Clamp and write the value
 *         if self._enabled:
 *             if self._format == 0:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     if modified:
 */
      break;
      case 1:

      /* "dearcygui/core.pyx":8365
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[float](value_float, self._min, self._max)
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":8366
 *             elif self._format == 1:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[float](value_float, self._min, self._max)
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 */
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8367
 *                 if self._size == 1:
 *                     if modified:
 *                         clamp1[float](value_float, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 */
          __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp1(__pyx_v_value_float, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8366
 *             elif self._format == 1:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[float](value_float, self._min, self._max)
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 */
        }

        /* "dearcygui/core.pyx":8368
 *                     if modified:
 *                         clamp1[float](value_float, self._min, self._max)
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)             # <<<<<<<<<<<<<<
 *                 else:
 *                     if modified:
 */
        __pyx_f_9dearcygui_4core_11SharedFloat_set(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float);

        /* "dearcygui/core.pyx":8365
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[float](value_float, self._min, self._max)
 */
        goto __pyx_L18;
      }

      /* "dearcygui/core.pyx":8370
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[float](value_float4, self._min, self._max)
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 */
      /*else*/ {
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8371
 *                 else:
 *                     if modified:
 *                         clamp4[float](value_float4, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 *             else:
 */
          __pyx_fuse_1__pyx_f_9dearcygui_4core_clamp4(__pyx_v_value_float4, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8370
 *                     SharedFloat.set(<SharedFloat>self._value, value_float)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[float](value_float4, self._min, self._max)
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 */
        }

        /* "dearcygui/core.pyx":8372
 *                     if modified:
 *                         clamp4[float](value_float4, self._min, self._max)
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)             # <<<<<<<<<<<<<<
 *             else:
 *                 if self._size == 1:
 */
        __pyx_f_9dearcygui_4core_12SharedFloat4_set(((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_float4);
      }
      __pyx_L18:;

      /* "dearcygui/core.pyx":8364
 *                         clamp4[int](value_int4, self._min, self._max)
 *                     SharedInt4.set(<SharedInt4>self._value, value_int4)
 *             elif self._format == 1:             # <<<<<<<<<<<<<<
 *                 if self._size == 1:
 *                     if modified:
 */
      break;
      default:

      /* "dearcygui/core.pyx":8374
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 *             else:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[double](value_double, self._min, self._max)
 */
      __pyx_t_2 = (__pyx_v_self->_size == 1);
      if (__pyx_t_2) {

        /* "dearcygui/core.pyx":8375
 *             else:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[double](value_double, self._min, self._max)
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 */
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8376
 *                 if self._size == 1:
 *                     if modified:
 *                         clamp1[double](value_double, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 */
          __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp1(__pyx_v_value_double, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8375
 *             else:
 *                 if self._size == 1:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp1[double](value_double, self._min, self._max)
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 */
        }

        /* "dearcygui/core.pyx":8377
 *                     if modified:
 *                         clamp1[double](value_double, self._min, self._max)
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)             # <<<<<<<<<<<<<<
 *                 else:
 *                     if modified:
 */
        __pyx_f_9dearcygui_4core_12SharedDouble_set(((struct __pyx_obj_9dearcygui_4core_SharedDouble *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double);

        /* "dearcygui/core.pyx":8374
 *                     SharedFloat4.set(<SharedFloat4>self._value, value_float4)
 *             else:
 *                 if self._size == 1:             # <<<<<<<<<<<<<<
 *                     if modified:
 *                         clamp1[double](value_double, self._min, self._max)
 */
        goto __pyx_L21;
      }

      /* "dearcygui/core.pyx":8379
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[double](value_double4, self._min, self._max)
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 */
      /*else*/ {
        if (__pyx_v_modified) {

          /* "dearcygui/core.pyx":8380
 *                 else:
 *                     if modified:
 *                         clamp4[double](value_double4, self._min, self._max)             # <<<<<<<<<<<<<<
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 *             modified = modified and (self._value._last_frame_update == self._value._last_frame_change)
 */
          __pyx_fuse_2__pyx_f_9dearcygui_4core_clamp4(__pyx_v_value_double4, __pyx_v_self->_min, __pyx_v_self->_max);

          /* "dearcygui/core.pyx":8379
 *                     SharedDouble.set(<SharedDouble>self._value, value_double)
 *                 else:
 *                     if modified:             # <<<<<<<<<<<<<<
 *                         clamp4[double](value_double4, self._min, self._max)
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 */
        }

        /* "dearcygui/core.pyx":8381
 *                     if modified:
 *                         clamp4[double](value_double4, self._min, self._max)
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)             # <<<<<<<<<<<<<<
 *             modified = modified and (self._value._last_frame_update == self._value._last_frame_change)
 *         self.update_current_state()
 */
        __pyx_f_9dearcygui_4core_13SharedDouble4_set(((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)__pyx_v_self->__pyx_base._value), __pyx_v_value_double4);
      }
      __pyx_L21:;
      break;
    }

    /* "dearcygui/core.pyx":8382
 *                         clamp4[double](value_double4, self._min, self._max)
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 *             modified = modified and (self._value._last_frame_update == self._value._last_frame_change)             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return modified
 */
    if (__pyx_v_modified) {
    } else {
      __pyx_t_2 = __pyx_v_modified;
      goto __pyx_L24_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base._value->_last_frame_update == __pyx_v_self->__pyx_base._value->_last_frame_change);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L24_bool_binop_done:;
    __pyx_v_modified = __pyx_t_2;

    /* "dearcygui/core.pyx":8354
 * 
 *         # Clamp and write the value
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             if self._format == 0:
 *                 if self._size == 1:
 */
  }

  /* "dearcygui/core.pyx":8383
 *                     SharedDouble4.set(<SharedDouble4>self._value, value_double4)
 *             modified = modified and (self._value._last_frame_update == self._value._last_frame_change)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return modified
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_InputValue *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8384
 *             modified = modified and (self._value._last_frame_update == self._value._last_frame_change)
 *         self.update_current_state()
 *         return modified             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_modified;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8267
 *             self.flags |= imgui.ImGuiInputTextFlags_NoUndoRedo
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiInputTextFlags flags = self.flags
 *         if not(self._enabled):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10InputValue_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10InputValue_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10InputValue_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10InputValue_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10InputValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10InputValue_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_InputValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10InputValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_InputValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.InputValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8388
 * 
 * cdef class Text(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_text
 *         self._color = 0 # invisible
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text___cinit__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text___cinit__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8389
 * cdef class Text(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_text             # <<<<<<<<<<<<<<
 *         self._color = 0 # invisible
 *         self._wrap = -1
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_text;

  /* "dearcygui/core.pyx":8390
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_text
 *         self._color = 0 # invisible             # <<<<<<<<<<<<<<
 *         self._wrap = -1
 *         self._bullet = False
 */
  __pyx_v_self->_color = 0;

  /* "dearcygui/core.pyx":8391
 *         self.theme_condition_category = theme_categories.t_text
 *         self._color = 0 # invisible
 *         self._wrap = -1             # <<<<<<<<<<<<<<
 *         self._bullet = False
 *         self._show_label = False
 */
  __pyx_v_self->_wrap = -1;

  /* "dearcygui/core.pyx":8392
 *         self._color = 0 # invisible
 *         self._wrap = -1
 *         self._bullet = False             # <<<<<<<<<<<<<<
 *         self._show_label = False
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 */
  __pyx_v_self->_bullet = 0;

  /* "dearcygui/core.pyx":8393
 *         self._wrap = -1
 *         self._bullet = False
 *         self._show_label = False             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True # unsure
 */
  __pyx_v_self->_show_label = 0;

  /* "dearcygui/core.pyx":8394
 *         self._bullet = False
 *         self._show_label = False
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8394, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedStr(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedStr), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8394, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8395
 *         self._show_label = False
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True # unsure             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":8396
 *         self._value = <SharedValue>(SharedStr.__new__(SharedStr, self.context))
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8397
 *         self.state.cap.can_be_active = True # unsure
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":8398
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8399
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8388
 * 
 * cdef class Text(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_text
 *         self._color = 0 # invisible
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Text.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8401
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def color(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5color_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5color_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_5color___get__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_5color___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8410
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <int>self._color
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8411
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <int>self._color             # <<<<<<<<<<<<<<
 * 
 *     @color.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->_color)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8401
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def color(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Text.color.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8413
 *         return <int>self._color
 * 
 *     @color.setter             # <<<<<<<<<<<<<<
 *     def color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_5color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_5color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_5color_2__set__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text_5color_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8416
 *     def color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._color = parse_color(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8417
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._color = parse_color(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 8417, __pyx_L1_error)
  __pyx_v_self->_color = __pyx_t_1;

  /* "dearcygui/core.pyx":8413
 *         return <int>self._color
 * 
 *     @color.setter             # <<<<<<<<<<<<<<
 *     def color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.color.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8419
 *         self._color = parse_color(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_5label___get__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_5label___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8422
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         """
 *         Writable attribute: label assigned to the item.
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8427
 *         Used for text fields, window titles, etc
 *         """
 *         return self.user_label             # <<<<<<<<<<<<<<
 *     @label.setter
 *     def label(self, str value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.user_label);
  __pyx_r = __pyx_v_self->__pyx_base.user_label;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8419
 *         self._color = parse_color(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8428
 *         """
 *         return self.user_label
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 8429, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_5label_2__set__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text_5label_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8431
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value is None:
 *             self.user_label = ""
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8432
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject*)Py_None));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8433
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:
 *             self.user_label = ""             # <<<<<<<<<<<<<<
 *         else:
 *             self.user_label = value
 */
    __Pyx_INCREF(__pyx_kp_u_);
    __Pyx_GIVEREF(__pyx_kp_u_);
    __Pyx_GOTREF(__pyx_v_self->__pyx_base.user_label);
    __Pyx_DECREF(__pyx_v_self->__pyx_base.user_label);
    __pyx_v_self->__pyx_base.user_label = __pyx_kp_u_;

    /* "dearcygui/core.pyx":8432
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":8435
 *             self.user_label = ""
 *         else:
 *             self.user_label = value             # <<<<<<<<<<<<<<
 *         # uuid is not used for text, and we don't want to
 *         # add it when we show the label, thus why we override
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    __Pyx_GOTREF(__pyx_v_self->__pyx_base.user_label);
    __Pyx_DECREF(__pyx_v_self->__pyx_base.user_label);
    __pyx_v_self->__pyx_base.user_label = __pyx_v_value;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":8439
 *         # add it when we show the label, thus why we override
 *         # the label property here.
 *         self.imgui_label = bytes(self.user_label, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.user_label);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.user_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->__pyx_base.user_label)) __PYX_ERR(1, 8439, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 8439, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_self->__pyx_base.imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

  /* "dearcygui/core.pyx":8428
 *         """
 *         return self.user_label
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Text.label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8441
 *         self.imgui_label = bytes(self.user_label, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wrap(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_4wrap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Text_4wrap_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_4wrap___get__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_4wrap___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8448
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return <int>self._wrap
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8449
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return <int>self._wrap             # <<<<<<<<<<<<<<
 * 
 *     @wrap.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)__pyx_v_self->_wrap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8441
 *         self.imgui_label = bytes(self.user_label, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wrap(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Text.wrap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8451
 *         return <int>self._wrap
 * 
 *     @wrap.setter             # <<<<<<<<<<<<<<
 *     def wrap(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_4wrap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_4wrap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8452, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.wrap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_4wrap_2__set__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text_4wrap_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8454
 *     def wrap(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._wrap = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8455
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._wrap = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_wrap = __pyx_v_value;

  /* "dearcygui/core.pyx":8451
 *         return <int>self._wrap
 * 
 *     @wrap.setter             # <<<<<<<<<<<<<<
 *     def wrap(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8457
 *         self._wrap = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_6bullet_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Text_6bullet_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_6bullet___get__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_6bullet___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8464
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._bullet
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8465
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._bullet             # <<<<<<<<<<<<<<
 * 
 *     @bullet.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_bullet); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8457
 *         self._wrap = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Text.bullet.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8467
 *         return self._bullet
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8468, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.bullet.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_6bullet_2__set__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8470
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._bullet = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8471
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._bullet = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_bullet = __pyx_v_value;

  /* "dearcygui/core.pyx":8467
 *         return self._bullet
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8473
 *         self._bullet = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show_label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_10show_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Text_10show_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_10show_label___get__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_10show_label___get__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8480
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._show_label
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8481
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._show_label             # <<<<<<<<<<<<<<
 * 
 *     @show_label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_show_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8473
 *         self._bullet = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show_label(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Text.show_label.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8483
 *         return self._show_label
 * 
 *     @show_label.setter             # <<<<<<<<<<<<<<
 *     def show_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Text_10show_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Text_10show_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8484, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.show_label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_10show_label_2__set__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Text_10show_label_2__set__(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8486
 *     def show_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._show_label = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8487
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._show_label = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->_show_label = __pyx_v_value;

  /* "dearcygui/core.pyx":8483
 *         return self._show_label
 * 
 *     @show_label.setter             # <<<<<<<<<<<<<<
 *     def show_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8489
 *         self._show_label = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         imgui.AlignTextToFramePadding()
 *         if self._color > 0:
 */

static int __pyx_f_9dearcygui_4core_4Text_draw_item(struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  std::string __pyx_v_current_value;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":8490
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         imgui.AlignTextToFramePadding()             # <<<<<<<<<<<<<<
 *         if self._color > 0:
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 */
  ImGui::AlignTextToFramePadding();

  /* "dearcygui/core.pyx":8491
 *     cdef bint draw_item(self) noexcept nogil:
 *         imgui.AlignTextToFramePadding()
 *         if self._color > 0:             # <<<<<<<<<<<<<<
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 *         if self._wrap == 0:
 */
  __pyx_t_1 = (__pyx_v_self->_color > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8492
 *         imgui.AlignTextToFramePadding()
 *         if self._color > 0:
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)             # <<<<<<<<<<<<<<
 *         if self._wrap == 0:
 *             imgui.PushTextWrapPos(0.)
 */
    ImGui::PushStyleColor(ImGuiCol_Text, __pyx_v_self->_color);

    /* "dearcygui/core.pyx":8491
 *     cdef bint draw_item(self) noexcept nogil:
 *         imgui.AlignTextToFramePadding()
 *         if self._color > 0:             # <<<<<<<<<<<<<<
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 *         if self._wrap == 0:
 */
  }

  /* "dearcygui/core.pyx":8493
 *         if self._color > 0:
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 *         if self._wrap == 0:             # <<<<<<<<<<<<<<
 *             imgui.PushTextWrapPos(0.)
 *         elif self._wrap > 0:
 */
  __pyx_t_1 = (__pyx_v_self->_wrap == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8494
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 *         if self._wrap == 0:
 *             imgui.PushTextWrapPos(0.)             # <<<<<<<<<<<<<<
 *         elif self._wrap > 0:
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 */
    ImGui::PushTextWrapPos(0.);

    /* "dearcygui/core.pyx":8493
 *         if self._color > 0:
 *             imgui.PushStyleColor(imgui.ImGuiCol_Text, self._color)
 *         if self._wrap == 0:             # <<<<<<<<<<<<<<
 *             imgui.PushTextWrapPos(0.)
 *         elif self._wrap > 0:
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":8495
 *         if self._wrap == 0:
 *             imgui.PushTextWrapPos(0.)
 *         elif self._wrap > 0:             # <<<<<<<<<<<<<<
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 *         if self._show_label or self._bullet:
 */
  __pyx_t_1 = (__pyx_v_self->_wrap > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8496
 *             imgui.PushTextWrapPos(0.)
 *         elif self._wrap > 0:
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)             # <<<<<<<<<<<<<<
 *         if self._show_label or self._bullet:
 *             imgui.BeginGroup()
 */
    ImGui::PushTextWrapPos((ImGui::GetCursorPosX() + ((float)__pyx_v_self->_wrap)));

    /* "dearcygui/core.pyx":8495
 *         if self._wrap == 0:
 *             imgui.PushTextWrapPos(0.)
 *         elif self._wrap > 0:             # <<<<<<<<<<<<<<
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 *         if self._show_label or self._bullet:
 */
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":8497
 *         elif self._wrap > 0:
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 *         if self._show_label or self._bullet:             # <<<<<<<<<<<<<<
 *             imgui.BeginGroup()
 *         if self._bullet:
 */
  if (!__pyx_v_self->_show_label) {
  } else {
    __pyx_t_1 = __pyx_v_self->_show_label;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->_bullet;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8498
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 *         if self._show_label or self._bullet:
 *             imgui.BeginGroup()             # <<<<<<<<<<<<<<
 *         if self._bullet:
 *             imgui.Bullet()
 */
    ImGui::BeginGroup();

    /* "dearcygui/core.pyx":8497
 *         elif self._wrap > 0:
 *             imgui.PushTextWrapPos(imgui.GetCursorPosX() + <float>self._wrap)
 *         if self._show_label or self._bullet:             # <<<<<<<<<<<<<<
 *             imgui.BeginGroup()
 *         if self._bullet:
 */
  }

  /* "dearcygui/core.pyx":8499
 *         if self._show_label or self._bullet:
 *             imgui.BeginGroup()
 *         if self._bullet:             # <<<<<<<<<<<<<<
 *             imgui.Bullet()
 * 
 */
  if (__pyx_v_self->_bullet) {

    /* "dearcygui/core.pyx":8500
 *             imgui.BeginGroup()
 *         if self._bullet:
 *             imgui.Bullet()             # <<<<<<<<<<<<<<
 * 
 *         cdef string current_value
 */
    ImGui::Bullet();

    /* "dearcygui/core.pyx":8499
 *         if self._show_label or self._bullet:
 *             imgui.BeginGroup()
 *         if self._bullet:             # <<<<<<<<<<<<<<
 *             imgui.Bullet()
 * 
 */
  }

  /* "dearcygui/core.pyx":8503
 * 
 *         cdef string current_value
 *         SharedStr.get(<SharedStr>self._value, current_value)             # <<<<<<<<<<<<<<
 * 
 *         imgui.TextUnformatted(current_value.c_str(), current_value.c_str()+current_value.size())
 */
  __pyx_f_9dearcygui_4core_9SharedStr_get(((struct __pyx_obj_9dearcygui_4core_SharedStr *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":8505
 *         SharedStr.get(<SharedStr>self._value, current_value)
 * 
 *         imgui.TextUnformatted(current_value.c_str(), current_value.c_str()+current_value.size())             # <<<<<<<<<<<<<<
 * 
 *         if self._wrap >= 0:
 */
  ImGui::TextUnformatted(__pyx_v_current_value.c_str(), (__pyx_v_current_value.c_str() + __pyx_v_current_value.size()));

  /* "dearcygui/core.pyx":8507
 *         imgui.TextUnformatted(current_value.c_str(), current_value.c_str()+current_value.size())
 * 
 *         if self._wrap >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PopTextWrapPos()
 *         if self._color > 0:
 */
  __pyx_t_1 = (__pyx_v_self->_wrap >= 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8508
 * 
 *         if self._wrap >= 0:
 *             imgui.PopTextWrapPos()             # <<<<<<<<<<<<<<
 *         if self._color > 0:
 *             imgui.PopStyleColor(1)
 */
    ImGui::PopTextWrapPos();

    /* "dearcygui/core.pyx":8507
 *         imgui.TextUnformatted(current_value.c_str(), current_value.c_str()+current_value.size())
 * 
 *         if self._wrap >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PopTextWrapPos()
 *         if self._color > 0:
 */
  }

  /* "dearcygui/core.pyx":8509
 *         if self._wrap >= 0:
 *             imgui.PopTextWrapPos()
 *         if self._color > 0:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleColor(1)
 * 
 */
  __pyx_t_1 = (__pyx_v_self->_color > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8510
 *             imgui.PopTextWrapPos()
 *         if self._color > 0:
 *             imgui.PopStyleColor(1)             # <<<<<<<<<<<<<<
 * 
 *         if self._show_label:
 */
    ImGui::PopStyleColor(1);

    /* "dearcygui/core.pyx":8509
 *         if self._wrap >= 0:
 *             imgui.PopTextWrapPos()
 *         if self._color > 0:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleColor(1)
 * 
 */
  }

  /* "dearcygui/core.pyx":8512
 *             imgui.PopStyleColor(1)
 * 
 *         if self._show_label:             # <<<<<<<<<<<<<<
 *             imgui.SameLine(0., -1.)
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)
 */
  if (__pyx_v_self->_show_label) {

    /* "dearcygui/core.pyx":8513
 * 
 *         if self._show_label:
 *             imgui.SameLine(0., -1.)             # <<<<<<<<<<<<<<
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)
 *         if self._show_label or self._bullet:
 */
    ImGui::SameLine(0., -1.);

    /* "dearcygui/core.pyx":8514
 *         if self._show_label:
 *             imgui.SameLine(0., -1.)
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)             # <<<<<<<<<<<<<<
 *         if self._show_label or self._bullet:
 *             # Group enables to share the states for all items
 */
    ImGui::TextUnformatted(__pyx_v_self->__pyx_base.imgui_label.c_str(), NULL);

    /* "dearcygui/core.pyx":8512
 *             imgui.PopStyleColor(1)
 * 
 *         if self._show_label:             # <<<<<<<<<<<<<<
 *             imgui.SameLine(0., -1.)
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)
 */
  }

  /* "dearcygui/core.pyx":8515
 *             imgui.SameLine(0., -1.)
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)
 *         if self._show_label or self._bullet:             # <<<<<<<<<<<<<<
 *             # Group enables to share the states for all items
 *             # And have correct rect_size
 */
  if (!__pyx_v_self->_show_label) {
  } else {
    __pyx_t_1 = __pyx_v_self->_show_label;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->_bullet;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8518
 *             # Group enables to share the states for all items
 *             # And have correct rect_size
 *             imgui.EndGroup()             # <<<<<<<<<<<<<<
 * 
 *         self.update_current_state()
 */
    ImGui::EndGroup();

    /* "dearcygui/core.pyx":8515
 *             imgui.SameLine(0., -1.)
 *             imgui.TextUnformatted(self.imgui_label.c_str(), NULL)
 *         if self._show_label or self._bullet:             # <<<<<<<<<<<<<<
 *             # Group enables to share the states for all items
 *             # And have correct rect_size
 */
  }

  /* "dearcygui/core.pyx":8520
 *             imgui.EndGroup()
 * 
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Text *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8521
 * 
 *         self.update_current_state()
 *         return False             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8489
 *         self._show_label = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         imgui.AlignTextToFramePadding()
 *         if self._color > 0:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Text_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Text_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Text_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Text_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Text_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Text_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Text_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Text *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Text_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Text *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Text.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8525
 * 
 * cdef class Selectable(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_selectable
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10Selectable_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10Selectable_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable___cinit__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10Selectable___cinit__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8526
 * cdef class Selectable(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_selectable             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_selectable;

  /* "dearcygui/core.pyx":8527
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_selectable
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8527, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8527, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8528
 *         self.theme_condition_category = theme_categories.t_selectable
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":8529
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8530
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":8531
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":8532
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":8533
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.flags = imgui.ImGuiSelectableFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8534
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiSelectableFlags_None
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8535
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.flags = imgui.ImGuiSelectableFlags_None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiSelectableFlags_None;

  /* "dearcygui/core.pyx":8525
 * 
 * cdef class Selectable(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_selectable
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Selectable.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8537
 *         self.flags = imgui.ImGuiSelectableFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disable_popup_close(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close___get__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8543
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSelectableFlags_NoAutoClosePopups) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8544
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSelectableFlags_NoAutoClosePopups) != 0             # <<<<<<<<<<<<<<
 * 
 *     @disable_popup_close.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSelectableFlags_NoAutoClosePopups) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8537
 *         self.flags = imgui.ImGuiSelectableFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disable_popup_close(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Selectable.disable_popup_close.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8546
 *         return (self.flags & imgui.ImGuiSelectableFlags_NoAutoClosePopups) != 0
 * 
 *     @disable_popup_close.setter             # <<<<<<<<<<<<<<
 *     def disable_popup_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8547, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.disable_popup_close.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close_2__set__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10Selectable_19disable_popup_close_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8549
 *     def disable_popup_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSelectableFlags_NoAutoClosePopups
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8550
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_NoAutoClosePopups             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSelectableFlags_NoAutoClosePopups));

  /* "dearcygui/core.pyx":8551
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_NoAutoClosePopups
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8552
 *         self.flags &= ~imgui.ImGuiSelectableFlags_NoAutoClosePopups
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSelectableFlags_NoAutoClosePopups);

    /* "dearcygui/core.pyx":8551
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_NoAutoClosePopups
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups
 * 
 */
  }

  /* "dearcygui/core.pyx":8546
 *         return (self.flags & imgui.ImGuiSelectableFlags_NoAutoClosePopups) != 0
 * 
 *     @disable_popup_close.setter             # <<<<<<<<<<<<<<
 *     def disable_popup_close(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8554
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_columns(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_12span_columns_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_12span_columns_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_12span_columns___get__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_12span_columns___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8560
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSelectableFlags_SpanAllColumns) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8561
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSelectableFlags_SpanAllColumns) != 0             # <<<<<<<<<<<<<<
 * 
 *     @span_columns.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSelectableFlags_SpanAllColumns) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8554
 *             self.flags |= imgui.ImGuiSelectableFlags_NoAutoClosePopups
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_columns(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Selectable.span_columns.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8563
 *         return (self.flags & imgui.ImGuiSelectableFlags_SpanAllColumns) != 0
 * 
 *     @span_columns.setter             # <<<<<<<<<<<<<<
 *     def span_columns(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10Selectable_12span_columns_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10Selectable_12span_columns_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8564, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.span_columns.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_12span_columns_2__set__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10Selectable_12span_columns_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8566
 *     def span_columns(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSelectableFlags_SpanAllColumns
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8567
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_SpanAllColumns             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSelectableFlags_SpanAllColumns));

  /* "dearcygui/core.pyx":8568
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_SpanAllColumns
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8569
 *         self.flags &= ~imgui.ImGuiSelectableFlags_SpanAllColumns
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSelectableFlags_SpanAllColumns);

    /* "dearcygui/core.pyx":8568
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_SpanAllColumns
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns
 * 
 */
  }

  /* "dearcygui/core.pyx":8563
 *         return (self.flags & imgui.ImGuiSelectableFlags_SpanAllColumns) != 0
 * 
 *     @span_columns.setter             # <<<<<<<<<<<<<<
 *     def span_columns(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8571
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_double_click(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_15on_double_click___get__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_15on_double_click___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8577
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSelectableFlags_AllowDoubleClick) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8578
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSelectableFlags_AllowDoubleClick) != 0             # <<<<<<<<<<<<<<
 * 
 *     @on_double_click.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSelectableFlags_AllowDoubleClick) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8571
 *             self.flags |= imgui.ImGuiSelectableFlags_SpanAllColumns
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_double_click(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Selectable.on_double_click.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8580
 *         return (self.flags & imgui.ImGuiSelectableFlags_AllowDoubleClick) != 0
 * 
 *     @on_double_click.setter             # <<<<<<<<<<<<<<
 *     def on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8581, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.on_double_click.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_15on_double_click_2__set__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10Selectable_15on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8583
 *     def on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSelectableFlags_AllowDoubleClick
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8584
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_AllowDoubleClick             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSelectableFlags_AllowDoubleClick));

  /* "dearcygui/core.pyx":8585
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_AllowDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8586
 *         self.flags &= ~imgui.ImGuiSelectableFlags_AllowDoubleClick
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSelectableFlags_AllowDoubleClick);

    /* "dearcygui/core.pyx":8585
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_AllowDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick
 * 
 */
  }

  /* "dearcygui/core.pyx":8580
 *         return (self.flags & imgui.ImGuiSelectableFlags_AllowDoubleClick) != 0
 * 
 *     @on_double_click.setter             # <<<<<<<<<<<<<<
 *     def on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8588
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def highlighted(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_11highlighted_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_11highlighted_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_11highlighted___get__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_11highlighted___get__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8594
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiSelectableFlags_Highlight) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8595
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiSelectableFlags_Highlight) != 0             # <<<<<<<<<<<<<<
 * 
 *     @highlighted.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiSelectableFlags_Highlight) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8588
 *             self.flags |= imgui.ImGuiSelectableFlags_AllowDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def highlighted(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Selectable.highlighted.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8597
 *         return (self.flags & imgui.ImGuiSelectableFlags_Highlight) != 0
 * 
 *     @highlighted.setter             # <<<<<<<<<<<<<<
 *     def highlighted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10Selectable_11highlighted_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10Selectable_11highlighted_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8598, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.highlighted.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_11highlighted_2__set__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10Selectable_11highlighted_2__set__(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8600
 *     def highlighted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSelectableFlags_Highlight
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8601
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_Highlight             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiSelectableFlags_Highlight));

  /* "dearcygui/core.pyx":8602
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_Highlight
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":8603
 *         self.flags &= ~imgui.ImGuiSelectableFlags_Highlight
 *         if value:
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiSelectableFlags_Highlight);

    /* "dearcygui/core.pyx":8602
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiSelectableFlags_Highlight
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight
 * 
 */
  }

  /* "dearcygui/core.pyx":8597
 *         return (self.flags & imgui.ImGuiSelectableFlags_Highlight) != 0
 * 
 *     @highlighted.setter             # <<<<<<<<<<<<<<
 *     def highlighted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8605
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags
 *         if not(self._enabled):
 */

static int __pyx_f_9dearcygui_4core_10Selectable_draw_item(struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  ImGuiSelectableFlags __pyx_v_flags;
  bool __pyx_v_checked;
  int __pyx_v_changed;
  int __pyx_r;
  ImGuiSelectableFlags __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":8606
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiSelectableFlags_Disabled
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":8607
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiSelectableFlags_Disabled
 * 
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._enabled);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":8608
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags
 *         if not(self._enabled):
 *             flags |= imgui.ImGuiSelectableFlags_Disabled             # <<<<<<<<<<<<<<
 * 
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiSelectableFlags_Disabled);

    /* "dearcygui/core.pyx":8607
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags
 *         if not(self._enabled):             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiSelectableFlags_Disabled
 * 
 */
  }

  /* "dearcygui/core.pyx":8610
 *             flags |= imgui.ImGuiSelectableFlags_Disabled
 * 
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)             # <<<<<<<<<<<<<<
 *         cdef bint changed = imgui.Selectable(self.imgui_label.c_str(),
 *                                              &checked,
 */
  __pyx_v_checked = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":8611
 * 
 *         cdef bool checked = SharedBool.get(<SharedBool>self._value)
 *         cdef bint changed = imgui.Selectable(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                              &checked,
 *                                              flags,
 */
  __pyx_v_changed = ImGui::Selectable(__pyx_v_self->__pyx_base.imgui_label.c_str(), (&__pyx_v_checked), __pyx_v_flags, __pyx_v_self->__pyx_base.requested_size);

  /* "dearcygui/core.pyx":8615
 *                                              flags,
 *                                              self.requested_size)
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 */
  if (__pyx_v_self->__pyx_base._enabled) {

    /* "dearcygui/core.pyx":8616
 *                                              self.requested_size)
 *         if self._enabled:
 *             SharedBool.set(<SharedBool>self._value, checked)             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return changed
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_checked);

    /* "dearcygui/core.pyx":8615
 *                                              flags,
 *                                              self.requested_size)
 *         if self._enabled:             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 */
  }

  /* "dearcygui/core.pyx":8617
 *         if self._enabled:
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Selectable *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8618
 *             SharedBool.set(<SharedBool>self._value, checked)
 *         self.update_current_state()
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8605
 *             self.flags |= imgui.ImGuiSelectableFlags_Highlight
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiSelectableFlags flags = self.flags
 *         if not(self._enabled):
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10Selectable_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10Selectable_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10Selectable_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10Selectable_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10Selectable_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10Selectable_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Selectable *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10Selectable_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Selectable *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Selectable.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8622
 * 
 * cdef class MenuItem(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_menuitem
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8MenuItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8MenuItem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem___cinit__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8MenuItem___cinit__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8623
 * cdef class MenuItem(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_menuitem             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_menuitem;

  /* "dearcygui/core.pyx":8624
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_menuitem
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8624, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8624, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8625
 *         self.theme_condition_category = theme_categories.t_menuitem
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":8626
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8627
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":8628
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":8629
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._check = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8630
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._check = False
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8631
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._check = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_check = 0;

  /* "dearcygui/core.pyx":8622
 * 
 * cdef class MenuItem(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_menuitem
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.MenuItem.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8633
 *         self._check = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def check(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_5check_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_5check_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_5check___get__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_5check___get__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8639
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._check
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8640
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._check             # <<<<<<<<<<<<<<
 * 
 *     @check.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_check); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8633
 *         self._check = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def check(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.MenuItem.check.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8642
 *         return self._check
 * 
 *     @check.setter             # <<<<<<<<<<<<<<
 *     def check(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8MenuItem_5check_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8MenuItem_5check_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8643, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.MenuItem.check.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_5check_2__set__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8MenuItem_5check_2__set__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8645
 *     def check(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._check = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8646
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._check = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_check = __pyx_v_value;

  /* "dearcygui/core.pyx":8642
 *         return self._check
 * 
 *     @check.setter             # <<<<<<<<<<<<<<
 *     def check(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8648
 *         self._check = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shortcut(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_8shortcut___get__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_8shortcut___get__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8654
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._shortcut, encoding='utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8655
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._shortcut, encoding='utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @shortcut.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_shortcut); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 8655, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 8655, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8648
 *         self._check = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shortcut(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.MenuItem.shortcut.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8657
 *         return str(self._shortcut, encoding='utf-8')
 * 
 *     @shortcut.setter             # <<<<<<<<<<<<<<
 *     def shortcut(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 8658, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_8shortcut_2__set__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8MenuItem_8shortcut_2__set__(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8660
 *     def shortcut(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._shortcut = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8661
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._shortcut = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 8661, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 8661, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_shortcut = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":8657
 *         return str(self._shortcut, encoding='utf-8')
 * 
 *     @shortcut.setter             # <<<<<<<<<<<<<<
 *     def shortcut(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.MenuItem.shortcut.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8663
 *         self._shortcut = bytes(value, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # TODO dpg does overwrite textdisabled...
 *         cdef bool current_value = SharedBool.get(<SharedBool>self._value)
 */

static int __pyx_f_9dearcygui_4core_8MenuItem_draw_item(struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self) {
  bool __pyx_v_current_value;
  int __pyx_v_activated;
  int __pyx_r;
  bool *__pyx_t_1;

  /* "dearcygui/core.pyx":8665
 *     cdef bint draw_item(self) noexcept nogil:
 *         # TODO dpg does overwrite textdisabled...
 *         cdef bool current_value = SharedBool.get(<SharedBool>self._value)             # <<<<<<<<<<<<<<
 *         cdef bint activated = imgui.MenuItem(self.imgui_label.c_str(),
 *                                              self._shortcut.c_str(),
 */
  __pyx_v_current_value = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":8668
 *         cdef bint activated = imgui.MenuItem(self.imgui_label.c_str(),
 *                                              self._shortcut.c_str(),
 *                                              &current_value if self._check else NULL,             # <<<<<<<<<<<<<<
 *                                              self._enabled)
 *         self.update_current_state()
 */
  if (__pyx_v_self->_check) {
    __pyx_t_1 = (&__pyx_v_current_value);
  } else {
    __pyx_t_1 = NULL;
  }

  /* "dearcygui/core.pyx":8666
 *         # TODO dpg does overwrite textdisabled...
 *         cdef bool current_value = SharedBool.get(<SharedBool>self._value)
 *         cdef bint activated = imgui.MenuItem(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                              self._shortcut.c_str(),
 *                                              &current_value if self._check else NULL,
 */
  __pyx_v_activated = ImGui::MenuItem(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->_shortcut.c_str(), __pyx_t_1, __pyx_v_self->__pyx_base._enabled);

  /* "dearcygui/core.pyx":8670
 *                                              &current_value if self._check else NULL,
 *                                              self._enabled)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         SharedBool.set(<SharedBool>self._value, current_value)
 *         return activated
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_MenuItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8671
 *                                              self._enabled)
 *         self.update_current_state()
 *         SharedBool.set(<SharedBool>self._value, current_value)             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_current_value);

  /* "dearcygui/core.pyx":8672
 *         self.update_current_state()
 *         SharedBool.set(<SharedBool>self._value, current_value)
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * cdef class ProgressBar(uiItem):
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8663
 *         self._shortcut = bytes(value, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # TODO dpg does overwrite textdisabled...
 *         cdef bool current_value = SharedBool.get(<SharedBool>self._value)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8MenuItem_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8MenuItem_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MenuItem.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8MenuItem_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8MenuItem_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8MenuItem_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8MenuItem_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MenuItem *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8MenuItem_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuItem *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MenuItem.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8675
 * 
 * cdef class ProgressBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_progressbar
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ProgressBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ProgressBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ProgressBar___cinit__(((struct __pyx_obj_9dearcygui_4core_ProgressBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ProgressBar___cinit__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8676
 * cdef class ProgressBar(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_progressbar             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_progressbar;

  /* "dearcygui/core.pyx":8677
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_progressbar
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8677, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedFloat(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedFloat), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8677, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8678
 *         self.theme_condition_category = theme_categories.t_progressbar
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8679
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":8680
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8681
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8675
 * 
 * cdef class ProgressBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_progressbar
 *         self._value = <SharedValue>(SharedFloat.__new__(SharedFloat, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ProgressBar.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8683
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def overlay(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ProgressBar_7overlay___get__(((struct __pyx_obj_9dearcygui_4core_ProgressBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_7overlay___get__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8689
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._overlay, encoding='utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8690
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._overlay, encoding='utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @overlay.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_overlay); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 8690, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 8690, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8683
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def overlay(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.ProgressBar.overlay.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8692
 *         return str(self._overlay, encoding='utf-8')
 * 
 *     @overlay.setter             # <<<<<<<<<<<<<<
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 8693, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11ProgressBar_7overlay_2__set__(((struct __pyx_obj_9dearcygui_4core_ProgressBar *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ProgressBar_7overlay_2__set__(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8695
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._overlay = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8696
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._overlay = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 8696, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 8696, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_overlay = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":8692
 *         return str(self._overlay, encoding='utf-8')
 * 
 *     @overlay.setter             # <<<<<<<<<<<<<<
 *     def overlay(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ProgressBar.overlay.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8698
 *         self._overlay = bytes(value, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float current_value = SharedFloat.get(<SharedFloat>self._value)
 *         cdef const char *overlay_text = self._overlay.c_str()
 */

static int __pyx_f_9dearcygui_4core_11ProgressBar_draw_item(struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self) {
  float __pyx_v_current_value;
  char const *__pyx_v_overlay_text;
  int __pyx_r;
  char const *__pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":8699
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef float current_value = SharedFloat.get(<SharedFloat>self._value)             # <<<<<<<<<<<<<<
 *         cdef const char *overlay_text = self._overlay.c_str()
 *         imgui.PushID(self.uuid)
 */
  __pyx_v_current_value = __pyx_f_9dearcygui_4core_11SharedFloat_get(((struct __pyx_obj_9dearcygui_4core_SharedFloat *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":8700
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef float current_value = SharedFloat.get(<SharedFloat>self._value)
 *         cdef const char *overlay_text = self._overlay.c_str()             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.ProgressBar(current_value,
 */
  __pyx_v_overlay_text = __pyx_v_self->_overlay.c_str();

  /* "dearcygui/core.pyx":8701
 *         cdef float current_value = SharedFloat.get(<SharedFloat>self._value)
 *         cdef const char *overlay_text = self._overlay.c_str()
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.ProgressBar(current_value,
 *                           self.requested_size,
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":8704
 *         imgui.ProgressBar(current_value,
 *                           self.requested_size,
 *                           <const char *>NULL if self._overlay.size() == 0 else overlay_text)             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
  __pyx_t_2 = (__pyx_v_self->_overlay.size() == 0);
  if (__pyx_t_2) {
    __pyx_t_1 = ((char const *)NULL);
  } else {
    __pyx_t_1 = __pyx_v_overlay_text;
  }

  /* "dearcygui/core.pyx":8702
 *         cdef const char *overlay_text = self._overlay.c_str()
 *         imgui.PushID(self.uuid)
 *         imgui.ProgressBar(current_value,             # <<<<<<<<<<<<<<
 *                           self.requested_size,
 *                           <const char *>NULL if self._overlay.size() == 0 else overlay_text)
 */
  ImGui::ProgressBar(__pyx_v_current_value, __pyx_v_self->__pyx_base.requested_size, __pyx_t_1);

  /* "dearcygui/core.pyx":8705
 *                           self.requested_size,
 *                           <const char *>NULL if self._overlay.size() == 0 else overlay_text)
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return False
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":8706
 *                           <const char *>NULL if self._overlay.size() == 0 else overlay_text)
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ProgressBar *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8707
 *         imgui.PopID()
 *         self.update_current_state()
 *         return False             # <<<<<<<<<<<<<<
 * 
 * cdef class Image(uiItem):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8698
 *         self._overlay = bytes(value, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float current_value = SharedFloat.get(<SharedFloat>self._value)
 *         cdef const char *overlay_text = self._overlay.c_str()
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ProgressBar_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ProgressBar_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ProgressBar_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ProgressBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ProgressBar.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ProgressBar_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ProgressBar_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ProgressBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ProgressBar_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ProgressBar *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ProgressBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ProgressBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ProgressBar.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8710
 * 
 * cdef class Image(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_image
 *         self.state.cap.can_be_clicked = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Image_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Image_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image___cinit__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Image___cinit__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  int __pyx_r;
  float __pyx_t_1[4];

  /* "dearcygui/core.pyx":8711
 * cdef class Image(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_image             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_image;

  /* "dearcygui/core.pyx":8712
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_image
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8713
 *         self.theme_condition_category = theme_categories.t_image
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":8714
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._uv = [0., 0., 1., 1.]
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8715
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._uv = [0., 0., 1., 1.]
 *         self._border_color = 0
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8716
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._uv = [0., 0., 1., 1.]             # <<<<<<<<<<<<<<
 *         self._border_color = 0
 *         self._color_multiplier = 4294967295
 */
  __pyx_t_1[0] = 0.;
  __pyx_t_1[1] = 0.;
  __pyx_t_1[2] = 1.;
  __pyx_t_1[3] = 1.;
  memcpy(&(__pyx_v_self->_uv[0]), __pyx_t_1, sizeof(__pyx_v_self->_uv[0]) * (4));

  /* "dearcygui/core.pyx":8717
 *         self.state.cap.can_be_hovered = True
 *         self._uv = [0., 0., 1., 1.]
 *         self._border_color = 0             # <<<<<<<<<<<<<<
 *         self._color_multiplier = 4294967295
 * 
 */
  __pyx_v_self->_border_color = 0;

  /* "dearcygui/core.pyx":8718
 *         self._uv = [0., 0., 1., 1.]
 *         self._border_color = 0
 *         self._color_multiplier = 4294967295             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_color_multiplier = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":8710
 * 
 * cdef class Image(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_image
 *         self.state.cap.can_be_clicked = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8720
 *         self._color_multiplier = 4294967295
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_7texture_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Image_7texture_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_7texture___get__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_7texture___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8723
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._texture
 *     @texture.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8724
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture             # <<<<<<<<<<<<<<
 *     @texture.setter
 *     def texture(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_texture);
  __pyx_r = ((PyObject *)__pyx_v_self->_texture);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8720
 *         self._color_multiplier = 4294967295
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8725
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture
 *     @texture.setter             # <<<<<<<<<<<<<<
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Image_7texture_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Image_7texture_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_7texture_2__set__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Image_7texture_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8728
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(isinstance(value, Texture)):
 *             raise TypeError("texture must be a Texture")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8729
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):             # <<<<<<<<<<<<<<
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Texture); 
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":8730
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):
 *             raise TypeError("texture must be a Texture")             # <<<<<<<<<<<<<<
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 8730, __pyx_L1_error)

    /* "dearcygui/core.pyx":8729
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):             # <<<<<<<<<<<<<<
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 */
  }

  /* "dearcygui/core.pyx":8732
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value             # <<<<<<<<<<<<<<
 *     @property
 *     def uv(self):
 */
  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Texture))))) __PYX_ERR(1, 8732, __pyx_L1_error)
  __pyx_t_3 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_texture);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_texture);
  __pyx_v_self->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":8725
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture
 *     @texture.setter             # <<<<<<<<<<<<<<
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Image.texture.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8733
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 *     @property             # <<<<<<<<<<<<<<
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_2uv_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Image_2uv_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_2uv___get__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_2uv___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8736
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._uv)
 *     @uv.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8737
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)             # <<<<<<<<<<<<<<
 *     @uv.setter
 *     def uv(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_self->_uv, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8733
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 *     @property             # <<<<<<<<<<<<<<
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Image.uv.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8738
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)
 *     @uv.setter             # <<<<<<<<<<<<<<
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Image_2uv_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Image_2uv_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_2uv_2__set__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Image_2uv_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8741
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_vec4[float](self._uv, value)
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8742
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)             # <<<<<<<<<<<<<<
 *     @property
 *     def color_multiplier(self):
 */
  __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_uv, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8742, __pyx_L1_error)

  /* "dearcygui/core.pyx":8738
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)
 *     @uv.setter             # <<<<<<<<<<<<<<
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Image.uv.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8743
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_16color_multiplier_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Image_16color_multiplier_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_16color_multiplier___get__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_16color_multiplier___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_color_multiplier[4];
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8746
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8748
 *         lock_gil_friendly(m, self.mutex)
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)             # <<<<<<<<<<<<<<
 *         return list(color_multiplier)
 *     @color_multiplier.setter
 */
  __pyx_f_9dearcygui_4core_unparse_color(__pyx_v_color_multiplier, __pyx_v_self->_color_multiplier);

  /* "dearcygui/core.pyx":8749
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)             # <<<<<<<<<<<<<<
 *     @color_multiplier.setter
 *     def color_multiplier(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_color_multiplier, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8743
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Image.color_multiplier.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8750
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)
 *     @color_multiplier.setter             # <<<<<<<<<<<<<<
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Image_16color_multiplier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Image_16color_multiplier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_16color_multiplier_2__set__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Image_16color_multiplier_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8753
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._color_multiplier = parse_color(value)
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8754
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)             # <<<<<<<<<<<<<<
 *     @property
 *     def border_color(self):
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 8754, __pyx_L1_error)
  __pyx_v_self->_color_multiplier = __pyx_t_1;

  /* "dearcygui/core.pyx":8750
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)
 *     @color_multiplier.setter             # <<<<<<<<<<<<<<
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Image.color_multiplier.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8755
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)
 *     @property             # <<<<<<<<<<<<<<
 *     def border_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_12border_color_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_5Image_12border_color_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_12border_color___get__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_12border_color___get__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_border_color[4];
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8758
 *     def border_color(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef float[4] border_color
 *         unparse_color(border_color, self._border_color)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8760
 *         lock_gil_friendly(m, self.mutex)
 *         cdef float[4] border_color
 *         unparse_color(border_color, self._border_color)             # <<<<<<<<<<<<<<
 *         return list(border_color)
 *     @border_color.setter
 */
  __pyx_f_9dearcygui_4core_unparse_color(__pyx_v_border_color, __pyx_v_self->_border_color);

  /* "dearcygui/core.pyx":8761
 *         cdef float[4] border_color
 *         unparse_color(border_color, self._border_color)
 *         return list(border_color)             # <<<<<<<<<<<<<<
 *     @border_color.setter
 *     def border_color(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_border_color, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8755
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)
 *     @property             # <<<<<<<<<<<<<<
 *     def border_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Image.border_color.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8762
 *         unparse_color(border_color, self._border_color)
 *         return list(border_color)
 *     @border_color.setter             # <<<<<<<<<<<<<<
 *     def border_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_5Image_12border_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_5Image_12border_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_12border_color_2__set__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_5Image_12border_color_2__set__(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8765
 *     def border_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._border_color = parse_color(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8766
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._border_color = parse_color(value)             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 8766, __pyx_L1_error)
  __pyx_v_self->_border_color = __pyx_t_1;

  /* "dearcygui/core.pyx":8762
 *         unparse_color(border_color, self._border_color)
 *         return list(border_color)
 *     @border_color.setter             # <<<<<<<<<<<<<<
 *     def border_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Image.border_color.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8768
 *         self._border_color = parse_color(value)
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._texture is None:
 *             return False
 */

static int __pyx_f_9dearcygui_4core_5Image_draw_item(struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_size;
  int __pyx_r;
  int __pyx_t_1;
  ImVec2 __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":8769
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_texture) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8770
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:
 *             return False             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":8769
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 */
  }

  /* "dearcygui/core.pyx":8771
 *         if self._texture is None:
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)             # <<<<<<<<<<<<<<
 *         if self._texture.allocated_texture == NULL:
 *             return False
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->_texture->__pyx_base.mutex);

  /* "dearcygui/core.pyx":8772
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 */
  __pyx_t_1 = (__pyx_v_self->_texture->allocated_texture == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8773
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:
 *             return False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":8772
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 */
  }

  /* "dearcygui/core.pyx":8774
 *         if self._texture.allocated_texture == NULL:
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size             # <<<<<<<<<<<<<<
 *         if size.x == 0.:
 *             size.x = self._texture._width
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.requested_size;
  __pyx_v_size = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

  /* "dearcygui/core.pyx":8775
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:             # <<<<<<<<<<<<<<
 *             size.x = self._texture._width
 *         if size.y == 0.:
 */
  __pyx_t_1 = (__pyx_v_size.x == 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8776
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:
 *             size.x = self._texture._width             # <<<<<<<<<<<<<<
 *         if size.y == 0.:
 *             size.y = self._texture._height
 */
    __pyx_t_3 = __pyx_v_self->_texture->_width;
    __pyx_v_size.x = __pyx_t_3;

    /* "dearcygui/core.pyx":8775
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:             # <<<<<<<<<<<<<<
 *             size.x = self._texture._width
 *         if size.y == 0.:
 */
  }

  /* "dearcygui/core.pyx":8777
 *         if size.x == 0.:
 *             size.x = self._texture._width
 *         if size.y == 0.:             # <<<<<<<<<<<<<<
 *             size.y = self._texture._height
 * 
 */
  __pyx_t_1 = (__pyx_v_size.y == 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8778
 *             size.x = self._texture._width
 *         if size.y == 0.:
 *             size.y = self._texture._height             # <<<<<<<<<<<<<<
 * 
 *         imgui.PushID(self.uuid)
 */
    __pyx_t_3 = __pyx_v_self->_texture->_height;
    __pyx_v_size.y = __pyx_t_3;

    /* "dearcygui/core.pyx":8777
 *         if size.x == 0.:
 *             size.x = self._texture._width
 *         if size.y == 0.:             # <<<<<<<<<<<<<<
 *             size.y = self._texture._height
 * 
 */
  }

  /* "dearcygui/core.pyx":8780
 *             size.y = self._texture._height
 * 
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.Image(self._texture.allocated_texture,
 *                     size,
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":8781
 * 
 *         imgui.PushID(self.uuid)
 *         imgui.Image(self._texture.allocated_texture,             # <<<<<<<<<<<<<<
 *                     size,
 *                     imgui.ImVec2(self._uv[0], self._uv[1]),
 */
  ImGui::Image(__pyx_v_self->_texture->allocated_texture, __pyx_v_size, ImVec2((__pyx_v_self->_uv[0]), (__pyx_v_self->_uv[1])), ImVec2((__pyx_v_self->_uv[2]), (__pyx_v_self->_uv[3])), ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_color_multiplier), ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_border_color));

  /* "dearcygui/core.pyx":8787
 *                     imgui.ColorConvertU32ToFloat4(self._color_multiplier),
 *                     imgui.ColorConvertU32ToFloat4(self._border_color))
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return False
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":8788
 *                     imgui.ColorConvertU32ToFloat4(self._border_color))
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Image *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8789
 *         imgui.PopID()
 *         self.update_current_state()
 *         return False             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8768
 *         self._border_color = parse_color(value)
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._texture is None:
 *             return False
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_5Image_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Image_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_5Image_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Image.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5Image_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_5Image_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Image_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_5Image_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_5Image_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Image *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_5Image_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Image *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Image.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8793
 * 
 * cdef class ImageButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_imagebutton
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton___cinit__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton___cinit__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8794
 * cdef class ImageButton(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_imagebutton             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_imagebutton;

  /* "dearcygui/core.pyx":8795
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_imagebutton
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8795, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8795, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8796
 *         self.theme_condition_category = theme_categories.t_imagebutton
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8797
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":8798
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self._background_color = 0
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8799
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self._background_color = 0
 *         self._color_multiplier = 4294967295
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8800
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self._background_color = 0             # <<<<<<<<<<<<<<
 *         self._color_multiplier = 4294967295
 *         self._frame_padding = -1
 */
  __pyx_v_self->_background_color = 0;

  /* "dearcygui/core.pyx":8801
 *         self.state.cap.can_be_hovered = True
 *         self._background_color = 0
 *         self._color_multiplier = 4294967295             # <<<<<<<<<<<<<<
 *         self._frame_padding = -1
 * 
 */
  __pyx_v_self->_color_multiplier = 0xFFFFFFFF;

  /* "dearcygui/core.pyx":8802
 *         self._background_color = 0
 *         self._color_multiplier = 4294967295
 *         self._frame_padding = -1             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_frame_padding = -1;

  /* "dearcygui/core.pyx":8793
 * 
 * cdef class ImageButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_imagebutton
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8804
 *         self._frame_padding = -1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_7texture_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_7texture_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_7texture___get__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_7texture___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8807
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._texture
 *     @texture.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8808
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture             # <<<<<<<<<<<<<<
 *     @texture.setter
 *     def texture(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_texture);
  __pyx_r = ((PyObject *)__pyx_v_self->_texture);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8804
 *         self._frame_padding = -1
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8809
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture
 *     @texture.setter             # <<<<<<<<<<<<<<
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_7texture_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_7texture_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_7texture_2__set__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton_7texture_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8812
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(isinstance(value, Texture)):
 *             raise TypeError("texture must be a Texture")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8813
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):             # <<<<<<<<<<<<<<
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Texture); 
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":8814
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):
 *             raise TypeError("texture must be a Texture")             # <<<<<<<<<<<<<<
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 8814, __pyx_L1_error)

    /* "dearcygui/core.pyx":8813
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):             # <<<<<<<<<<<<<<
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 */
  }

  /* "dearcygui/core.pyx":8816
 *             raise TypeError("texture must be a Texture")
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value             # <<<<<<<<<<<<<<
 *     @property
 *     def frame_padding(self):
 */
  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Texture))))) __PYX_ERR(1, 8816, __pyx_L1_error)
  __pyx_t_3 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_texture);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_texture);
  __pyx_v_self->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":8809
 *         lock_gil_friendly(m, self.mutex)
 *         return self._texture
 *     @texture.setter             # <<<<<<<<<<<<<<
 *     def texture(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.texture.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8817
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 *     @property             # <<<<<<<<<<<<<<
 *     def frame_padding(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding___get__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8820
 *     def frame_padding(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._frame_padding
 *     @frame_padding.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8821
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._frame_padding             # <<<<<<<<<<<<<<
 *     @frame_padding.setter
 *     def frame_padding(self, int value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_frame_padding); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8817
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 *     @property             # <<<<<<<<<<<<<<
 *     def frame_padding(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.frame_padding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8822
 *         lock_gil_friendly(m, self.mutex)
 *         return self._frame_padding
 *     @frame_padding.setter             # <<<<<<<<<<<<<<
 *     def frame_padding(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8823, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.frame_padding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding_2__set__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton_13frame_padding_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":8825
 *     def frame_padding(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._frame_padding = value
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8826
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._frame_padding = value             # <<<<<<<<<<<<<<
 *     @property
 *     def uv(self):
 */
  __pyx_v_self->_frame_padding = __pyx_v_value;

  /* "dearcygui/core.pyx":8822
 *         lock_gil_friendly(m, self.mutex)
 *         return self._frame_padding
 *     @frame_padding.setter             # <<<<<<<<<<<<<<
 *     def frame_padding(self, int value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8827
 *         lock_gil_friendly(m, self.mutex)
 *         self._frame_padding = value
 *     @property             # <<<<<<<<<<<<<<
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_2uv_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_2uv_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_2uv___get__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_2uv___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8830
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return list(self._uv)
 *     @uv.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8831
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)             # <<<<<<<<<<<<<<
 *     @uv.setter
 *     def uv(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_self->_uv, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8827
 *         lock_gil_friendly(m, self.mutex)
 *         self._frame_padding = value
 *     @property             # <<<<<<<<<<<<<<
 *     def uv(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.uv.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8832
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)
 *     @uv.setter             # <<<<<<<<<<<<<<
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_2uv_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_2uv_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_2uv_2__set__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton_2uv_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8835
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         read_vec4[float](self._uv, value)
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8836
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)             # <<<<<<<<<<<<<<
 *     @property
 *     def color_multiplier(self):
 */
  __pyx_fuse_1__pyx_f_9dearcygui_4core_read_vec4(__pyx_v_self->_uv, __pyx_v_value); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8836, __pyx_L1_error)

  /* "dearcygui/core.pyx":8832
 *         lock_gil_friendly(m, self.mutex)
 *         return list(self._uv)
 *     @uv.setter             # <<<<<<<<<<<<<<
 *     def uv(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.uv.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8837
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier___get__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_color_multiplier[4];
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8840
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8842
 *         lock_gil_friendly(m, self.mutex)
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)             # <<<<<<<<<<<<<<
 *         return list(color_multiplier)
 *     @color_multiplier.setter
 */
  __pyx_f_9dearcygui_4core_unparse_color(__pyx_v_color_multiplier, __pyx_v_self->_color_multiplier);

  /* "dearcygui/core.pyx":8843
 *         cdef float[4] color_multiplier
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)             # <<<<<<<<<<<<<<
 *     @color_multiplier.setter
 *     def color_multiplier(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_color_multiplier, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8837
 *         lock_gil_friendly(m, self.mutex)
 *         read_vec4[float](self._uv, value)
 *     @property             # <<<<<<<<<<<<<<
 *     def color_multiplier(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.color_multiplier.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8844
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)
 *     @color_multiplier.setter             # <<<<<<<<<<<<<<
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier_2__set__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton_16color_multiplier_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8847
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._color_multiplier = parse_color(value)
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8848
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)             # <<<<<<<<<<<<<<
 *     @property
 *     def background_color(self):
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 8848, __pyx_L1_error)
  __pyx_v_self->_color_multiplier = __pyx_t_1;

  /* "dearcygui/core.pyx":8844
 *         unparse_color(color_multiplier, self._color_multiplier)
 *         return list(color_multiplier)
 *     @color_multiplier.setter             # <<<<<<<<<<<<<<
 *     def color_multiplier(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.color_multiplier.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8849
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)
 *     @property             # <<<<<<<<<<<<<<
 *     def background_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_16background_color_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_16background_color_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_16background_color___get__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_16background_color___get__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  float __pyx_v_background_color[4];
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8852
 *     def background_color(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef float[4] background_color
 *         unparse_color(background_color, self._background_color)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8854
 *         lock_gil_friendly(m, self.mutex)
 *         cdef float[4] background_color
 *         unparse_color(background_color, self._background_color)             # <<<<<<<<<<<<<<
 *         return list(background_color)
 *     @background_color.setter
 */
  __pyx_f_9dearcygui_4core_unparse_color(__pyx_v_background_color, __pyx_v_self->_background_color);

  /* "dearcygui/core.pyx":8855
 *         cdef float[4] background_color
 *         unparse_color(background_color, self._background_color)
 *         return list(background_color)             # <<<<<<<<<<<<<<
 *     @background_color.setter
 *     def background_color(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float(__pyx_v_background_color, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8849
 *         lock_gil_friendly(m, self.mutex)
 *         self._color_multiplier = parse_color(value)
 *     @property             # <<<<<<<<<<<<<<
 *     def background_color(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ImageButton.background_color.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8856
 *         unparse_color(background_color, self._background_color)
 *         return list(background_color)
 *     @background_color.setter             # <<<<<<<<<<<<<<
 *     def background_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ImageButton_16background_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ImageButton_16background_color_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_16background_color_2__set__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ImageButton_16background_color_2__set__(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  ImU32 __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":8859
 *     def background_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._background_color = parse_color(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8860
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._background_color = parse_color(value)             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_value); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 8860, __pyx_L1_error)
  __pyx_v_self->_background_color = __pyx_t_1;

  /* "dearcygui/core.pyx":8856
 *         unparse_color(background_color, self._background_color)
 *         return list(background_color)
 *     @background_color.setter             # <<<<<<<<<<<<<<
 *     def background_color(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.background_color.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8862
 *         self._background_color = parse_color(value)
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._texture is None:
 *             return False
 */

static int __pyx_f_9dearcygui_4core_11ImageButton_draw_item(struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_size;
  int __pyx_v_activated;
  int __pyx_r;
  int __pyx_t_1;
  ImVec2 __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":8863
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_texture) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8864
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:
 *             return False             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":8863
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self._texture is None:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 */
  }

  /* "dearcygui/core.pyx":8865
 *         if self._texture is None:
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)             # <<<<<<<<<<<<<<
 *         if self._texture.allocated_texture == NULL:
 *             return False
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->_texture->__pyx_base.mutex);

  /* "dearcygui/core.pyx":8866
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 */
  __pyx_t_1 = (__pyx_v_self->_texture->allocated_texture == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8867
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:
 *             return False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":8866
 *             return False
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self._texture.mutex)
 *         if self._texture.allocated_texture == NULL:             # <<<<<<<<<<<<<<
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 */
  }

  /* "dearcygui/core.pyx":8868
 *         if self._texture.allocated_texture == NULL:
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size             # <<<<<<<<<<<<<<
 *         if size.x == 0.:
 *             size.x = self._texture._width
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.requested_size;
  __pyx_v_size = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2);

  /* "dearcygui/core.pyx":8869
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:             # <<<<<<<<<<<<<<
 *             size.x = self._texture._width
 *         if size.y == 0.:
 */
  __pyx_t_1 = (__pyx_v_size.x == 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8870
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:
 *             size.x = self._texture._width             # <<<<<<<<<<<<<<
 *         if size.y == 0.:
 *             size.y = self._texture._height
 */
    __pyx_t_3 = __pyx_v_self->_texture->_width;
    __pyx_v_size.x = __pyx_t_3;

    /* "dearcygui/core.pyx":8869
 *             return False
 *         cdef imgui.ImVec2 size = self.requested_size
 *         if size.x == 0.:             # <<<<<<<<<<<<<<
 *             size.x = self._texture._width
 *         if size.y == 0.:
 */
  }

  /* "dearcygui/core.pyx":8871
 *         if size.x == 0.:
 *             size.x = self._texture._width
 *         if size.y == 0.:             # <<<<<<<<<<<<<<
 *             size.y = self._texture._height
 * 
 */
  __pyx_t_1 = (__pyx_v_size.y == 0.);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8872
 *             size.x = self._texture._width
 *         if size.y == 0.:
 *             size.y = self._texture._height             # <<<<<<<<<<<<<<
 * 
 *         imgui.PushID(self.uuid)
 */
    __pyx_t_3 = __pyx_v_self->_texture->_height;
    __pyx_v_size.y = __pyx_t_3;

    /* "dearcygui/core.pyx":8871
 *         if size.x == 0.:
 *             size.x = self._texture._width
 *         if size.y == 0.:             # <<<<<<<<<<<<<<
 *             size.y = self._texture._height
 * 
 */
  }

  /* "dearcygui/core.pyx":8874
 *             size.y = self._texture._height
 * 
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         if self._frame_padding >= 0:
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_FramePadding,
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":8875
 * 
 *         imgui.PushID(self.uuid)
 *         if self._frame_padding >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_FramePadding,
 *                                imgui.ImVec2(<float>self._frame_padding,
 */
  __pyx_t_1 = (__pyx_v_self->_frame_padding >= 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8876
 *         imgui.PushID(self.uuid)
 *         if self._frame_padding >= 0:
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_FramePadding,             # <<<<<<<<<<<<<<
 *                                imgui.ImVec2(<float>self._frame_padding,
 *                                             <float>self._frame_padding))
 */
    ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(((float)__pyx_v_self->_frame_padding), ((float)__pyx_v_self->_frame_padding)));

    /* "dearcygui/core.pyx":8875
 * 
 *         imgui.PushID(self.uuid)
 *         if self._frame_padding >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_FramePadding,
 *                                imgui.ImVec2(<float>self._frame_padding,
 */
  }

  /* "dearcygui/core.pyx":8880
 *                                             <float>self._frame_padding))
 *         cdef bint activated
 *         activated = imgui.ImageButton(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                       self._texture.allocated_texture,
 *                                       size,
 */
  __pyx_v_activated = ImGui::ImageButton(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->_texture->allocated_texture, __pyx_v_size, ImVec2((__pyx_v_self->_uv[0]), (__pyx_v_self->_uv[1])), ImVec2((__pyx_v_self->_uv[2]), (__pyx_v_self->_uv[3])), ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_color_multiplier), ImGui::ColorConvertU32ToFloat4(__pyx_v_self->_background_color));

  /* "dearcygui/core.pyx":8887
 *                                       imgui.ColorConvertU32ToFloat4(self._color_multiplier),
 *                                       imgui.ColorConvertU32ToFloat4(self._background_color))
 *         if self._frame_padding >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleVar(1)
 *         imgui.PopID()
 */
  __pyx_t_1 = (__pyx_v_self->_frame_padding >= 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8888
 *                                       imgui.ColorConvertU32ToFloat4(self._background_color))
 *         if self._frame_padding >= 0:
 *             imgui.PopStyleVar(1)             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
    ImGui::PopStyleVar(1);

    /* "dearcygui/core.pyx":8887
 *                                       imgui.ColorConvertU32ToFloat4(self._color_multiplier),
 *                                       imgui.ColorConvertU32ToFloat4(self._background_color))
 *         if self._frame_padding >= 0:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleVar(1)
 *         imgui.PopID()
 */
  }

  /* "dearcygui/core.pyx":8889
 *         if self._frame_padding >= 0:
 *             imgui.PopStyleVar(1)
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return activated
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":8890
 *             imgui.PopStyleVar(1)
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ImageButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8891
 *         imgui.PopID()
 *         self.update_current_state()
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * cdef class Separator(uiItem):
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8862
 *         self._background_color = parse_color(value)
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self._texture is None:
 *             return False
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ImageButton_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ImageButton_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ImageButton_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ImageButton_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ImageButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ImageButton_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ImageButton *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ImageButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ImageButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ImageButton.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8894
 * 
 * cdef class Separator(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *     # TODO: is label override really needed ?
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9Separator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9Separator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9Separator___cinit__(((struct __pyx_obj_9dearcygui_4core_Separator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9Separator___cinit__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":8895
 * cdef class Separator(uiItem):
 *     def __cinit__(self):
 *         self.state.cap.has_rect_size = False             # <<<<<<<<<<<<<<
 *     # TODO: is label override really needed ?
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 0;

  /* "dearcygui/core.pyx":8894
 * 
 * cdef class Separator(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *     # TODO: is label override really needed ?
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8897
 *         self.state.cap.has_rect_size = False
 *     # TODO: is label override really needed ?
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_5label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_5label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9Separator_5label___get__(((struct __pyx_obj_9dearcygui_4core_Separator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9Separator_5label___get__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":8900
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         """
 *         Writable attribute: label assigned to the item.
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8905
 *         Used for text fields, window titles, etc
 *         """
 *         return self.user_label             # <<<<<<<<<<<<<<
 *     @label.setter
 *     def label(self, str value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.user_label);
  __pyx_r = __pyx_v_self->__pyx_base.user_label;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8897
 *         self.state.cap.has_rect_size = False
 *     # TODO: is label override really needed ?
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8906
 *         """
 *         return self.user_label
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9Separator_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9Separator_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 8907, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_9Separator_5label_2__set__(((struct __pyx_obj_9dearcygui_4core_Separator *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9Separator_5label_2__set__(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":8909
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value is None:
 *             self.user_label = ""
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":8910
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject*)Py_None));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8911
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:
 *             self.user_label = ""             # <<<<<<<<<<<<<<
 *         else:
 *             self.user_label = value
 */
    __Pyx_INCREF(__pyx_kp_u_);
    __Pyx_GIVEREF(__pyx_kp_u_);
    __Pyx_GOTREF(__pyx_v_self->__pyx_base.user_label);
    __Pyx_DECREF(__pyx_v_self->__pyx_base.user_label);
    __pyx_v_self->__pyx_base.user_label = __pyx_kp_u_;

    /* "dearcygui/core.pyx":8910
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":8913
 *             self.user_label = ""
 *         else:
 *             self.user_label = value             # <<<<<<<<<<<<<<
 *         # uuid is not used for text, and we don't want to
 *         # add it when we show the label, thus why we override
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    __Pyx_GOTREF(__pyx_v_self->__pyx_base.user_label);
    __Pyx_DECREF(__pyx_v_self->__pyx_base.user_label);
    __pyx_v_self->__pyx_base.user_label = __pyx_v_value;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":8917
 *         # add it when we show the label, thus why we override
 *         # the label property here.
 *         self.imgui_label = bytes(self.user_label, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.user_label);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.user_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->__pyx_base.user_label)) __PYX_ERR(1, 8917, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 8917, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_self->__pyx_base.imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

  /* "dearcygui/core.pyx":8906
 *         """
 *         return self.user_label
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Separator.label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8919
 *         self.imgui_label = bytes(self.user_label, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.user_label is None:
 *             imgui.Separator()
 */

static int __pyx_f_9dearcygui_4core_9Separator_draw_item(struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self) {
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":8920
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.user_label is None:             # <<<<<<<<<<<<<<
 *             imgui.Separator()
 *         else:
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.user_label == ((PyObject*)Py_None));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8921
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.user_label is None:
 *             imgui.Separator()             # <<<<<<<<<<<<<<
 *         else:
 *             imgui.SeparatorText(self.imgui_label.c_str())
 */
    ImGui::Separator();

    /* "dearcygui/core.pyx":8920
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.user_label is None:             # <<<<<<<<<<<<<<
 *             imgui.Separator()
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":8923
 *             imgui.Separator()
 *         else:
 *             imgui.SeparatorText(self.imgui_label.c_str())             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  /*else*/ {
    ImGui::SeparatorText(__pyx_v_self->__pyx_base.imgui_label.c_str());
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":8924
 *         else:
 *             imgui.SeparatorText(self.imgui_label.c_str())
 *         return False             # <<<<<<<<<<<<<<
 * 
 * cdef class Spacer(uiItem):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8919
 *         self.imgui_label = bytes(self.user_label, 'utf-8')
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.user_label is None:
 *             imgui.Separator()
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9Separator_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9Separator_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9Separator_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Separator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9Separator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Separator.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9Separator_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9Separator_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9Separator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9Separator_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Separator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9Separator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Separator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Separator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8927
 * 
 * cdef class Spacer(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Spacer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Spacer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Spacer___cinit__(((struct __pyx_obj_9dearcygui_4core_Spacer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Spacer___cinit__(struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":8928
 * cdef class Spacer(uiItem):
 *     def __cinit__(self):
 *         self.state.cap.has_rect_size = False             # <<<<<<<<<<<<<<
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 0;

  /* "dearcygui/core.pyx":8929
 *     def __cinit__(self):
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False             # <<<<<<<<<<<<<<
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.requested_size.x == 0 and \
 */
  __pyx_v_self->__pyx_base.can_be_disabled = 0;

  /* "dearcygui/core.pyx":8927
 * 
 * cdef class Spacer(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8930
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.requested_size.x == 0 and \
 *            self.requested_size.y == 0:
 */

static int __pyx_f_9dearcygui_4core_6Spacer_draw_item(struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":8931
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.requested_size.x == 0 and \             # <<<<<<<<<<<<<<
 *            self.requested_size.y == 0:
 *             imgui.Spacing()
 */
  __pyx_t_2 = (__pyx_v_self->__pyx_base.requested_size.x == 0.0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":8932
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.requested_size.x == 0 and \
 *            self.requested_size.y == 0:             # <<<<<<<<<<<<<<
 *             imgui.Spacing()
 *         else:
 */
  __pyx_t_2 = (__pyx_v_self->__pyx_base.requested_size.y == 0.0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":8931
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.requested_size.x == 0 and \             # <<<<<<<<<<<<<<
 *            self.requested_size.y == 0:
 *             imgui.Spacing()
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":8933
 *         if self.requested_size.x == 0 and \
 *            self.requested_size.y == 0:
 *             imgui.Spacing()             # <<<<<<<<<<<<<<
 *         else:
 *             imgui.Dummy(self.requested_size)
 */
    ImGui::Spacing();

    /* "dearcygui/core.pyx":8931
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:
 *         if self.requested_size.x == 0 and \             # <<<<<<<<<<<<<<
 *            self.requested_size.y == 0:
 *             imgui.Spacing()
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":8935
 *             imgui.Spacing()
 *         else:
 *             imgui.Dummy(self.requested_size)             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
  /*else*/ {
    ImGui::Dummy(__pyx_v_self->__pyx_base.requested_size);
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":8936
 *         else:
 *             imgui.Dummy(self.requested_size)
 *         return False             # <<<<<<<<<<<<<<
 * 
 * cdef class MenuBar(uiItem):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8930
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.requested_size.x == 0 and \
 *            self.requested_size.y == 0:
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Spacer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Spacer_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Spacer_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Spacer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Spacer_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Spacer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Spacer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Spacer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Spacer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Spacer_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Spacer_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Spacer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Spacer_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Spacer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Spacer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Spacer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Spacer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8939
 * 
 * cdef class MenuBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7MenuBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_7MenuBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_7MenuBar___cinit__(((struct __pyx_obj_9dearcygui_4core_MenuBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7MenuBar___cinit__(struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":8941
 *     def __cinit__(self):
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_menubar
 *         self.theme_condition_category = theme_categories.t_menubar
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":8942
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 *         self.element_child_category = child_type.cat_menubar             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_menubar
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_menubar;

  /* "dearcygui/core.pyx":8943
 *         self.can_have_widget_child = True
 *         self.element_child_category = child_type.cat_menubar
 *         self.theme_condition_category = theme_categories.t_menubar             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_menubar;

  /* "dearcygui/core.pyx":8944
 *         self.element_child_category = child_type.cat_menubar
 *         self.theme_condition_category = theme_categories.t_menubar
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8945
 *         self.theme_condition_category = theme_categories.t_menubar
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True # TODO
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8946
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_content_region = True # TODO
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8947
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True # TODO             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.state.cap.has_content_region = 1;

  /* "dearcygui/core.pyx":8939
 * 
 * cdef class MenuBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":8949
 *         self.state.cap.has_content_region = True # TODO
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint menu_allowed
 *         cdef bint parent_viewport = self._parent is self.context._viewport
 */

static int __pyx_f_9dearcygui_4core_7MenuBar_draw_item(struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self) {
  int __pyx_v_menu_allowed;
  int __pyx_v_parent_viewport;
  ImVec2 __pyx_v_pos_w;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":8951
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint menu_allowed
 *         cdef bint parent_viewport = self._parent is self.context._viewport             # <<<<<<<<<<<<<<
 *         if parent_viewport:
 *             menu_allowed = imgui.BeginMainMenuBar()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._parent) == ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context->_viewport));
  __pyx_v_parent_viewport = __pyx_t_1;

  /* "dearcygui/core.pyx":8952
 *         cdef bint menu_allowed
 *         cdef bint parent_viewport = self._parent is self.context._viewport
 *         if parent_viewport:             # <<<<<<<<<<<<<<
 *             menu_allowed = imgui.BeginMainMenuBar()
 *         else:
 */
  if (__pyx_v_parent_viewport) {

    /* "dearcygui/core.pyx":8953
 *         cdef bint parent_viewport = self._parent is self.context._viewport
 *         if parent_viewport:
 *             menu_allowed = imgui.BeginMainMenuBar()             # <<<<<<<<<<<<<<
 *         else:
 *             menu_allowed = imgui.BeginMenuBar()
 */
    __pyx_v_menu_allowed = ImGui::BeginMainMenuBar();

    /* "dearcygui/core.pyx":8952
 *         cdef bint menu_allowed
 *         cdef bint parent_viewport = self._parent is self.context._viewport
 *         if parent_viewport:             # <<<<<<<<<<<<<<
 *             menu_allowed = imgui.BeginMainMenuBar()
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":8955
 *             menu_allowed = imgui.BeginMainMenuBar()
 *         else:
 *             menu_allowed = imgui.BeginMenuBar()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_allowed:
 */
  /*else*/ {
    __pyx_v_menu_allowed = ImGui::BeginMenuBar();
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":8957
 *             menu_allowed = imgui.BeginMenuBar()
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_allowed:             # <<<<<<<<<<<<<<
 *             self.update_current_state()
 *             if self.last_widgets_child is not None:
 */
  if (__pyx_v_menu_allowed) {

    /* "dearcygui/core.pyx":8958
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_allowed:
 *             self.update_current_state()             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 # We are at the top of the window, but behave as if popup
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_MenuBar *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":8959
 *         if menu_allowed:
 *             self.update_current_state()
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are at the top of the window, but behave as if popup
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":8961
 *             if self.last_widgets_child is not None:
 *                 # We are at the top of the window, but behave as if popup
 *                 pos_w = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 */
      __pyx_v_pos_w = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":8962
 *                 # We are at the top of the window, but behave as if popup
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w             # <<<<<<<<<<<<<<
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
      __pyx_v_pos_p = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":8963
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_w, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 8963, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":8964
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 8964, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":8965
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":8966
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             if parent_viewport:
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":8967
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             if parent_viewport:
 *                 imgui.EndMainMenuBar()
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":8959
 *         if menu_allowed:
 *             self.update_current_state()
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are at the top of the window, but behave as if popup
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    }

    /* "dearcygui/core.pyx":8968
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 *             if parent_viewport:             # <<<<<<<<<<<<<<
 *                 imgui.EndMainMenuBar()
 *             else:
 */
    if (__pyx_v_parent_viewport) {

      /* "dearcygui/core.pyx":8969
 *                 self.context._viewport.parent_pos = pos_p
 *             if parent_viewport:
 *                 imgui.EndMainMenuBar()             # <<<<<<<<<<<<<<
 *             else:
 *                 imgui.EndMenuBar()
 */
      ImGui::EndMainMenuBar();

      /* "dearcygui/core.pyx":8968
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 *             if parent_viewport:             # <<<<<<<<<<<<<<
 *                 imgui.EndMainMenuBar()
 *             else:
 */
      goto __pyx_L6;
    }

    /* "dearcygui/core.pyx":8971
 *                 imgui.EndMainMenuBar()
 *             else:
 *                 imgui.EndMenuBar()             # <<<<<<<<<<<<<<
 *         else:
 *             # We should hit this only if window is invisible
 */
    /*else*/ {
      ImGui::EndMenuBar();
    }
    __pyx_L6:;

    /* "dearcygui/core.pyx":8957
 *             menu_allowed = imgui.BeginMenuBar()
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_allowed:             # <<<<<<<<<<<<<<
 *             self.update_current_state()
 *             if self.last_widgets_child is not None:
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":8975
 *             # We should hit this only if window is invisible
 *             # or has no menu bar
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_MenuBar *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":8976
 *             # or has no menu bar
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (__pyx_v_self->__pyx_base.state.cur.active) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.state.cur.active;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_self->__pyx_base.state.prev.active);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8949
 *         self.state.cap.has_content_region = True # TODO
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint menu_allowed
 *         cdef bint parent_viewport = self._parent is self.context._viewport
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.MenuBar.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7MenuBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7MenuBar_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7MenuBar_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7MenuBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7MenuBar_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_MenuBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7MenuBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MenuBar.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7MenuBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7MenuBar_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7MenuBar_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7MenuBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7MenuBar_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_MenuBar *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7MenuBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_MenuBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.MenuBar.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8981
 * cdef class Menu(uiItem):
 *     # TODO: MUST be inside a menubar
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Menu_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Menu_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Menu___cinit__(((struct __pyx_obj_9dearcygui_4core_Menu *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Menu___cinit__(struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":8983
 *     def __cinit__(self):
 *         # We should maybe restrict to menuitem ?
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.theme_condition_category = theme_categories.t_menu
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 8983, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":8984
 *         # We should maybe restrict to menuitem ?
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_menu
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":8985
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 *         self.theme_condition_category = theme_categories.t_menu             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_menu;

  /* "dearcygui/core.pyx":8986
 *         self.can_have_widget_child = True
 *         self.theme_condition_category = theme_categories.t_menu
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":8987
 *         self.theme_condition_category = theme_categories.t_menu
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":8988
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":8989
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":8990
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":8981
 * cdef class Menu(uiItem):
 *     # TODO: MUST be inside a menubar
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Menu.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":8992
 *         self.state.cap.has_rect_size = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint menu_open = imgui.BeginMenu(self.imgui_label.c_str(),
 *                                               self._enabled)
 */

static int __pyx_f_9dearcygui_4core_4Menu_draw_item(struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self) {
  int __pyx_v_menu_open;
  ImVec2 __pyx_v_pos_w;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":8993
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint menu_open = imgui.BeginMenu(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                               self._enabled)
 *         self.update_current_state()
 */
  __pyx_v_menu_open = ImGui::BeginMenu(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->__pyx_base._enabled);

  /* "dearcygui/core.pyx":8995
 *         cdef bint menu_open = imgui.BeginMenu(self.imgui_label.c_str(),
 *                                               self._enabled)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_open:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Menu *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":8997
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_open:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 */
  if (__pyx_v_menu_open) {

    /* "dearcygui/core.pyx":8998
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_open:
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = ImGui::IsWindowHovered(ImGuiHoveredFlags_None);

    /* "dearcygui/core.pyx":8999
 *         if menu_open:
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()
 *             self.state.cur.rect_size.y = imgui.GetWindowHeight()
 */
    __pyx_v_self->__pyx_base.state.cur.focused = ImGui::IsWindowFocused(ImGuiFocusedFlags_None);

    /* "dearcygui/core.pyx":9000
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size.y = imgui.GetWindowHeight()
 *             if self.last_widgets_child is not None:
 */
    __pyx_v_self->__pyx_base.state.cur.rect_size.x = ImGui::GetWindowWidth();

    /* "dearcygui/core.pyx":9001
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()
 *             self.state.cur.rect_size.y = imgui.GetWindowHeight()             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 # We are in a separate window
 */
    __pyx_v_self->__pyx_base.state.cur.rect_size.y = ImGui::GetWindowHeight();

    /* "dearcygui/core.pyx":9002
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()
 *             self.state.cur.rect_size.y = imgui.GetWindowHeight()
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are in a separate window
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9004
 *             if self.last_widgets_child is not None:
 *                 # We are in a separate window
 *                 pos_w = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 */
      __pyx_v_pos_w = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":9005
 *                 # We are in a separate window
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w             # <<<<<<<<<<<<<<
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
      __pyx_v_pos_p = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":9006
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_w, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9006, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9007
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9007, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9008
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":9009
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndMenu()
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":9010
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             imgui.EndMenu()
 *         else:
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":9002
 *             self.state.cur.rect_size.x = imgui.GetWindowWidth()
 *             self.state.cur.rect_size.y = imgui.GetWindowHeight()
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are in a separate window
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    }

    /* "dearcygui/core.pyx":9011
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndMenu()             # <<<<<<<<<<<<<<
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    ImGui::EndMenu();

    /* "dearcygui/core.pyx":8997
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if menu_open:             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":9013
 *             imgui.EndMenu()
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         SharedBool.set(<SharedBool>self._value, menu_open)
 *         return self.state.cur.active and not(self.state.prev.active)
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_Menu *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":9014
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         SharedBool.set(<SharedBool>self._value, menu_open)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_menu_open);

  /* "dearcygui/core.pyx":9015
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         SharedBool.set(<SharedBool>self._value, menu_open)
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 * cdef class Tooltip(uiItem):
 */
  if (__pyx_v_self->__pyx_base.state.cur.active) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.state.cur.active;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_self->__pyx_base.state.prev.active);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":8992
 *         self.state.cap.has_rect_size = True
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint menu_open = imgui.BeginMenu(self.imgui_label.c_str(),
 *                                               self._enabled)
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.Menu.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Menu_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Menu_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Menu_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Menu_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Menu_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Menu *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Menu_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Menu.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Menu_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Menu_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Menu_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Menu_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Menu_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Menu *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Menu_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Menu *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Menu.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9018
 * 
 * cdef class Tooltip(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Tooltip_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Tooltip_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip___cinit__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Tooltip___cinit__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":9020
 *     def __cinit__(self):
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_tooltip
 *         self.state.cap.can_be_active = True # TODO unsure. Maybe use open instead ?
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":9021
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 *         self.theme_condition_category = theme_categories.t_tooltip             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True # TODO unsure. Maybe use open instead ?
 *         self.state.cap.has_position = False
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_tooltip;

  /* "dearcygui/core.pyx":9022
 *         self.can_have_widget_child = True
 *         self.theme_condition_category = theme_categories.t_tooltip
 *         self.state.cap.can_be_active = True # TODO unsure. Maybe use open instead ?             # <<<<<<<<<<<<<<
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":9023
 *         self.theme_condition_category = theme_categories.t_tooltip
 *         self.state.cap.can_be_active = True # TODO unsure. Maybe use open instead ?
 *         self.state.cap.has_position = False             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *         self._delay = 0.
 */
  __pyx_v_self->__pyx_base.state.cap.has_position = 0;

  /* "dearcygui/core.pyx":9024
 *         self.state.cap.can_be_active = True # TODO unsure. Maybe use open instead ?
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False             # <<<<<<<<<<<<<<
 *         self._delay = 0.
 *         self._hide_on_activity = False
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 0;

  /* "dearcygui/core.pyx":9025
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False
 *         self._delay = 0.             # <<<<<<<<<<<<<<
 *         self._hide_on_activity = False
 *         self._target = None
 */
  __pyx_v_self->_delay = 0.;

  /* "dearcygui/core.pyx":9026
 *         self.state.cap.has_rect_size = False
 *         self._delay = 0.
 *         self._hide_on_activity = False             # <<<<<<<<<<<<<<
 *         self._target = None
 * 
 */
  __pyx_v_self->_hide_on_activity = 0;

  /* "dearcygui/core.pyx":9027
 *         self._delay = 0.
 *         self._hide_on_activity = False
 *         self._target = None             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_target);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_target);
  __pyx_v_self->_target = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":9018
 * 
 * cdef class Tooltip(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         # We should maybe restrict to menuitem ?
 *         self.can_have_widget_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9030
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def target(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_6target_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_6target_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_6target___get__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_6target___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9044
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._target
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9045
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._target             # <<<<<<<<<<<<<<
 * 
 *     @target.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_target);
  __pyx_r = ((PyObject *)__pyx_v_self->_target);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9030
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def target(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9047
 *         return self._target
 * 
 *     @target.setter             # <<<<<<<<<<<<<<
 *     def target(self, baseItem target):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Tooltip_6target_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Tooltip_6target_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_target), __pyx_ptype_9dearcygui_4core_baseItem, 1, "target", 0))) __PYX_ERR(1, 9048, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_6target_2__set__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_target));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Tooltip_6target_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseItem *__pyx_v_target) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9050
 *     def target(self, baseItem target):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._target = None
 *         if target is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9051
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._target = None             # <<<<<<<<<<<<<<
 *         if target is None:
 *             return
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_target);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_target);
  __pyx_v_self->_target = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None);

  /* "dearcygui/core.pyx":9052
 *         lock_gil_friendly(m, self.mutex)
 *         self._target = None
 *         if target is None:             # <<<<<<<<<<<<<<
 *             return
 *         if self.secondary_handler is not None:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_target) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9053
 *         self._target = None
 *         if target is None:
 *             return             # <<<<<<<<<<<<<<
 *         if self.secondary_handler is not None:
 *             self.secondary_handler.check_bind(target)
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":9052
 *         lock_gil_friendly(m, self.mutex)
 *         self._target = None
 *         if target is None:             # <<<<<<<<<<<<<<
 *             return
 *         if self.secondary_handler is not None:
 */
  }

  /* "dearcygui/core.pyx":9054
 *         if target is None:
 *             return
 *         if self.secondary_handler is not None:             # <<<<<<<<<<<<<<
 *             self.secondary_handler.check_bind(target)
 *         # TODO: Raise a warning ?
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->secondary_handler) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9055
 *             return
 *         if self.secondary_handler is not None:
 *             self.secondary_handler.check_bind(target)             # <<<<<<<<<<<<<<
 *         # TODO: Raise a warning ?
 *         #elif target.p_state == NULL or not(target.p_state.cap.can_be_hovered):
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)__pyx_v_self->secondary_handler->__pyx_base.__pyx_vtab)->check_bind(__pyx_v_self->secondary_handler, __pyx_v_target); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9055, __pyx_L1_error)

    /* "dearcygui/core.pyx":9054
 *         if target is None:
 *             return
 *         if self.secondary_handler is not None:             # <<<<<<<<<<<<<<
 *             self.secondary_handler.check_bind(target)
 *         # TODO: Raise a warning ?
 */
  }

  /* "dearcygui/core.pyx":9059
 *         #elif target.p_state == NULL or not(target.p_state.cap.can_be_hovered):
 *         #    raise TypeError(f"Unsupported target instance {target}")
 *         self._target = target             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_target);
  __Pyx_GIVEREF((PyObject *)__pyx_v_target);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_target);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_target);
  __pyx_v_self->_target = __pyx_v_target;

  /* "dearcygui/core.pyx":9047
 *         return self._target
 * 
 *     @target.setter             # <<<<<<<<<<<<<<
 *     def target(self, baseItem target):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Tooltip.target.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9061
 *         self._target = target
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def condition_from_handler(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler___get__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9070
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.secondary_handler
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9071
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.secondary_handler             # <<<<<<<<<<<<<<
 * 
 *     @condition_from_handler.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->secondary_handler);
  __pyx_r = ((PyObject *)__pyx_v_self->secondary_handler);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9061
 *         self._target = target
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def condition_from_handler(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9073
 *         return self.secondary_handler
 * 
 *     @condition_from_handler.setter             # <<<<<<<<<<<<<<
 *     def condition_from_handler(self, baseHandler handler):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handler); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handler) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handler), __pyx_ptype_9dearcygui_4core_baseHandler, 1, "handler", 0))) __PYX_ERR(1, 9074, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler_2__set__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_v_handler));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Tooltip_22condition_from_handler_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9076
 *     def condition_from_handler(self, baseHandler handler):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._target is not None:
 *             handler.check_bind(self._target)
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9077
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._target is not None:             # <<<<<<<<<<<<<<
 *             handler.check_bind(self._target)
 *         self.secondary_handler = handler
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_target) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9078
 *         lock_gil_friendly(m, self.mutex)
 *         if self._target is not None:
 *             handler.check_bind(self._target)             # <<<<<<<<<<<<<<
 *         self.secondary_handler = handler
 * 
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_self->_target);
    __Pyx_INCREF(__pyx_t_2);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)__pyx_v_handler->__pyx_base.__pyx_vtab)->check_bind(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9078, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":9077
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._target is not None:             # <<<<<<<<<<<<<<
 *             handler.check_bind(self._target)
 *         self.secondary_handler = handler
 */
  }

  /* "dearcygui/core.pyx":9079
 *         if self._target is not None:
 *             handler.check_bind(self._target)
 *         self.secondary_handler = handler             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_handler);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handler);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->secondary_handler);
  __Pyx_DECREF((PyObject *)__pyx_v_self->secondary_handler);
  __pyx_v_self->secondary_handler = __pyx_v_handler;

  /* "dearcygui/core.pyx":9073
 *         return self.secondary_handler
 * 
 *     @condition_from_handler.setter             # <<<<<<<<<<<<<<
 *     def condition_from_handler(self, baseHandler handler):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Tooltip.condition_from_handler.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9081
 *         self.secondary_handler = handler
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def delay(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_5delay_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_5delay_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_5delay___get__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_5delay___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9090
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._delay
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9091
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._delay             # <<<<<<<<<<<<<<
 * 
 *     @delay.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_delay); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9081
 *         self.secondary_handler = handler
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def delay(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tooltip.delay.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9093
 *         return self._delay
 * 
 *     @delay.setter             # <<<<<<<<<<<<<<
 *     def delay(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Tooltip_5delay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Tooltip_5delay_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9094, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tooltip.delay.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_5delay_2__set__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Tooltip_5delay_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9096
 *     def delay(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._delay = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9097
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._delay = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_delay = __pyx_v_value;

  /* "dearcygui/core.pyx":9093
 *         return self._delay
 * 
 *     @delay.setter             # <<<<<<<<<<<<<<
 *     def delay(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9099
 *         self._delay = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hide_on_activity(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity___get__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity___get__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9105
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._delay
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9106
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._delay             # <<<<<<<<<<<<<<
 * 
 *     @hide_on_activity.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_delay); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9099
 *         self._delay = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hide_on_activity(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tooltip.hide_on_activity.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9108
 *         return self._delay
 * 
 *     @hide_on_activity.setter             # <<<<<<<<<<<<<<
 *     def hide_on_activity(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9109, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tooltip.hide_on_activity.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity_2__set__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Tooltip_16hide_on_activity_2__set__(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9111
 *     def hide_on_activity(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._delay = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9112
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._delay = value             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_v_self->_delay = __pyx_v_value;

  /* "dearcygui/core.pyx":9108
 *         return self._delay
 * 
 *     @hide_on_activity.setter             # <<<<<<<<<<<<<<
 *     def hide_on_activity(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9114
 *         self._delay = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float hoverDelay_backup
 *         cdef bint display_condition = False
 */

static int __pyx_f_9dearcygui_4core_7Tooltip_draw_item(struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  float __pyx_v_hoverDelay_backup;
  int __pyx_v_display_condition;
  int __pyx_v_was_visible;
  ImVec2 __pyx_v_pos_w;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  float __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9116
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef float hoverDelay_backup
 *         cdef bint display_condition = False             # <<<<<<<<<<<<<<
 *         if self.secondary_handler is None:
 *             if self._target is None or self._target is self._prev_sibling:
 */
  __pyx_v_display_condition = 0;

  /* "dearcygui/core.pyx":9117
 *         cdef float hoverDelay_backup
 *         cdef bint display_condition = False
 *         if self.secondary_handler is None:             # <<<<<<<<<<<<<<
 *             if self._target is None or self._target is self._prev_sibling:
 *                 if self._delay > 0.:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->secondary_handler) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9118
 *         cdef bint display_condition = False
 *         if self.secondary_handler is None:
 *             if self._target is None or self._target is self._prev_sibling:             # <<<<<<<<<<<<<<
 *                 if self._delay > 0.:
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 */
    __pyx_t_2 = (((PyObject *)__pyx_v_self->_target) == Py_None);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_self->_target == __pyx_v_self->__pyx_base.__pyx_base._prev_sibling);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9119
 *         if self.secondary_handler is None:
 *             if self._target is None or self._target is self._prev_sibling:
 *                 if self._delay > 0.:             # <<<<<<<<<<<<<<
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay
 */
      __pyx_t_1 = (__pyx_v_self->_delay > 0.);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9120
 *             if self._target is None or self._target is self._prev_sibling:
 *                 if self._delay > 0.:
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay             # <<<<<<<<<<<<<<
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)
 */
        __pyx_t_3 = ImGui::GetStyle().HoverStationaryDelay;
        __pyx_v_hoverDelay_backup = __pyx_t_3;

        /* "dearcygui/core.pyx":9121
 *                 if self._delay > 0.:
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay             # <<<<<<<<<<<<<<
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup
 */
        __pyx_t_3 = __pyx_v_self->_delay;
        ImGui::GetStyle().HoverStationaryDelay = __pyx_t_3;

        /* "dearcygui/core.pyx":9122
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)             # <<<<<<<<<<<<<<
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup
 *                 elif self._delay == 0:
 */
        __pyx_v_display_condition = ImGui::IsItemHovered(ImGuiHoveredFlags_Stationary);

        /* "dearcygui/core.pyx":9123
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup             # <<<<<<<<<<<<<<
 *                 elif self._delay == 0:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 */
        ImGui::GetStyle().HoverStationaryDelay = __pyx_v_hoverDelay_backup;

        /* "dearcygui/core.pyx":9119
 *         if self.secondary_handler is None:
 *             if self._target is None or self._target is self._prev_sibling:
 *                 if self._delay > 0.:             # <<<<<<<<<<<<<<
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 *                     imgui.GetStyle().HoverStationaryDelay = self._delay
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":9124
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup
 *                 elif self._delay == 0:             # <<<<<<<<<<<<<<
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *                 else:
 */
      __pyx_t_1 = (__pyx_v_self->_delay == 0.0);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9125
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup
 *                 elif self._delay == 0:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *                 else:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_ForTooltip)
 */
        __pyx_v_display_condition = ImGui::IsItemHovered(ImGuiHoveredFlags_None);

        /* "dearcygui/core.pyx":9124
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_Stationary)
 *                     imgui.GetStyle().HoverStationaryDelay = hoverDelay_backup
 *                 elif self._delay == 0:             # <<<<<<<<<<<<<<
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *                 else:
 */
        goto __pyx_L7;
      }

      /* "dearcygui/core.pyx":9127
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_None)
 *                 else:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_ForTooltip)             # <<<<<<<<<<<<<<
 *             elif self._target.p_state != NULL:
 *                 display_condition = self._target.p_state.cur.hovered
 */
      /*else*/ {
        __pyx_v_display_condition = ImGui::IsItemHovered(ImGuiHoveredFlags_ForTooltip);
      }
      __pyx_L7:;

      /* "dearcygui/core.pyx":9118
 *         cdef bint display_condition = False
 *         if self.secondary_handler is None:
 *             if self._target is None or self._target is self._prev_sibling:             # <<<<<<<<<<<<<<
 *                 if self._delay > 0.:
 *                     hoverDelay_backup = imgui.GetStyle().HoverStationaryDelay
 */
      goto __pyx_L4;
    }

    /* "dearcygui/core.pyx":9128
 *                 else:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_ForTooltip)
 *             elif self._target.p_state != NULL:             # <<<<<<<<<<<<<<
 *                 display_condition = self._target.p_state.cur.hovered
 *         elif self._target is not None:
 */
    __pyx_t_1 = (__pyx_v_self->_target->p_state != NULL);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9129
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_ForTooltip)
 *             elif self._target.p_state != NULL:
 *                 display_condition = self._target.p_state.cur.hovered             # <<<<<<<<<<<<<<
 *         elif self._target is not None:
 *             display_condition = self.secondary_handler.check_state(self._target)
 */
      __pyx_t_1 = __pyx_v_self->_target->p_state->cur.hovered;
      __pyx_v_display_condition = __pyx_t_1;

      /* "dearcygui/core.pyx":9128
 *                 else:
 *                     display_condition = imgui.IsItemHovered(imgui.ImGuiHoveredFlags_ForTooltip)
 *             elif self._target.p_state != NULL:             # <<<<<<<<<<<<<<
 *                 display_condition = self._target.p_state.cur.hovered
 *         elif self._target is not None:
 */
    }
    __pyx_L4:;

    /* "dearcygui/core.pyx":9117
 *         cdef float hoverDelay_backup
 *         cdef bint display_condition = False
 *         if self.secondary_handler is None:             # <<<<<<<<<<<<<<
 *             if self._target is None or self._target is self._prev_sibling:
 *                 if self._delay > 0.:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":9130
 *             elif self._target.p_state != NULL:
 *                 display_condition = self._target.p_state.cur.hovered
 *         elif self._target is not None:             # <<<<<<<<<<<<<<
 *             display_condition = self.secondary_handler.check_state(self._target)
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_target) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9131
 *                 display_condition = self._target.p_state.cur.hovered
 *         elif self._target is not None:
 *             display_condition = self.secondary_handler.check_state(self._target)             # <<<<<<<<<<<<<<
 * 
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \
 */
    __pyx_v_display_condition = ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)__pyx_v_self->secondary_handler->__pyx_base.__pyx_vtab)->check_state(__pyx_v_self->secondary_handler, __pyx_v_self->_target);

    /* "dearcygui/core.pyx":9130
 *             elif self._target.p_state != NULL:
 *                 display_condition = self._target.p_state.cur.hovered
 *         elif self._target is not None:             # <<<<<<<<<<<<<<
 *             display_condition = self.secondary_handler.check_state(self._target)
 * 
 */
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":9133
 *             display_condition = self.secondary_handler.check_state(self._target)
 * 
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \             # <<<<<<<<<<<<<<
 *            imgui.GetIO().MouseDelta.y != 0.:
 *             display_condition = False
 */
  if (__pyx_v_self->_hide_on_activity) {
  } else {
    __pyx_t_1 = __pyx_v_self->_hide_on_activity;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_2 = (ImGui::GetIO().MouseDelta.x != 0.);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L9_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9134
 * 
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \
 *            imgui.GetIO().MouseDelta.y != 0.:             # <<<<<<<<<<<<<<
 *             display_condition = False
 * 
 */
  __pyx_t_2 = (ImGui::GetIO().MouseDelta.y != 0.);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L9_bool_binop_done:;

  /* "dearcygui/core.pyx":9133
 *             display_condition = self.secondary_handler.check_state(self._target)
 * 
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \             # <<<<<<<<<<<<<<
 *            imgui.GetIO().MouseDelta.y != 0.:
 *             display_condition = False
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9135
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \
 *            imgui.GetIO().MouseDelta.y != 0.:
 *             display_condition = False             # <<<<<<<<<<<<<<
 * 
 *         cdef bint was_visible = self.state.cur.rendered
 */
    __pyx_v_display_condition = 0;

    /* "dearcygui/core.pyx":9133
 *             display_condition = self.secondary_handler.check_state(self._target)
 * 
 *         if self._hide_on_activity and imgui.GetIO().MouseDelta.x != 0. and \             # <<<<<<<<<<<<<<
 *            imgui.GetIO().MouseDelta.y != 0.:
 *             display_condition = False
 */
  }

  /* "dearcygui/core.pyx":9137
 *             display_condition = False
 * 
 *         cdef bint was_visible = self.state.cur.rendered             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if display_condition and imgui.BeginTooltip():
 */
  __pyx_t_1 = __pyx_v_self->__pyx_base.state.cur.rendered;
  __pyx_v_was_visible = __pyx_t_1;

  /* "dearcygui/core.pyx":9139
 *         cdef bint was_visible = self.state.cur.rendered
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if display_condition and imgui.BeginTooltip():             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 # We are in a popup window
 */
  if (__pyx_v_display_condition) {
  } else {
    __pyx_t_1 = __pyx_v_display_condition;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_2 = ImGui::BeginTooltip();
  __pyx_t_1 = __pyx_t_2;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9140
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if display_condition and imgui.BeginTooltip():
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are in a popup window
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9142
 *             if self.last_widgets_child is not None:
 *                 # We are in a popup window
 *                 pos_w = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 */
      __pyx_v_pos_w = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":9143
 *                 # We are in a popup window
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w             # <<<<<<<<<<<<<<
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
      __pyx_v_pos_p = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":9144
 *                 pos_w = imgui.GetCursorScreenPos()
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_w, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9144, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9145
 *                 pos_p = pos_w
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9145, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9146
 *                 swap(pos_w, self.context._viewport.window_pos)
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":9147
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTooltip()
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos = __pyx_v_pos_w;

      /* "dearcygui/core.pyx":9148
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             imgui.EndTooltip()
 *             self.update_current_state()
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":9140
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if display_condition and imgui.BeginTooltip():
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 # We are in a popup window
 *                 pos_w = imgui.GetCursorScreenPos()
 */
    }

    /* "dearcygui/core.pyx":9149
 *                 self.context._viewport.window_pos = pos_w
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTooltip()             # <<<<<<<<<<<<<<
 *             self.update_current_state()
 *         else:
 */
    ImGui::EndTooltip();

    /* "dearcygui/core.pyx":9150
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTooltip()
 *             self.update_current_state()             # <<<<<<<<<<<<<<
 *         else:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Tooltip *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":9139
 *         cdef bint was_visible = self.state.cur.rendered
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if display_condition and imgui.BeginTooltip():             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 # We are in a popup window
 */
    goto __pyx_L12;
  }

  /* "dearcygui/core.pyx":9152
 *             self.update_current_state()
 *         else:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *             # NOTE: we could also set the rects. DPG does it.
 *         if self.state.cur.rendered != was_visible:
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_Tooltip *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L12:;

  /* "dearcygui/core.pyx":9154
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             # NOTE: we could also set the rects. DPG does it.
 *         if self.state.cur.rendered != was_visible:             # <<<<<<<<<<<<<<
 *             self.context._viewport.viewport.needs_refresh.store(True)
 *         return self.state.cur.rendered and not(was_visible)
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.state.cur.rendered != __pyx_v_was_visible);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9155
 *             # NOTE: we could also set the rects. DPG does it.
 *         if self.state.cur.rendered != was_visible:
 *             self.context._viewport.viewport.needs_refresh.store(True)             # <<<<<<<<<<<<<<
 *         return self.state.cur.rendered and not(was_visible)
 * 
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->viewport->needs_refresh.store(1);

    /* "dearcygui/core.pyx":9154
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             # NOTE: we could also set the rects. DPG does it.
 *         if self.state.cur.rendered != was_visible:             # <<<<<<<<<<<<<<
 *             self.context._viewport.viewport.needs_refresh.store(True)
 *         return self.state.cur.rendered and not(was_visible)
 */
  }

  /* "dearcygui/core.pyx":9156
 *         if self.state.cur.rendered != was_visible:
 *             self.context._viewport.viewport.needs_refresh.store(True)
 *         return self.state.cur.rendered and not(was_visible)             # <<<<<<<<<<<<<<
 * 
 * cdef class TabButton(uiItem):
 */
  if (__pyx_v_self->__pyx_base.state.cur.rendered) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.state.cur.rendered;
    goto __pyx_L17_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_was_visible);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L17_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9114
 *         self._delay = value
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float hoverDelay_backup
 *         cdef bint display_condition = False
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.Tooltip.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Tooltip_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Tooltip_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Tooltip.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Tooltip_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Tooltip_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Tooltip_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Tooltip_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Tooltip *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Tooltip_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tooltip *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Tooltip.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9159
 * 
 * cdef class TabButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_tabbutton
 *         self.element_child_category = child_type.cat_tab
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9TabButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9TabButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton___cinit__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9TabButton___cinit__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":9160
 * cdef class TabButton(uiItem):
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_tabbutton             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_tab
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_tabbutton;

  /* "dearcygui/core.pyx":9161
 *     def __cinit__(self):
 *         self.theme_condition_category = theme_categories.t_tabbutton
 *         self.element_child_category = child_type.cat_tab             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_tab;

  /* "dearcygui/core.pyx":9162
 *         self.theme_condition_category = theme_categories.t_tabbutton
 *         self.element_child_category = child_type.cat_tab
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 9162, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9162, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":9163
 *         self.element_child_category = child_type.cat_tab
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":9164
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":9165
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":9166
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":9167
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.flags = imgui.ImGuiTabItemFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":9168
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":9169
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.flags = imgui.ImGuiTabItemFlags_None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiTabItemFlags_None;

  /* "dearcygui/core.pyx":9159
 * 
 * cdef class TabButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_tabbutton
 *         self.element_child_category = child_type.cat_tab
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.TabButton.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9171
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_reorder(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_10no_reorder___get__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_10no_reorder___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9178
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9179
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_reorder.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_NoReorder) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9171
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_reorder(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabButton.no_reorder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9181
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 *     @no_reorder.setter             # <<<<<<<<<<<<<<
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9182, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.no_reorder.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_10no_reorder_2__set__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9TabButton_10no_reorder_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9184
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9185
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_NoReorder));

  /* "dearcygui/core.pyx":9186
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9187
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_NoReorder);

    /* "dearcygui/core.pyx":9186
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 */
  }

  /* "dearcygui/core.pyx":9181
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 *     @no_reorder.setter             # <<<<<<<<<<<<<<
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9189
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leading(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_7leading_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_7leading_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_7leading___get__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_7leading___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9196
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9197
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0             # <<<<<<<<<<<<<<
 * 
 *     @leading.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_Leading) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9189
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leading(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabButton.leading.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9199
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 *     @leading.setter             # <<<<<<<<<<<<<<
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9TabButton_7leading_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9TabButton_7leading_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.leading.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_7leading_2__set__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9TabButton_7leading_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9202
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9203
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Leading));

  /* "dearcygui/core.pyx":9204
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9205
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 */
    __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Trailing));

    /* "dearcygui/core.pyx":9206
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_Leading);

    /* "dearcygui/core.pyx":9204
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 */
  }

  /* "dearcygui/core.pyx":9199
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 *     @leading.setter             # <<<<<<<<<<<<<<
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9208
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def trailing(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_8trailing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_8trailing_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_8trailing___get__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_8trailing___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9215
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9216
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0             # <<<<<<<<<<<<<<
 * 
 *     @trailing.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_Trailing) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9208
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def trailing(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabButton.trailing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9218
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 *     @trailing.setter             # <<<<<<<<<<<<<<
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9TabButton_8trailing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9TabButton_8trailing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9219, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.trailing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_8trailing_2__set__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9TabButton_8trailing_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9221
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9222
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Trailing));

  /* "dearcygui/core.pyx":9223
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9224
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 */
    __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Leading));

    /* "dearcygui/core.pyx":9225
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_Trailing);

    /* "dearcygui/core.pyx":9223
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 */
  }

  /* "dearcygui/core.pyx":9218
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 *     @trailing.setter             # <<<<<<<<<<<<<<
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9227
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9233
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9234
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9227
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabButton.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9236
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9237, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9TabButton_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9239
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9240
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_NoTooltip));

  /* "dearcygui/core.pyx":9241
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9242
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_NoTooltip);

    /* "dearcygui/core.pyx":9241
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":9236
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9244
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint pressed = imgui.TabItemButton(self.imgui_label.c_str(),
 *                                                 self.flags)
 */

static int __pyx_f_9dearcygui_4core_9TabButton_draw_item(struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  int __pyx_v_pressed;
  int __pyx_r;

  /* "dearcygui/core.pyx":9245
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint pressed = imgui.TabItemButton(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                 self.flags)
 *         self.update_current_state()
 */
  __pyx_v_pressed = ImGui::TabItemButton(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->flags);

  /* "dearcygui/core.pyx":9247
 *         cdef bint pressed = imgui.TabItemButton(self.imgui_label.c_str(),
 *                                                 self.flags)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         #SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original
 *         return pressed
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_TabButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":9249
 *         self.update_current_state()
 *         #SharedBool.set(<SharedBool>self._value, self.state.cur.active) # Unsure. Not in original
 *         return pressed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_pressed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9244
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint pressed = imgui.TabItemButton(self.imgui_label.c_str(),
 *                                                 self.flags)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9TabButton_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9TabButton_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9TabButton_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9TabButton_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9TabButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9TabButton_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_TabButton *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9TabButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TabButton.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9253
 * 
 * cdef class Tab(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab___cinit__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab___cinit__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":9254
 * cdef class Tab(uiItem):
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.element_child_category = child_type.cat_tab
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 9254, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9254, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":9255
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_tab
 *         self.theme_condition_category = theme_categories.t_tab
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":9256
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 *         self.element_child_category = child_type.cat_tab             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_tab
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_tab;

  /* "dearcygui/core.pyx":9257
 *         self.can_have_widget_child = True
 *         self.element_child_category = child_type.cat_tab
 *         self.theme_condition_category = theme_categories.t_tab             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_tab;

  /* "dearcygui/core.pyx":9258
 *         self.element_child_category = child_type.cat_tab
 *         self.theme_condition_category = theme_categories.t_tab
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":9259
 *         self.theme_condition_category = theme_categories.t_tab
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":9260
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":9261
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True
 *         self._closable = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":9262
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True             # <<<<<<<<<<<<<<
 *         self._closable = False
 *         self.flags = imgui.ImGuiTabItemFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":9263
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 *         self._closable = False             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 */
  __pyx_v_self->_closable = 0;

  /* "dearcygui/core.pyx":9264
 *         self.state.cap.has_rect_size = True
 *         self._closable = False
 *         self.flags = imgui.ImGuiTabItemFlags_None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiTabItemFlags_None;

  /* "dearcygui/core.pyx":9253
 * 
 * cdef class Tab(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Tab.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9266
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def closable(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_8closable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_8closable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_8closable___get__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_8closable___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9272
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._closable
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9273
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._closable             # <<<<<<<<<<<<<<
 * 
 *     @closable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_closable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9266
 *         self.flags = imgui.ImGuiTabItemFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def closable(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tab.closable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9275
 *         return self._closable
 * 
 *     @closable.setter             # <<<<<<<<<<<<<<
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_8closable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_8closable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9276, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.closable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_8closable_2__set__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab_8closable_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9278
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._closable = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9279
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._closable = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_closable = __pyx_v_value;

  /* "dearcygui/core.pyx":9275
 *         return self._closable
 * 
 *     @closable.setter             # <<<<<<<<<<<<<<
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9281
 *         self._closable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_reorder(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_10no_reorder_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_10no_reorder_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_10no_reorder___get__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_10no_reorder___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9288
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9289
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_reorder.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_NoReorder) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9281
 *         self._closable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_reorder(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tab.no_reorder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9291
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 *     @no_reorder.setter             # <<<<<<<<<<<<<<
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_10no_reorder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_10no_reorder_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9292, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.no_reorder.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_10no_reorder_2__set__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab_10no_reorder_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9294
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9295
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_NoReorder));

  /* "dearcygui/core.pyx":9296
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9297
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_NoReorder);

    /* "dearcygui/core.pyx":9296
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoReorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 */
  }

  /* "dearcygui/core.pyx":9291
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoReorder) != 0
 * 
 *     @no_reorder.setter             # <<<<<<<<<<<<<<
 *     def no_reorder(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9299
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leading(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_7leading_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_7leading_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_7leading___get__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_7leading___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9306
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9307
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0             # <<<<<<<<<<<<<<
 * 
 *     @leading.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_Leading) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9299
 *             self.flags |= imgui.ImGuiTabItemFlags_NoReorder
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leading(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tab.leading.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9309
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 *     @leading.setter             # <<<<<<<<<<<<<<
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_7leading_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_7leading_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9310, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.leading.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_7leading_2__set__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab_7leading_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9312
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9313
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Leading));

  /* "dearcygui/core.pyx":9314
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9315
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 */
    __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Trailing));

    /* "dearcygui/core.pyx":9316
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_Leading);

    /* "dearcygui/core.pyx":9314
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 */
  }

  /* "dearcygui/core.pyx":9309
 *         return (self.flags & imgui.ImGuiTabItemFlags_Leading) != 0
 * 
 *     @leading.setter             # <<<<<<<<<<<<<<
 *     def leading(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9318
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def trailing(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_8trailing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_8trailing_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_8trailing___get__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_8trailing___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9325
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9326
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0             # <<<<<<<<<<<<<<
 * 
 *     @trailing.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_Trailing) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9318
 *             self.flags |= imgui.ImGuiTabItemFlags_Leading
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def trailing(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tab.trailing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9328
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 *     @trailing.setter             # <<<<<<<<<<<<<<
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_8trailing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_8trailing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9329, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.trailing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_8trailing_2__set__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab_8trailing_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9331
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9332
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Trailing));

  /* "dearcygui/core.pyx":9333
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9334
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 */
    __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_Leading));

    /* "dearcygui/core.pyx":9335
 *         if value:
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_Trailing);

    /* "dearcygui/core.pyx":9333
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_Trailing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags &= ~imgui.ImGuiTabItemFlags_Leading
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 */
  }

  /* "dearcygui/core.pyx":9328
 *         return (self.flags & imgui.ImGuiTabItemFlags_Trailing) != 0
 * 
 *     @trailing.setter             # <<<<<<<<<<<<<<
 *     def trailing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9337
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9343
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9344
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabItemFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9337
 *             self.flags |= imgui.ImGuiTabItemFlags_Trailing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Tab.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9346
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9347, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_3Tab_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9349
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9350
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabItemFlags_NoTooltip));

  /* "dearcygui/core.pyx":9351
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9352
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabItemFlags_NoTooltip);

    /* "dearcygui/core.pyx":9351
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabItemFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":9346
 *         return (self.flags & imgui.ImGuiTabItemFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9354
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiTabItemFlags flags = self.flags
 *         if (<SharedBool>self._value)._last_frame_change == self.context._viewport.frame_count:
 */

static int __pyx_f_9dearcygui_4core_3Tab_draw_item(struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  ImGuiTabItemFlags __pyx_v_flags;
  int __pyx_v_menu_open;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  ImGuiTabItemFlags __pyx_t_1;
  int __pyx_t_2;
  bool *__pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9355
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiTabItemFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if (<SharedBool>self._value)._last_frame_change == self.context._viewport.frame_count:
 *             # The value was changed after the last time we drew
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":9356
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiTabItemFlags flags = self.flags
 *         if (<SharedBool>self._value)._last_frame_change == self.context._viewport.frame_count:             # <<<<<<<<<<<<<<
 *             # The value was changed after the last time we drew
 *             # TODO: will have no effect if we switch from show to no show.
 */
  __pyx_t_2 = (((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value)->__pyx_base._last_frame_change == __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->frame_count);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":9360
 *             # TODO: will have no effect if we switch from show to no show.
 *             # maybe have a counter here.
 *             if SharedBool.get(<SharedBool>self._value):             # <<<<<<<<<<<<<<
 *                 flags |= imgui.ImGuiTabItemFlags_SetSelected
 *         cdef bint menu_open = imgui.BeginTabItem(self.imgui_label.c_str(),
 */
    __pyx_t_2 = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":9361
 *             # maybe have a counter here.
 *             if SharedBool.get(<SharedBool>self._value):
 *                 flags |= imgui.ImGuiTabItemFlags_SetSelected             # <<<<<<<<<<<<<<
 *         cdef bint menu_open = imgui.BeginTabItem(self.imgui_label.c_str(),
 *                                                  &self._show if self._closable else NULL,
 */
      __pyx_v_flags = (__pyx_v_flags | ImGuiTabItemFlags_SetSelected);

      /* "dearcygui/core.pyx":9360
 *             # TODO: will have no effect if we switch from show to no show.
 *             # maybe have a counter here.
 *             if SharedBool.get(<SharedBool>self._value):             # <<<<<<<<<<<<<<
 *                 flags |= imgui.ImGuiTabItemFlags_SetSelected
 *         cdef bint menu_open = imgui.BeginTabItem(self.imgui_label.c_str(),
 */
    }

    /* "dearcygui/core.pyx":9356
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiTabItemFlags flags = self.flags
 *         if (<SharedBool>self._value)._last_frame_change == self.context._viewport.frame_count:             # <<<<<<<<<<<<<<
 *             # The value was changed after the last time we drew
 *             # TODO: will have no effect if we switch from show to no show.
 */
  }

  /* "dearcygui/core.pyx":9363
 *                 flags |= imgui.ImGuiTabItemFlags_SetSelected
 *         cdef bint menu_open = imgui.BeginTabItem(self.imgui_label.c_str(),
 *                                                  &self._show if self._closable else NULL,             # <<<<<<<<<<<<<<
 *                                                  flags)
 *         if not(self._show):
 */
  if (__pyx_v_self->_closable) {
    __pyx_t_3 = (&__pyx_v_self->__pyx_base._show);
  } else {
    __pyx_t_3 = NULL;
  }

  /* "dearcygui/core.pyx":9362
 *             if SharedBool.get(<SharedBool>self._value):
 *                 flags |= imgui.ImGuiTabItemFlags_SetSelected
 *         cdef bint menu_open = imgui.BeginTabItem(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                  &self._show if self._closable else NULL,
 *                                                  flags)
 */
  __pyx_v_menu_open = ImGui::BeginTabItem(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_t_3, __pyx_v_flags);

  /* "dearcygui/core.pyx":9365
 *                                                  &self._show if self._closable else NULL,
 *                                                  flags)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             self.show_update_requested = True
 *         self.update_current_state()
 */
  __pyx_t_2 = (!(__pyx_v_self->__pyx_base._show != 0));
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":9366
 *                                                  flags)
 *         if not(self._show):
 *             self.show_update_requested = True             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_p
 */
    __pyx_v_self->__pyx_base.show_update_requested = 1;

    /* "dearcygui/core.pyx":9365
 *                                                  &self._show if self._closable else NULL,
 *                                                  flags)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             self.show_update_requested = True
 *         self.update_current_state()
 */
  }

  /* "dearcygui/core.pyx":9367
 *         if not(self._show):
 *             self.show_update_requested = True
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if menu_open:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Tab *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":9369
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_p
 *         if menu_open:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  if (__pyx_v_menu_open) {

    /* "dearcygui/core.pyx":9370
 *         cdef imgui.ImVec2 pos_p
 *         if menu_open:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":9371
 *         if menu_open:
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      __pyx_v_pos_p = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":9372
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9372, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9373
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTabItem()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":9374
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             imgui.EndTabItem()
 *         else:
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":9370
 *         cdef imgui.ImVec2 pos_p
 *         if menu_open:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    }

    /* "dearcygui/core.pyx":9375
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTabItem()             # <<<<<<<<<<<<<<
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    ImGui::EndTabItem();

    /* "dearcygui/core.pyx":9369
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_p
 *         if menu_open:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
    goto __pyx_L6;
  }

  /* "dearcygui/core.pyx":9377
 *             imgui.EndTabItem()
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         SharedBool.set(<SharedBool>self._value, menu_open)
 *         return self.state.cur.active and not(self.state.prev.active)
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_Tab *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L6:;

  /* "dearcygui/core.pyx":9378
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         SharedBool.set(<SharedBool>self._value, menu_open)             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), __pyx_v_menu_open);

  /* "dearcygui/core.pyx":9379
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         SharedBool.set(<SharedBool>self._value, menu_open)
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (__pyx_v_self->__pyx_base.state.cur.active) {
  } else {
    __pyx_t_2 = __pyx_v_self->__pyx_base.state.cur.active;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_4 = (!__pyx_v_self->__pyx_base.state.prev.active);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L8_bool_binop_done:;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9354
 *             self.flags |= imgui.ImGuiTabItemFlags_NoTooltip
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiTabItemFlags flags = self.flags
 *         if (<SharedBool>self._value)._last_frame_change == self.context._viewport.frame_count:
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.Tab.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_3Tab_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_3Tab_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_3Tab_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_3Tab_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_3Tab_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_3Tab_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Tab *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_3Tab_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Tab *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Tab.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9383
 * 
 * cdef class TabBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         #self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_tab_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar___cinit__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar___cinit__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":9385
 *     def __cinit__(self):
 *         #self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_tab_child = True             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_tabbar
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_tab_child = 1;

  /* "dearcygui/core.pyx":9386
 *         #self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_tab_child = True
 *         self.theme_condition_category = theme_categories.t_tabbar             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_tabbar;

  /* "dearcygui/core.pyx":9387
 *         self.can_have_tab_child = True
 *         self.theme_condition_category = theme_categories.t_tabbar
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":9388
 *         self.theme_condition_category = theme_categories.t_tabbar
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":9389
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":9390
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = True
 *         self.flags = imgui.ImGuiTabBarFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":9391
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiTabBarFlags_None
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 1;

  /* "dearcygui/core.pyx":9392
 *         self.state.cap.can_be_active = True
 *         self.state.cap.has_rect_size = True
 *         self.flags = imgui.ImGuiTabBarFlags_None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImGuiTabBarFlags_None;

  /* "dearcygui/core.pyx":9383
 * 
 * cdef class TabBar(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         #self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_tab_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9394
 *         self.flags = imgui.ImGuiTabBarFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def reorderable(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_11reorderable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_11reorderable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_11reorderable___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_11reorderable___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9401
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_Reorderable) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9402
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_Reorderable) != 0             # <<<<<<<<<<<<<<
 * 
 *     @reorderable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_Reorderable) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9394
 *         self.flags = imgui.ImGuiTabBarFlags_None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def reorderable(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.reorderable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9404
 *         return (self.flags & imgui.ImGuiTabBarFlags_Reorderable) != 0
 * 
 *     @reorderable.setter             # <<<<<<<<<<<<<<
 *     def reorderable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_11reorderable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_11reorderable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9405, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.reorderable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_11reorderable_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_11reorderable_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9407
 *     def reorderable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_Reorderable
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9408
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_Reorderable             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_Reorderable));

  /* "dearcygui/core.pyx":9409
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_Reorderable
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9410
 *         self.flags &= ~imgui.ImGuiTabBarFlags_Reorderable
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_Reorderable);

    /* "dearcygui/core.pyx":9409
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_Reorderable
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable
 * 
 */
  }

  /* "dearcygui/core.pyx":9404
 *         return (self.flags & imgui.ImGuiTabBarFlags_Reorderable) != 0
 * 
 *     @reorderable.setter             # <<<<<<<<<<<<<<
 *     def reorderable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9412
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autoselect_new_tabs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9419
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_AutoSelectNewTabs) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9420
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_AutoSelectNewTabs) != 0             # <<<<<<<<<<<<<<
 * 
 *     @autoselect_new_tabs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_AutoSelectNewTabs) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9412
 *             self.flags |= imgui.ImGuiTabBarFlags_Reorderable
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autoselect_new_tabs(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.autoselect_new_tabs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9422
 *         return (self.flags & imgui.ImGuiTabBarFlags_AutoSelectNewTabs) != 0
 * 
 *     @autoselect_new_tabs.setter             # <<<<<<<<<<<<<<
 *     def autoselect_new_tabs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9423, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.autoselect_new_tabs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_19autoselect_new_tabs_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9425
 *     def autoselect_new_tabs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9426
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_AutoSelectNewTabs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_AutoSelectNewTabs));

  /* "dearcygui/core.pyx":9427
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9428
 *         self.flags &= ~imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_AutoSelectNewTabs);

    /* "dearcygui/core.pyx":9427
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 * 
 */
  }

  /* "dearcygui/core.pyx":9422
 *         return (self.flags & imgui.ImGuiTabBarFlags_AutoSelectNewTabs) != 0
 * 
 *     @autoselect_new_tabs.setter             # <<<<<<<<<<<<<<
 *     def autoselect_new_tabs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9430
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tab_list_popup_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9436
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_TabListPopupButton) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9437
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_TabListPopupButton) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tab_list_popup_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_TabListPopupButton) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9430
 *             self.flags |= imgui.ImGuiTabBarFlags_AutoSelectNewTabs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tab_list_popup_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_tab_list_popup_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9439
 *         return (self.flags & imgui.ImGuiTabBarFlags_TabListPopupButton) != 0
 * 
 *     @no_tab_list_popup_button.setter             # <<<<<<<<<<<<<<
 *     def no_tab_list_popup_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9440, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_tab_list_popup_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9442
 *     def no_tab_list_popup_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_TabListPopupButton
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9443
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_TabListPopupButton             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_TabListPopupButton));

  /* "dearcygui/core.pyx":9444
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_TabListPopupButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9445
 *         self.flags &= ~imgui.ImGuiTabBarFlags_TabListPopupButton
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_TabListPopupButton);

    /* "dearcygui/core.pyx":9444
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_TabListPopupButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton
 * 
 */
  }

  /* "dearcygui/core.pyx":9439
 *         return (self.flags & imgui.ImGuiTabBarFlags_TabListPopupButton) != 0
 * 
 *     @no_tab_list_popup_button.setter             # <<<<<<<<<<<<<<
 *     def no_tab_list_popup_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9447
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_close_with_middle_mouse_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9453
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9454
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_close_with_middle_mouse_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9447
 *             self.flags |= imgui.ImGuiTabBarFlags_TabListPopupButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_close_with_middle_mouse_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_close_with_middle_mouse_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9456
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) != 0
 * 
 *     @no_close_with_middle_mouse_button.setter             # <<<<<<<<<<<<<<
 *     def no_close_with_middle_mouse_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9457, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_close_with_middle_mouse_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9459
 *     def no_close_with_middle_mouse_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9460
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_NoCloseWithMiddleMouseButton));

  /* "dearcygui/core.pyx":9461
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9462
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_NoCloseWithMiddleMouseButton);

    /* "dearcygui/core.pyx":9461
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 * 
 */
  }

  /* "dearcygui/core.pyx":9456
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) != 0
 * 
 *     @no_close_with_middle_mouse_button.setter             # <<<<<<<<<<<<<<
 *     def no_close_with_middle_mouse_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9464
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrolling_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9470
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTabListScrollingButtons) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9471
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTabListScrollingButtons) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_scrolling_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_NoTabListScrollingButtons) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9464
 *             self.flags |= imgui.ImGuiTabBarFlags_NoCloseWithMiddleMouseButton
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrolling_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_scrolling_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9473
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTabListScrollingButtons) != 0
 * 
 *     @no_scrolling_button.setter             # <<<<<<<<<<<<<<
 *     def no_scrolling_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9474, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_scrolling_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_19no_scrolling_button_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9476
 *     def no_scrolling_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9477
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTabListScrollingButtons             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_NoTabListScrollingButtons));

  /* "dearcygui/core.pyx":9478
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9479
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_NoTabListScrollingButtons);

    /* "dearcygui/core.pyx":9478
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 * 
 */
  }

  /* "dearcygui/core.pyx":9473
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTabListScrollingButtons) != 0
 * 
 *     @no_scrolling_button.setter             # <<<<<<<<<<<<<<
 *     def no_scrolling_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9481
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9487
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9488
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9481
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTabListScrollingButtons
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9490
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9491, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9493
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9494
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_NoTooltip));

  /* "dearcygui/core.pyx":9495
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9496
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_NoTooltip);

    /* "dearcygui/core.pyx":9495
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":9490
 *         return (self.flags & imgui.ImGuiTabBarFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9498
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def selected_overline(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_17selected_overline___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_17selected_overline___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9504
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_DrawSelectedOverline) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9505
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_DrawSelectedOverline) != 0             # <<<<<<<<<<<<<<
 * 
 *     @selected_overline.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_DrawSelectedOverline) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9498
 *             self.flags |= imgui.ImGuiTabBarFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def selected_overline(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.selected_overline.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9507
 *         return (self.flags & imgui.ImGuiTabBarFlags_DrawSelectedOverline) != 0
 * 
 *     @selected_overline.setter             # <<<<<<<<<<<<<<
 *     def selected_overline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9508, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.selected_overline.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_17selected_overline_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_17selected_overline_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9510
 *     def selected_overline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_DrawSelectedOverline
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9511
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_DrawSelectedOverline             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_DrawSelectedOverline));

  /* "dearcygui/core.pyx":9512
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_DrawSelectedOverline
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9513
 *         self.flags &= ~imgui.ImGuiTabBarFlags_DrawSelectedOverline
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_DrawSelectedOverline);

    /* "dearcygui/core.pyx":9512
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_DrawSelectedOverline
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline
 * 
 */
  }

  /* "dearcygui/core.pyx":9507
 *         return (self.flags & imgui.ImGuiTabBarFlags_DrawSelectedOverline) != 0
 * 
 *     @selected_overline.setter             # <<<<<<<<<<<<<<
 *     def selected_overline(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9515
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resize_to_fit(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9521
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyResizeDown) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9522
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyResizeDown) != 0             # <<<<<<<<<<<<<<
 * 
 *     @resize_to_fit.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_FittingPolicyResizeDown) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9515
 *             self.flags |= imgui.ImGuiTabBarFlags_DrawSelectedOverline
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resize_to_fit(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.resize_to_fit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9524
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyResizeDown) != 0
 * 
 *     @resize_to_fit.setter             # <<<<<<<<<<<<<<
 *     def resize_to_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9525, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.resize_to_fit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_13resize_to_fit_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9527
 *     def resize_to_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9528
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyResizeDown             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_FittingPolicyResizeDown));

  /* "dearcygui/core.pyx":9529
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9530
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_FittingPolicyResizeDown);

    /* "dearcygui/core.pyx":9529
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 * 
 */
  }

  /* "dearcygui/core.pyx":9524
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyResizeDown) != 0
 * 
 *     @resize_to_fit.setter             # <<<<<<<<<<<<<<
 *     def resize_to_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9532
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def allow_tab_scroll(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll___get__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll___get__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9538
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyScroll) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9539
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyScroll) != 0             # <<<<<<<<<<<<<<
 * 
 *     @allow_tab_scroll.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTabBarFlags_FittingPolicyScroll) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9532
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyResizeDown
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def allow_tab_scroll(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TabBar.allow_tab_scroll.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9541
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyScroll) != 0
 * 
 *     @allow_tab_scroll.setter             # <<<<<<<<<<<<<<
 *     def allow_tab_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 9542, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.allow_tab_scroll.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll_2__set__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6TabBar_16allow_tab_scroll_2__set__(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9544
 *     def allow_tab_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyScroll
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9545
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyScroll             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTabBarFlags_FittingPolicyScroll));

  /* "dearcygui/core.pyx":9546
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":9547
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyScroll
 *         if value:
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTabBarFlags_FittingPolicyScroll);

    /* "dearcygui/core.pyx":9546
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTabBarFlags_FittingPolicyScroll
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll
 * 
 */
  }

  /* "dearcygui/core.pyx":9541
 *         return (self.flags & imgui.ImGuiTabBarFlags_FittingPolicyScroll) != 0
 * 
 *     @allow_tab_scroll.setter             # <<<<<<<<<<<<<<
 *     def allow_tab_scroll(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9549
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup() # from original. Unsure if needed
 */

static int __pyx_f_9dearcygui_4core_6TabBar_draw_item(struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  int __pyx_v_visible;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9550
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.BeginGroup() # from original. Unsure if needed
 *         cdef bint visible = imgui.BeginTabBar(self.imgui_label.c_str(),
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":9551
 *     cdef bint draw_item(self) noexcept nogil:
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup() # from original. Unsure if needed             # <<<<<<<<<<<<<<
 *         cdef bint visible = imgui.BeginTabBar(self.imgui_label.c_str(),
 *                                               self.flags)
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":9552
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup() # from original. Unsure if needed
 *         cdef bint visible = imgui.BeginTabBar(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                               self.flags)
 *         self.update_current_state()
 */
  __pyx_v_visible = ImGui::BeginTabBar(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->flags);

  /* "dearcygui/core.pyx":9554
 *         cdef bint visible = imgui.BeginTabBar(self.imgui_label.c_str(),
 *                                               self.flags)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if visible:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_TabBar *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":9556
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_p
 *         if visible:             # <<<<<<<<<<<<<<
 *             if self.last_tab_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  if (__pyx_v_visible) {

    /* "dearcygui/core.pyx":9557
 *         cdef imgui.ImVec2 pos_p
 *         if visible:
 *             if self.last_tab_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_tab_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9558
 *         if visible:
 *             if self.last_tab_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_tab_child.draw()
 */
      __pyx_v_pos_p = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":9559
 *             if self.last_tab_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_tab_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9559, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":9560
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_tab_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTabBar()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_tab_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_tab_child);

      /* "dearcygui/core.pyx":9561
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_tab_child.draw()
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             imgui.EndTabBar()
 *         else:
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":9557
 *         cdef imgui.ImVec2 pos_p
 *         if visible:
 *             if self.last_tab_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    }

    /* "dearcygui/core.pyx":9562
 *                 self.last_tab_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.EndTabBar()             # <<<<<<<<<<<<<<
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    ImGui::EndTabBar();

    /* "dearcygui/core.pyx":9556
 *         self.update_current_state()
 *         cdef imgui.ImVec2 pos_p
 *         if visible:             # <<<<<<<<<<<<<<
 *             if self.last_tab_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":9564
 *             imgui.EndTabBar()
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         imgui.EndGroup()
 *         imgui.PopID()
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_TabBar *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":9565
 *         else:
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         return self.state.cur.active and not(self.state.prev.active)
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":9566
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         imgui.EndGroup()
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         return self.state.cur.active and not(self.state.prev.active)
 * 
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":9567
 *         imgui.EndGroup()
 *         imgui.PopID()
 *         return self.state.cur.active and not(self.state.prev.active)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (__pyx_v_self->__pyx_base.state.cur.active) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.state.cur.active;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_self->__pyx_base.state.prev.active);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9549
 *             self.flags |= imgui.ImGuiTabBarFlags_FittingPolicyScroll
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup() # from original. Unsure if needed
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.TabBar.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6TabBar_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6TabBar_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6TabBar_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6TabBar_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6TabBar_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6TabBar_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_TabBar *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6TabBar_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TabBar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TabBar.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9602
 *     preserved.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Layout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Layout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Layout___cinit__(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Layout___cinit__(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":9603
 *     """
 *     def __cinit__(self):
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":9604
 *     def __cinit__(self):
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":9605
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":9606
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":9607
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_deactivated_after_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_deactivated_after_edited = 1;

  /* "dearcygui/core.pyx":9608
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_edited = 1;

  /* "dearcygui/core.pyx":9609
 *         self.state.cap.can_be_deactivated_after_edited = True
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":9610
 *         self.state.cap.can_be_edited = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_toggled = True
 *         self.theme_condition_category = theme_categories.t_layout
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":9611
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_layout
 *         self.prev_content_area.x = 0
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_toggled = 1;

  /* "dearcygui/core.pyx":9612
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 *         self.theme_condition_category = theme_categories.t_layout             # <<<<<<<<<<<<<<
 *         self.prev_content_area.x = 0
 *         self.prev_content_area.y = 0
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_layout;

  /* "dearcygui/core.pyx":9613
 *         self.state.cap.can_be_toggled = True
 *         self.theme_condition_category = theme_categories.t_layout
 *         self.prev_content_area.x = 0             # <<<<<<<<<<<<<<
 *         self.prev_content_area.y = 0
 *         self.previous_last_child = NULL
 */
  __pyx_v_self->prev_content_area.x = 0.0;

  /* "dearcygui/core.pyx":9614
 *         self.theme_condition_category = theme_categories.t_layout
 *         self.prev_content_area.x = 0
 *         self.prev_content_area.y = 0             # <<<<<<<<<<<<<<
 *         self.previous_last_child = NULL
 * 
 */
  __pyx_v_self->prev_content_area.y = 0.0;

  /* "dearcygui/core.pyx":9615
 *         self.prev_content_area.x = 0
 *         self.prev_content_area.y = 0
 *         self.previous_last_child = NULL             # <<<<<<<<<<<<<<
 * 
 *     def update_layout(self):
 */
  __pyx_v_self->previous_last_child = NULL;

  /* "dearcygui/core.pyx":9602
 *     preserved.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9617
 *         self.previous_last_child = NULL
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Layout_3update_layout = {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_3update_layout, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update_layout (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Layout_2update_layout(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Layout_2update_layout(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("update_layout", 1);

  /* "dearcygui/core.pyx":9619
 *     def update_layout(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.context.queue_callback_arg1value(self._callback, self, self, self._value) # TODO: callbacks ?
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9620
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.context.queue_callback_arg1value(self._callback, self, self, self._value) # TODO: callbacks ?             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_change(self) noexcept nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_callback_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_9dearcygui_4core_Callback))))) __PYX_ERR(1, 9620, __pyx_L1_error)
  __pyx_t_2 = ((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_INCREF(__pyx_t_2);
  ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg1value(__pyx_v_self->__pyx_base.__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_2));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":9617
 *         self.previous_last_child = NULL
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Layout.update_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9622
 *         self.context.queue_callback_arg1value(self._callback, self, self, self._value) # TODO: callbacks ?
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 */

static int __pyx_f_9dearcygui_4core_6Layout_check_change(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self) {
  ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":9623
 * 
 *     cdef bint check_change(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":9624
 *     cdef bint check_change(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            cur_content_area.y != self.prev_content_area.y or \
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":9625
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 */
  __pyx_t_2 = (__pyx_v_cur_content_area.x != __pyx_v_self->prev_content_area.x);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9626
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            cur_content_area.y != self.prev_content_area.y or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  __pyx_t_2 = (__pyx_v_cur_content_area.y != __pyx_v_self->prev_content_area.y);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9627
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \             # <<<<<<<<<<<<<<
 *            self.size_update_requested or \
 *            self.force_update:
 */
  __pyx_t_2 = (__pyx_v_self->previous_last_child != ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9628
 *            cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \             # <<<<<<<<<<<<<<
 *            self.force_update:
 *             changed = True
 */
  if (!__pyx_v_self->__pyx_base.size_update_requested) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.size_update_requested;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9629
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 *            self.force_update:             # <<<<<<<<<<<<<<
 *             changed = True
 *             self.prev_content_area = cur_content_area
 */
  __pyx_t_1 = __pyx_v_self->force_update;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":9625
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9630
 *            self.size_update_requested or \
 *            self.force_update:
 *             changed = True             # <<<<<<<<<<<<<<
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 */
    __pyx_v_changed = 1;

    /* "dearcygui/core.pyx":9631
 *            self.force_update:
 *             changed = True
 *             self.prev_content_area = cur_content_area             # <<<<<<<<<<<<<<
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 */
    __pyx_v_self->prev_content_area = __pyx_v_cur_content_area;

    /* "dearcygui/core.pyx":9632
 *             changed = True
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             self.force_update = False
 *             self.size_update_requested = False
 */
    __pyx_v_self->previous_last_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9633
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False             # <<<<<<<<<<<<<<
 *             self.size_update_requested = False
 *         return changed
 */
    __pyx_v_self->force_update = 0;

    /* "dearcygui/core.pyx":9634
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 *             self.size_update_requested = False             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
    __pyx_v_self->__pyx_base.size_update_requested = 0;

    /* "dearcygui/core.pyx":9625
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 */
  }

  /* "dearcygui/core.pyx":9635
 *             self.force_update = False
 *             self.size_update_requested = False
 *         return changed             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9622
 *         self.context.queue_callback_arg1value(self._callback, self, self, self._value) # TODO: callbacks ?
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9637
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail() # TODO: pass to the callback ? Or set as state ?
 *         if self.last_widgets_child is None:# or \
 */

static int __pyx_f_9dearcygui_4core_6Layout_draw_item(struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self) {
  CYTHON_UNUSED ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9638
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail() # TODO: pass to the callback ? Or set as state ?             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is None:# or \
 *             #cur_content_area.x <= 0 or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":9639
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail() # TODO: pass to the callback ? Or set as state ?
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9643
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 *             #self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False             # <<<<<<<<<<<<<<
 *         cdef bint changed = self.check_change()
 *         imgui.PushID(self.uuid)
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":9639
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail() # TODO: pass to the callback ? Or set as state ?
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  }

  /* "dearcygui/core.pyx":9644
 *             #self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False
 *         cdef bint changed = self.check_change()             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()
 */
  __pyx_v_changed = ((struct __pyx_vtabstruct_9dearcygui_4core_Layout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->check_change(__pyx_v_self);

  /* "dearcygui/core.pyx":9645
 *             return False
 *         cdef bint changed = self.check_change()
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":9646
 *         cdef bint changed = self.check_change()
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":9648
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9649
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 */
    __pyx_v_pos_p = ImGui::GetCursorScreenPos();

    /* "dearcygui/core.pyx":9650
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 */
    try {
      std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 9650, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":9651
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *             self.context._viewport.parent_pos = pos_p
 *         imgui.EndGroup()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9652
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *         imgui.EndGroup()
 *         imgui.PopID()
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

    /* "dearcygui/core.pyx":9648
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  }

  /* "dearcygui/core.pyx":9653
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":9654
 *             self.context._viewport.parent_pos = pos_p
 *         imgui.EndGroup()
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return changed
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":9655
 *         imgui.EndGroup()
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Layout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":9656
 *         imgui.PopID()
 *         self.update_current_state()
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * cdef class HorizontalLayout(Layout):
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9637
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail() # TODO: pass to the callback ? Or set as state ?
 *         if self.last_widgets_child is None:# or \
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.Layout.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Layout_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Layout_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Layout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Layout.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Layout_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Layout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Layout_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Layout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Layout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Layout.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9663
 *     horizontally.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.LEFT
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout___cinit__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16HorizontalLayout___cinit__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":9664
 *     """
 *     def __cinit__(self):
 *         self._alignment_mode = alignment.LEFT             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_alignment_mode = __pyx_e_9dearcygui_4core_LEFT;

  /* "dearcygui/core.pyx":9663
 *     horizontally.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.LEFT
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9666
 *         self._alignment_mode = alignment.LEFT
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment_mode(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode___get__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9684
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._alignment_mode
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9685
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._alignment_mode             # <<<<<<<<<<<<<<
 * 
 *     @alignment_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(__pyx_v_self->_alignment_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9666
 *         self._alignment_mode = alignment.LEFT
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment_mode(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.alignment_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9687
 *         return self._alignment_mode
 * 
 *     @alignment_mode.setter             # <<<<<<<<<<<<<<
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = ((enum __pyx_t_9dearcygui_4core_alignment)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_alignment(__pyx_arg_value)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9688, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.alignment_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode_2__set__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self), ((enum __pyx_t_9dearcygui_4core_alignment)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_14alignment_mode_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9690
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9691
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value
 */
  __pyx_t_2 = (__pyx_v_value < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_value > __pyx_e_9dearcygui_4core_MANUAL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":9692
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")             # <<<<<<<<<<<<<<
 *         self._alignment_mode = value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 9692, __pyx_L1_error)

    /* "dearcygui/core.pyx":9691
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value
 */
  }

  /* "dearcygui/core.pyx":9693
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_alignment_mode = __pyx_v_value;

  /* "dearcygui/core.pyx":9687
 *         return self._alignment_mode
 * 
 *     @alignment_mode.setter             # <<<<<<<<<<<<<<
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.alignment_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9695
 *         self._alignment_mode = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def spacing(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing___get__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9702
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._alignment_mode
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9703
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._alignment_mode             # <<<<<<<<<<<<<<
 * 
 *     @spacing.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(__pyx_v_self->_alignment_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9695
 *         self._alignment_mode = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def spacing(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.spacing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9705
 *         return self._alignment_mode
 * 
 *     @spacing.setter             # <<<<<<<<<<<<<<
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9706, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.spacing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing_2__set__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_7spacing_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9708
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._spacing = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9709
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._spacing = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_spacing = __pyx_v_value;

  /* "dearcygui/core.pyx":9705
 *         return self._alignment_mode
 * 
 *     @spacing.setter             # <<<<<<<<<<<<<<
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9711
 *         self._spacing = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def positions(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions___get__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions___get__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9730
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._positions
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9731
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._positions             # <<<<<<<<<<<<<<
 * 
 *     @positions.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_float(__pyx_v_self->_positions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9711
 *         self._spacing = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def positions(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.positions.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9733
 *         return self._positions
 * 
 *     @positions.setter             # <<<<<<<<<<<<<<
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions_2__set__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16HorizontalLayout_9positions_2__set__(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  float __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9736
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.MANUAL
 *         # TODO: checks
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9737
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._alignment_mode = alignment.MANUAL             # <<<<<<<<<<<<<<
 *         # TODO: checks
 *         self._positions.clear()
 */
  __pyx_v_self->_alignment_mode = __pyx_e_9dearcygui_4core_MANUAL;

  /* "dearcygui/core.pyx":9739
 *         self._alignment_mode = alignment.MANUAL
 *         # TODO: checks
 *         self._positions.clear()             # <<<<<<<<<<<<<<
 *         for v in value:
 *             self._positions.push_back(v)
 */
  __pyx_v_self->_positions.clear();

  /* "dearcygui/core.pyx":9740
 *         # TODO: checks
 *         self._positions.clear()
 *         for v in value:             # <<<<<<<<<<<<<<
 *             self._positions.push_back(v)
 * 
 */
  if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
    __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9740, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 9740, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 9740, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 9740, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 9740, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 9740, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":9741
 *         self._positions.clear()
 *         for v in value:
 *             self._positions.push_back(v)             # <<<<<<<<<<<<<<
 * 
 *     def update_layout(self):
 */
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_v_v); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9741, __pyx_L1_error)
    try {
      __pyx_v_self->_positions.push_back(__pyx_t_5);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 9741, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":9740
 *         # TODO: checks
 *         self._positions.clear()
 *         for v in value:             # <<<<<<<<<<<<<<
 *             self._positions.push_back(v)
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":9733
 *         return self._positions
 * 
 *     @positions.setter             # <<<<<<<<<<<<<<
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.positions.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9743
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16HorizontalLayout_3update_layout = {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_3update_layout, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update_layout (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_2update_layout(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_2update_layout(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("update_layout", 1);

  /* "dearcygui/core.pyx":9745
 *     def update_layout(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is None:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9746
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9747
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:
 *             return             # <<<<<<<<<<<<<<
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":9746
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 */
  }

  /* "dearcygui/core.pyx":9748
 *         if self.last_widgets_child is None:
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *         self.__update_layout() # Maybe instead queue an update ?
 *         self.last_widgets_child.unlock_and_previous_siblings()
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.lock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

  /* "dearcygui/core.pyx":9749
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?             # <<<<<<<<<<<<<<
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_HorizontalLayout__update_layout(__pyx_v_self);

  /* "dearcygui/core.pyx":9750
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?
 *         self.last_widgets_child.unlock_and_previous_siblings()             # <<<<<<<<<<<<<<
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.unlock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

  /* "dearcygui/core.pyx":9743
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9752
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float size = 0.
 *         n_items = 0
 */

static float __pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__compute_items_size(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, int &__pyx_v_n_items) {
  float __pyx_v_size;
  PyObject *__pyx_v_child;
  float __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":9753
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 *         cdef float size = 0.             # <<<<<<<<<<<<<<
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 */
  __pyx_v_size = 0.;

  /* "dearcygui/core.pyx":9754
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 *         cdef float size = 0.
 *         n_items = 0             # <<<<<<<<<<<<<<
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 */
  __pyx_v_n_items = 0;

  /* "dearcygui/core.pyx":9755
 *         cdef float size = 0.
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.x
 */
  __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

  /* "dearcygui/core.pyx":9756
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *             size += (<uiItem>child).state.cur.rect_size.x
 *             n_items += 1
 */
  while (1) {
    __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":9757
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.x             # <<<<<<<<<<<<<<
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
    __pyx_v_size = (__pyx_v_size + ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.x);

    /* "dearcygui/core.pyx":9758
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.x
 *             n_items += 1             # <<<<<<<<<<<<<<
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.x == 0 and not(self.state.prev.rendered):
 */
    __pyx_v_n_items = (__pyx_v_n_items + 1);

    /* "dearcygui/core.pyx":9759
 *             size += (<uiItem>child).state.cur.rect_size.x
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *             if (<uiItem>child).requested_size.x == 0 and not(self.state.prev.rendered):
 *                 # Will need to recompute layout after the size is computed
 */
    __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);

    /* "dearcygui/core.pyx":9760
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.x == 0 and not(self.state.prev.rendered):             # <<<<<<<<<<<<<<
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 */
    __pyx_t_2 = (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->requested_size.x == 0.0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_2 = (!__pyx_v_self->__pyx_base.__pyx_base.state.prev.rendered);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9762
 *             if (<uiItem>child).requested_size.x == 0 and not(self.state.prev.rendered):
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True             # <<<<<<<<<<<<<<
 *         return size
 * 
 */
      __pyx_v_self->__pyx_base.force_update = 1;

      /* "dearcygui/core.pyx":9760
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.x == 0 and not(self.state.prev.rendered):             # <<<<<<<<<<<<<<
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 */
    }
  }

  /* "dearcygui/core.pyx":9763
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 *         return size             # <<<<<<<<<<<<<<
 * 
 *     cdef void __update_layout(self) noexcept nogil: # assumes children are locked and > 0
 */
  __pyx_r = __pyx_v_size;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9752
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float size = 0.
 *         n_items = 0
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9765
 *         return size
 * 
 *     cdef void __update_layout(self) noexcept nogil: # assumes children are locked and > 0             # <<<<<<<<<<<<<<
 *         # Set all items on the same row
 *         # and relative positioning mode
 */

static void __pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__update_layout(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  PyObject *__pyx_v_child;
  float __pyx_v_available_width;
  float __pyx_v_pos_end;
  float __pyx_v_pos_start;
  float __pyx_v_target_pos;
  float __pyx_v_size;
  float __pyx_v_spacing;
  float __pyx_v_rem;
  int __pyx_v_n_items;
  int __pyx_t_1;
  float __pyx_t_2;
  long __pyx_t_3;
  long __pyx_t_4;
  long __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9768
 *         # Set all items on the same row
 *         # and relative positioning mode
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[0] = positioning.REL_PARENT
 */
  __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

  /* "dearcygui/core.pyx":9769
 *         # and relative positioning mode
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>child)._pos_policy[0] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = True
 */
  while (1) {
    __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":9770
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[0] = positioning.REL_PARENT             # <<<<<<<<<<<<<<
 *             (<uiItem>child)._no_newline = True
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
    (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_PARENT;

    /* "dearcygui/core.pyx":9771
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[0] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = True             # <<<<<<<<<<<<<<
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         self.last_widgets_child._no_newline = False
 */
    ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_no_newline = 1;

    /* "dearcygui/core.pyx":9772
 *             (<uiItem>child)._pos_policy[0] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = True
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         self.last_widgets_child._no_newline = False
 * 
 */
    __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
  }

  /* "dearcygui/core.pyx":9773
 *             (<uiItem>child)._no_newline = True
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         self.last_widgets_child._no_newline = False             # <<<<<<<<<<<<<<
 * 
 *         cdef float available_width = self.requested_size.x
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->_no_newline = 0;

  /* "dearcygui/core.pyx":9775
 *         self.last_widgets_child._no_newline = False
 * 
 *         cdef float available_width = self.requested_size.x             # <<<<<<<<<<<<<<
 *         if self.requested_size.x == 0:
 *             available_width = self.prev_content_area.x
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.requested_size.x;
  __pyx_v_available_width = __pyx_t_2;

  /* "dearcygui/core.pyx":9776
 * 
 *         cdef float available_width = self.requested_size.x
 *         if self.requested_size.x == 0:             # <<<<<<<<<<<<<<
 *             available_width = self.prev_content_area.x
 *         elif self.requested_size.x < 0:
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.x == 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9777
 *         cdef float available_width = self.requested_size.x
 *         if self.requested_size.x == 0:
 *             available_width = self.prev_content_area.x             # <<<<<<<<<<<<<<
 *         elif self.requested_size.x < 0:
 *             available_width = self.requested_size.x + self.prev_content_area.x
 */
    __pyx_t_2 = __pyx_v_self->__pyx_base.prev_content_area.x;
    __pyx_v_available_width = __pyx_t_2;

    /* "dearcygui/core.pyx":9776
 * 
 *         cdef float available_width = self.requested_size.x
 *         if self.requested_size.x == 0:             # <<<<<<<<<<<<<<
 *             available_width = self.prev_content_area.x
 *         elif self.requested_size.x < 0:
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":9778
 *         if self.requested_size.x == 0:
 *             available_width = self.prev_content_area.x
 *         elif self.requested_size.x < 0:             # <<<<<<<<<<<<<<
 *             available_width = self.requested_size.x + self.prev_content_area.x
 * 
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.x < 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9779
 *             available_width = self.prev_content_area.x
 *         elif self.requested_size.x < 0:
 *             available_width = self.requested_size.x + self.prev_content_area.x             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_available_width = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.x + __pyx_v_self->__pyx_base.prev_content_area.x);

    /* "dearcygui/core.pyx":9778
 *         if self.requested_size.x == 0:
 *             available_width = self.prev_content_area.x
 *         elif self.requested_size.x < 0:             # <<<<<<<<<<<<<<
 *             available_width = self.requested_size.x + self.prev_content_area.x
 * 
 */
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":9783
 * 
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0             # <<<<<<<<<<<<<<
 *         if self._alignment_mode == alignment.LEFT:
 *             child = <PyObject*>self.last_widgets_child
 */
  __pyx_v_n_items = 0;

  /* "dearcygui/core.pyx":9784
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.LEFT:             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
  switch (__pyx_v_self->_alignment_mode) {
    case __pyx_e_9dearcygui_4core_LEFT:

    /* "dearcygui/core.pyx":9785
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.LEFT:
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9786
 *         if self._alignment_mode == alignment.LEFT:
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":9787
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT             # <<<<<<<<<<<<<<
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 *                     (<uiItem>child).state.cur.pos_to_default.x = self._spacing
 */
      (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_pos_policy[0]) = __pyx_e_9dearcygui_4core_REL_DEFAULT;

      /* "dearcygui/core.pyx":9788
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_default.x = self._spacing
 *                 else:
 */
      __pyx_t_1 = (((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling) != Py_None);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9789
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 *                     (<uiItem>child).state.cur.pos_to_default.x = self._spacing             # <<<<<<<<<<<<<<
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.x = 0.
 */
        __pyx_t_2 = __pyx_v_self->_spacing;
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_default.x = __pyx_t_2;

        /* "dearcygui/core.pyx":9788
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[0] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_default.x = self._spacing
 *                 else:
 */
        goto __pyx_L8;
      }

      /* "dearcygui/core.pyx":9791
 *                     (<uiItem>child).state.cur.pos_to_default.x = self._spacing
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.x = 0.             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:
 */
      /*else*/ {
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_default.x = 0.;
      }
      __pyx_L8:;

      /* "dearcygui/core.pyx":9792
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.x = 0.
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_width
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":9784
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.LEFT:             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_RIGHT:

    /* "dearcygui/core.pyx":9794
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_width             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_end = __pyx_v_available_width;

    /* "dearcygui/core.pyx":9795
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_width
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at pos_end
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9796
 *             pos_end = available_width
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":9798
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x             # <<<<<<<<<<<<<<
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing
 */
      __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.x);

      /* "dearcygui/core.pyx":9799
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos             # <<<<<<<<<<<<<<
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.x = __pyx_v_target_pos;

      /* "dearcygui/core.pyx":9800
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:
 */
      __pyx_v_pos_end = (__pyx_v_target_pos - __pyx_v_self->_spacing);

      /* "dearcygui/core.pyx":9801
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":9793
 *                     (<uiItem>child).state.cur.pos_to_default.x = 0.
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:             # <<<<<<<<<<<<<<
 *             pos_end = available_width
 *             child = <PyObject*>self.last_widgets_child
 */
    break;
    case __pyx_e_9dearcygui_4core_CENTER:

    /* "dearcygui/core.pyx":9803
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)             # <<<<<<<<<<<<<<
 *             size += max(0, (n_items - 1)) * self._spacing
 *             pos_start = available_width // 2 - \
 */
    __pyx_v_size = ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_HorizontalLayout__compute_items_size(__pyx_v_self, __pyx_v_n_items);

    /* "dearcygui/core.pyx":9804
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing             # <<<<<<<<<<<<<<
 *             pos_start = available_width // 2 - \
 *                         size // 2 # integer rounding to avoid blurring
 */
    __pyx_t_3 = (__pyx_v_n_items - 1);
    __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_5 = __pyx_t_3;
    } else {
      __pyx_t_5 = __pyx_t_4;
    }
    __pyx_v_size = (__pyx_v_size + (__pyx_t_5 * __pyx_v_self->_spacing));

    /* "dearcygui/core.pyx":9805
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing
 *             pos_start = available_width // 2 - \             # <<<<<<<<<<<<<<
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size
 */
    __pyx_v_pos_start = (floor(__pyx_v_available_width / 2.0) - floor(__pyx_v_size / 2.0));

    /* "dearcygui/core.pyx":9807
 *             pos_start = available_width // 2 - \
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_end = (__pyx_v_pos_start + __pyx_v_size);

    /* "dearcygui/core.pyx":9808
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at size
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9809
 *             pos_end = pos_start + size
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":9811
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x             # <<<<<<<<<<<<<<
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing
 */
      __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.x);

      /* "dearcygui/core.pyx":9812
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos             # <<<<<<<<<<<<<<
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.x = __pyx_v_target_pos;

      /* "dearcygui/core.pyx":9813
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 */
      __pyx_v_pos_end = (__pyx_v_target_pos - __pyx_v_self->_spacing);

      /* "dearcygui/core.pyx":9814
 *                 (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":9802
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:             # <<<<<<<<<<<<<<
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing
 */
    break;
    case __pyx_e_9dearcygui_4core_JUSTIFIED:

    /* "dearcygui/core.pyx":9816
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)             # <<<<<<<<<<<<<<
 *             if n_items == 1:
 *                 # prefer to revert to align left
 */
    __pyx_v_size = ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_HorizontalLayout__compute_items_size(__pyx_v_self, __pyx_v_n_items);

    /* "dearcygui/core.pyx":9817
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:             # <<<<<<<<<<<<<<
 *                 # prefer to revert to align left
 *                 self.last_widgets_child._pos_policy[0] = positioning.DEFAULT
 */
    __pyx_t_1 = (__pyx_v_n_items == 1);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":9819
 *             if n_items == 1:
 *                 # prefer to revert to align left
 *                 self.last_widgets_child._pos_policy[0] = positioning.DEFAULT             # <<<<<<<<<<<<<<
 *             else:
 *                 pos_end = available_width
 */
      (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->_pos_policy[0]) = __pyx_e_9dearcygui_4core_DEFAULT;

      /* "dearcygui/core.pyx":9817
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:             # <<<<<<<<<<<<<<
 *                 # prefer to revert to align left
 *                 self.last_widgets_child._pos_policy[0] = positioning.DEFAULT
 */
      goto __pyx_L13;
    }

    /* "dearcygui/core.pyx":9821
 *                 self.last_widgets_child._pos_policy[0] = positioning.DEFAULT
 *             else:
 *                 pos_end = available_width             # <<<<<<<<<<<<<<
 *                 spacing = floor((available_width - size) / (n_items-1))
 *                 # remaining pixels to completly end at the right
 */
    /*else*/ {
      __pyx_v_pos_end = __pyx_v_available_width;

      /* "dearcygui/core.pyx":9822
 *             else:
 *                 pos_end = available_width
 *                 spacing = floor((available_width - size) / (n_items-1))             # <<<<<<<<<<<<<<
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_width - size) - spacing * (n_items-1)
 */
      try {
        __pyx_t_2 = std::floor(((__pyx_v_available_width - __pyx_v_size) / ((float)(__pyx_v_n_items - 1))));
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 9822, __pyx_L1_error)
      }
      __pyx_v_spacing = __pyx_t_2;

      /* "dearcygui/core.pyx":9824
 *                 spacing = floor((available_width - size) / (n_items-1))
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_width - size) - spacing * (n_items-1)             # <<<<<<<<<<<<<<
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child
 */
      __pyx_v_rem = ((__pyx_v_available_width - __pyx_v_size) - (__pyx_v_spacing * (__pyx_v_n_items - 1)));

      /* "dearcygui/core.pyx":9825
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_width - size) - spacing * (n_items-1)
 *                 rem += spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:
 */
      __pyx_v_rem = (__pyx_v_rem + __pyx_v_spacing);

      /* "dearcygui/core.pyx":9826
 *                 rem = (available_width - size) - spacing * (n_items-1)
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 */
      __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":9827
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                     (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 */
      while (1) {
        __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
        if (!__pyx_t_1) break;

        /* "dearcygui/core.pyx":9828
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                     pos_end = target_pos
 */
        __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.x);

        /* "dearcygui/core.pyx":9829
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                     (<uiItem>child).state.cur.pos_to_parent.x = target_pos             # <<<<<<<<<<<<<<
 *                     pos_end = target_pos
 *                     pos_end -= rem
 */
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.x = __pyx_v_target_pos;

        /* "dearcygui/core.pyx":9830
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.x
 *                     (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                     pos_end = target_pos             # <<<<<<<<<<<<<<
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 */
        __pyx_v_pos_end = __pyx_v_target_pos;

        /* "dearcygui/core.pyx":9831
 *                     (<uiItem>child).state.cur.pos_to_parent.x = target_pos
 *                     pos_end = target_pos
 *                     pos_end -= rem             # <<<<<<<<<<<<<<
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:
 */
        __pyx_v_pos_end = (__pyx_v_pos_end - __pyx_v_rem);

        /* "dearcygui/core.pyx":9833
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:             # <<<<<<<<<<<<<<
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
        __pyx_t_1 = (__pyx_v_rem != __pyx_v_spacing);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":9834
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:
 *                         rem = spacing             # <<<<<<<<<<<<<<
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         else: #MANUAL
 */
          __pyx_v_rem = __pyx_v_spacing;

          /* "dearcygui/core.pyx":9833
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:             # <<<<<<<<<<<<<<
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
        }

        /* "dearcygui/core.pyx":9835
 *                     if rem != spacing:
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         else: #MANUAL
 *             n_items = 1
 */
        __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
      }
    }
    __pyx_L13:;

    /* "dearcygui/core.pyx":9815
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:             # <<<<<<<<<<<<<<
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:
 */
    break;
    default:

    /* "dearcygui/core.pyx":9837
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         else: #MANUAL
 *             n_items = 1             # <<<<<<<<<<<<<<
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child
 */
    __pyx_v_n_items = 1;

    /* "dearcygui/core.pyx":9838
 *         else: #MANUAL
 *             n_items = 1
 *             pos_start = 0.             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_start = 0.;

    /* "dearcygui/core.pyx":9839
 *             n_items = 1
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9840
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":9841
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):             # <<<<<<<<<<<<<<
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 */
      __pyx_t_1 = (!__pyx_v_self->_positions.empty());
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9842
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]             # <<<<<<<<<<<<<<
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:
 */
        __pyx_t_6 = (((int)__pyx_v_self->_positions.size()) - __pyx_v_n_items);
        __pyx_t_5 = 0;
        __pyx_t_1 = (__pyx_t_6 > __pyx_t_5);
        if (__pyx_t_1) {
          __pyx_t_3 = __pyx_t_6;
        } else {
          __pyx_t_3 = __pyx_t_5;
        }
        __pyx_v_pos_start = (__pyx_v_self->_positions[__pyx_t_3]);

        /* "dearcygui/core.pyx":9841
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):             # <<<<<<<<<<<<<<
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 */
      }

      /* "dearcygui/core.pyx":9843
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:             # <<<<<<<<<<<<<<
 *                     if pos_start < 1.:
 *                         pos_start *= available_width
 */
      __pyx_t_1 = (__pyx_v_pos_start > 0.);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9844
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_width
 *                         pos_start = floor(pos_start)
 */
        __pyx_t_1 = (__pyx_v_pos_start < 1.);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":9845
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:
 *                         pos_start *= available_width             # <<<<<<<<<<<<<<
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 */
          __pyx_v_pos_start = (__pyx_v_pos_start * __pyx_v_available_width);

          /* "dearcygui/core.pyx":9846
 *                     if pos_start < 1.:
 *                         pos_start *= available_width
 *                         pos_start = floor(pos_start)             # <<<<<<<<<<<<<<
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:
 */
          try {
            __pyx_t_2 = std::floor(__pyx_v_pos_start);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 9846, __pyx_L1_error)
          }
          __pyx_v_pos_start = __pyx_t_2;

          /* "dearcygui/core.pyx":9844
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_width
 *                         pos_start = floor(pos_start)
 */
        }

        /* "dearcygui/core.pyx":9843
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:             # <<<<<<<<<<<<<<
 *                     if pos_start < 1.:
 *                         pos_start *= available_width
 */
        goto __pyx_L20;
      }

      /* "dearcygui/core.pyx":9847
 *                         pos_start *= available_width
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:             # <<<<<<<<<<<<<<
 *                     if pos_start > -1.:
 *                         pos_start *= available_width
 */
      __pyx_t_1 = (__pyx_v_pos_start < 0.0);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":9848
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_width
 *                         pos_start += available_width
 */
        __pyx_t_1 = (__pyx_v_pos_start > -1.);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":9849
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:
 *                         pos_start *= available_width             # <<<<<<<<<<<<<<
 *                         pos_start += available_width
 *                         pos_start = floor(pos_start)
 */
          __pyx_v_pos_start = (__pyx_v_pos_start * __pyx_v_available_width);

          /* "dearcygui/core.pyx":9850
 *                     if pos_start > -1.:
 *                         pos_start *= available_width
 *                         pos_start += available_width             # <<<<<<<<<<<<<<
 *                         pos_start = floor(pos_start)
 *                     else:
 */
          __pyx_v_pos_start = (__pyx_v_pos_start + __pyx_v_available_width);

          /* "dearcygui/core.pyx":9851
 *                         pos_start *= available_width
 *                         pos_start += available_width
 *                         pos_start = floor(pos_start)             # <<<<<<<<<<<<<<
 *                     else:
 *                         pos_start += available_width
 */
          try {
            __pyx_t_2 = std::floor(__pyx_v_pos_start);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 9851, __pyx_L1_error)
          }
          __pyx_v_pos_start = __pyx_t_2;

          /* "dearcygui/core.pyx":9848
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_width
 *                         pos_start += available_width
 */
          goto __pyx_L22;
        }

        /* "dearcygui/core.pyx":9853
 *                         pos_start = floor(pos_start)
 *                     else:
 *                         pos_start += available_width             # <<<<<<<<<<<<<<
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.x = pos_start
 */
        /*else*/ {
          __pyx_v_pos_start = (__pyx_v_pos_start + __pyx_v_available_width);
        }
        __pyx_L22:;

        /* "dearcygui/core.pyx":9847
 *                         pos_start *= available_width
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:             # <<<<<<<<<<<<<<
 *                     if pos_start > -1.:
 *                         pos_start *= available_width
 */
      }
      __pyx_L20:;

      /* "dearcygui/core.pyx":9855
 *                         pos_start += available_width
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.x = pos_start             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *                 n_items += 1
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.x = __pyx_v_pos_start;

      /* "dearcygui/core.pyx":9856
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.x = pos_start
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *                 n_items += 1
 * 
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);

      /* "dearcygui/core.pyx":9857
 *                 (<uiItem>child).state.cur.pos_to_parent.x = pos_start
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *                 n_items += 1             # <<<<<<<<<<<<<<
 * 
 *         if self.force_update:
 */
      __pyx_v_n_items = (__pyx_v_n_items + 1);
    }
    break;
  }

  /* "dearcygui/core.pyx":9859
 *                 n_items += 1
 * 
 *         if self.force_update:             # <<<<<<<<<<<<<<
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()
 */
  if (__pyx_v_self->__pyx_base.force_update) {

    /* "dearcygui/core.pyx":9861
 *         if self.force_update:
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_change(self) noexcept nogil:
 */
    __pyx_f_9dearcygui_4core_8Viewport_cwake(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport);

    /* "dearcygui/core.pyx":9859
 *                 n_items += 1
 * 
 *         if self.force_update:             # <<<<<<<<<<<<<<
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()
 */
  }

  /* "dearcygui/core.pyx":9765
 *         return size
 * 
 *     cdef void __update_layout(self) noexcept nogil: # assumes children are locked and > 0             # <<<<<<<<<<<<<<
 *         # Set all items on the same row
 *         # and relative positioning mode
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.HorizontalLayout._HorizontalLayout__update_layout", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "dearcygui/core.pyx":9863
 *             self.context._viewport.cwake()
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Same as Layout check_change but only looks
 *         # horizontally content area changes
 */

static int __pyx_f_9dearcygui_4core_16HorizontalLayout_check_change(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":9866
 *         # Same as Layout check_change but only looks
 *         # horizontally content area changes
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":9867
 *         # horizontally content area changes
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":9868
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  __pyx_t_2 = (__pyx_v_cur_content_area.x != __pyx_v_self->__pyx_base.prev_content_area.x);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9869
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \             # <<<<<<<<<<<<<<
 *            self.size_update_requested or \
 *            self.force_update:
 */
  __pyx_t_2 = (__pyx_v_self->__pyx_base.previous_last_child != ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9870
 *         if cur_content_area.x != self.prev_content_area.x or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \             # <<<<<<<<<<<<<<
 *            self.force_update:
 *             changed = True
 */
  if (!__pyx_v_self->__pyx_base.__pyx_base.size_update_requested) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.size_update_requested;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":9871
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 *            self.force_update:             # <<<<<<<<<<<<<<
 *             changed = True
 *             self.prev_content_area = cur_content_area
 */
  __pyx_t_1 = __pyx_v_self->__pyx_base.force_update;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":9868
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9872
 *            self.size_update_requested or \
 *            self.force_update:
 *             changed = True             # <<<<<<<<<<<<<<
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 */
    __pyx_v_changed = 1;

    /* "dearcygui/core.pyx":9873
 *            self.force_update:
 *             changed = True
 *             self.prev_content_area = cur_content_area             # <<<<<<<<<<<<<<
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 */
    __pyx_v_self->__pyx_base.prev_content_area = __pyx_v_cur_content_area;

    /* "dearcygui/core.pyx":9874
 *             changed = True
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             self.force_update = False
 *             self.size_update_requested = False
 */
    __pyx_v_self->__pyx_base.previous_last_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9875
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False             # <<<<<<<<<<<<<<
 *             self.size_update_requested = False
 *         return changed
 */
    __pyx_v_self->__pyx_base.force_update = 0;

    /* "dearcygui/core.pyx":9876
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 *             self.size_update_requested = False             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
    __pyx_v_self->__pyx_base.__pyx_base.size_update_requested = 0;

    /* "dearcygui/core.pyx":9868
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.x != self.prev_content_area.x or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  }

  /* "dearcygui/core.pyx":9877
 *             self.force_update = False
 *             self.size_update_requested = False
 *         return changed             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9863
 *             self.context._viewport.cwake()
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Same as Layout check_change but only looks
 *         # horizontally content area changes
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9879
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \
 */

static int __pyx_f_9dearcygui_4core_16HorizontalLayout_draw_item(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  CYTHON_UNUSED ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":9880
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is None:# or \
 *             #cur_content_area.x <= 0 or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":9881
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9885
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 *             # self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False             # <<<<<<<<<<<<<<
 *         cdef bint changed = self.check_change()
 *         changed = True
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":9881
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  }

  /* "dearcygui/core.pyx":9886
 *             # self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False
 *         cdef bint changed = self.check_change()             # <<<<<<<<<<<<<<
 *         changed = True
 *         if changed:
 */
  __pyx_v_changed = ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_change(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self));

  /* "dearcygui/core.pyx":9887
 *             return False
 *         cdef bint changed = self.check_change()
 *         changed = True             # <<<<<<<<<<<<<<
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()
 */
  __pyx_v_changed = 1;

  /* "dearcygui/core.pyx":9888
 *         cdef bint changed = self.check_change()
 *         changed = True
 *         if changed:             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":9889
 *         changed = True
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.lock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

    /* "dearcygui/core.pyx":9890
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_HorizontalLayout__update_layout(__pyx_v_self);

    /* "dearcygui/core.pyx":9888
 *         cdef bint changed = self.check_change()
 *         changed = True
 *         if changed:             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 */
  }

  /* "dearcygui/core.pyx":9891
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":9892
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":9894
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9895
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 */
    __pyx_v_pos_p = ImGui::GetCursorScreenPos();

    /* "dearcygui/core.pyx":9896
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 */
    try {
      std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 9896, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":9897
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":9898
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *         if changed:
 *             # We maintain the lock during the rendering
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

    /* "dearcygui/core.pyx":9894
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  }

  /* "dearcygui/core.pyx":9899
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:             # <<<<<<<<<<<<<<
 *             # We maintain the lock during the rendering
 *             # just to be sure the user doesn't change the
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":9903
 *             # just to be sure the user doesn't change the
 *             # positioning we took care to manage :-)
 *             self.last_widgets_child.unlock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *         imgui.EndGroup()
 *         imgui.PopID()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.unlock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

    /* "dearcygui/core.pyx":9899
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:             # <<<<<<<<<<<<<<
 *             # We maintain the lock during the rendering
 *             # just to be sure the user doesn't change the
 */
  }

  /* "dearcygui/core.pyx":9904
 *             # positioning we took care to manage :-)
 *             self.last_widgets_child.unlock_and_previous_siblings()
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":9905
 *             self.last_widgets_child.unlock_and_previous_siblings()
 *         imgui.EndGroup()
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return changed
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":9906
 *         imgui.EndGroup()
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":9907
 *         imgui.PopID()
 *         self.update_current_state()
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9879
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.HorizontalLayout.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16HorizontalLayout_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16HorizontalLayout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_HorizontalLayout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.HorizontalLayout.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9914
 *     Same as HorizontalLayout but vertically
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.TOP
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout___cinit__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14VerticalLayout___cinit__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":9915
 *     """
 *     def __cinit__(self):
 *         self._alignment_mode = alignment.TOP             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_alignment_mode = __pyx_e_9dearcygui_4core_TOP;

  /* "dearcygui/core.pyx":9914
 *     Same as HorizontalLayout but vertically
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.TOP
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9917
 *         self._alignment_mode = alignment.TOP
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment_mode(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode___get__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9935
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._alignment_mode
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9936
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._alignment_mode             # <<<<<<<<<<<<<<
 * 
 *     @alignment_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(__pyx_v_self->_alignment_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9917
 *         self._alignment_mode = alignment.TOP
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment_mode(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.alignment_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9938
 *         return self._alignment_mode
 * 
 *     @alignment_mode.setter             # <<<<<<<<<<<<<<
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = ((enum __pyx_t_9dearcygui_4core_alignment)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_alignment(__pyx_arg_value)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9939, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.alignment_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode_2__set__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self), ((enum __pyx_t_9dearcygui_4core_alignment)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14VerticalLayout_14alignment_mode_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, enum __pyx_t_9dearcygui_4core_alignment __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9941
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9942
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value
 */
  __pyx_t_2 = (__pyx_v_value < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_value > __pyx_e_9dearcygui_4core_MANUAL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":9943
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")             # <<<<<<<<<<<<<<
 *         self._alignment_mode = value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 9943, __pyx_L1_error)

    /* "dearcygui/core.pyx":9942
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value
 */
  }

  /* "dearcygui/core.pyx":9944
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")
 *         self._alignment_mode = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_alignment_mode = __pyx_v_value;

  /* "dearcygui/core.pyx":9938
 *         return self._alignment_mode
 * 
 *     @alignment_mode.setter             # <<<<<<<<<<<<<<
 *     def alignment_mode(self, alignment value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.alignment_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9946
 *         self._alignment_mode = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def spacing(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing___get__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9953
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._alignment_mode
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9954
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._alignment_mode             # <<<<<<<<<<<<<<
 * 
 *     @spacing.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_alignment_to_py(__pyx_v_self->_alignment_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9946
 *         self._alignment_mode = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def spacing(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.spacing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9956
 *         return self._alignment_mode
 * 
 *     @spacing.setter             # <<<<<<<<<<<<<<
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9957, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.spacing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing_2__set__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14VerticalLayout_7spacing_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":9959
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._spacing = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9960
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._spacing = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_spacing = __pyx_v_value;

  /* "dearcygui/core.pyx":9956
 *         return self._alignment_mode
 * 
 *     @spacing.setter             # <<<<<<<<<<<<<<
 *     def spacing(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":9962
 *         self._spacing = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def positions(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_9positions___get__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_9positions___get__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":9981
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._positions
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9982
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._positions             # <<<<<<<<<<<<<<
 * 
 *     @positions.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_float(__pyx_v_self->_positions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":9962
 *         self._spacing = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def positions(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.positions.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9984
 *         return self._positions
 * 
 *     @positions.setter             # <<<<<<<<<<<<<<
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_9positions_2__set__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14VerticalLayout_9positions_2__set__(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  float __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":9987
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._alignment_mode = alignment.MANUAL
 *         # TODO: checks
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9988
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._alignment_mode = alignment.MANUAL             # <<<<<<<<<<<<<<
 *         # TODO: checks
 *         self._positions.clear()
 */
  __pyx_v_self->_alignment_mode = __pyx_e_9dearcygui_4core_MANUAL;

  /* "dearcygui/core.pyx":9990
 *         self._alignment_mode = alignment.MANUAL
 *         # TODO: checks
 *         self._positions.clear()             # <<<<<<<<<<<<<<
 *         for v in value:
 *             self._positions.push_back(v)
 */
  __pyx_v_self->_positions.clear();

  /* "dearcygui/core.pyx":9991
 *         # TODO: checks
 *         self._positions.clear()
 *         for v in value:             # <<<<<<<<<<<<<<
 *             self._positions.push_back(v)
 * 
 */
  if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
    __pyx_t_1 = __pyx_v_value; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9991, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 9991, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 9991, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9991, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 9991, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 9991, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9991, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 9991, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "dearcygui/core.pyx":9992
 *         self._positions.clear()
 *         for v in value:
 *             self._positions.push_back(v)             # <<<<<<<<<<<<<<
 * 
 *     def update_layout(self):
 */
    __pyx_t_5 = __pyx_PyFloat_AsFloat(__pyx_v_v); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 9992, __pyx_L1_error)
    try {
      __pyx_v_self->_positions.push_back(__pyx_t_5);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(1, 9992, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":9991
 *         # TODO: checks
 *         self._positions.clear()
 *         for v in value:             # <<<<<<<<<<<<<<
 *             self._positions.push_back(v)
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":9984
 *         return self._positions
 * 
 *     @positions.setter             # <<<<<<<<<<<<<<
 *     def positions(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.positions.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":9994
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14VerticalLayout_3update_layout = {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_3update_layout, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_3update_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update_layout (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_2update_layout(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_2update_layout(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("update_layout", 1);

  /* "dearcygui/core.pyx":9996
 *     def update_layout(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is None:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":9997
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":9998
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:
 *             return             # <<<<<<<<<<<<<<
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":9997
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.last_widgets_child is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 */
  }

  /* "dearcygui/core.pyx":9999
 *         if self.last_widgets_child is None:
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *         self.__update_layout() # Maybe instead queue an update ?
 *         self.last_widgets_child.unlock_and_previous_siblings()
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.lock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

  /* "dearcygui/core.pyx":10000
 *             return
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?             # <<<<<<<<<<<<<<
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_VerticalLayout__update_layout(__pyx_v_self);

  /* "dearcygui/core.pyx":10001
 *         self.last_widgets_child.lock_and_previous_siblings()
 *         self.__update_layout() # Maybe instead queue an update ?
 *         self.last_widgets_child.unlock_and_previous_siblings()             # <<<<<<<<<<<<<<
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.unlock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

  /* "dearcygui/core.pyx":9994
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10003
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float size = 0.
 *         n_items = 0
 */

static float __pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__compute_items_size(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, int &__pyx_v_n_items) {
  float __pyx_v_size;
  PyObject *__pyx_v_child;
  float __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":10004
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 *         cdef float size = 0.             # <<<<<<<<<<<<<<
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 */
  __pyx_v_size = 0.;

  /* "dearcygui/core.pyx":10005
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:
 *         cdef float size = 0.
 *         n_items = 0             # <<<<<<<<<<<<<<
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 */
  __pyx_v_n_items = 0;

  /* "dearcygui/core.pyx":10006
 *         cdef float size = 0.
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.y
 */
  __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

  /* "dearcygui/core.pyx":10007
 *         n_items = 0
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *             size += (<uiItem>child).state.cur.rect_size.y
 *             n_items += 1
 */
  while (1) {
    __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":10008
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.y             # <<<<<<<<<<<<<<
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
    __pyx_v_size = (__pyx_v_size + ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.y);

    /* "dearcygui/core.pyx":10009
 *         while (<uiItem>child) is not None:
 *             size += (<uiItem>child).state.cur.rect_size.y
 *             n_items += 1             # <<<<<<<<<<<<<<
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.y == 0 and not(self.state.prev.rendered):
 */
    __pyx_v_n_items = (__pyx_v_n_items + 1);

    /* "dearcygui/core.pyx":10010
 *             size += (<uiItem>child).state.cur.rect_size.y
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *             if (<uiItem>child).requested_size.y == 0 and not(self.state.prev.rendered):
 *                 # Will need to recompute layout after the size is computed
 */
    __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);

    /* "dearcygui/core.pyx":10011
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.y == 0 and not(self.state.prev.rendered):             # <<<<<<<<<<<<<<
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 */
    __pyx_t_2 = (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->requested_size.y == 0.0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_2 = (!__pyx_v_self->__pyx_base.__pyx_base.state.prev.rendered);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":10013
 *             if (<uiItem>child).requested_size.y == 0 and not(self.state.prev.rendered):
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True             # <<<<<<<<<<<<<<
 *         return size
 * 
 */
      __pyx_v_self->__pyx_base.force_update = 1;

      /* "dearcygui/core.pyx":10011
 *             n_items += 1
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *             if (<uiItem>child).requested_size.y == 0 and not(self.state.prev.rendered):             # <<<<<<<<<<<<<<
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 */
    }
  }

  /* "dearcygui/core.pyx":10014
 *                 # Will need to recompute layout after the size is computed
 *                 self.force_update = True
 *         return size             # <<<<<<<<<<<<<<
 * 
 *     cdef void __update_layout(self) noexcept nogil:
 */
  __pyx_r = __pyx_v_size;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10003
 *         self.last_widgets_child.unlock_and_previous_siblings()
 * 
 *     cdef float __compute_items_size(self, int &n_items) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef float size = 0.
 *         n_items = 0
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10016
 *         return size
 * 
 *     cdef void __update_layout(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # assumes children are locked and > 0
 *         # Set all items on the same row
 */

static void __pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__update_layout(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  PyObject *__pyx_v_child;
  float __pyx_v_available_height;
  float __pyx_v_pos_end;
  float __pyx_v_pos_start;
  float __pyx_v_target_pos;
  float __pyx_v_size;
  float __pyx_v_spacing;
  float __pyx_v_rem;
  int __pyx_v_n_items;
  int __pyx_t_1;
  float __pyx_t_2;
  long __pyx_t_3;
  long __pyx_t_4;
  long __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":10020
 *         # Set all items on the same row
 *         # and relative positioning mode
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[1] = positioning.REL_PARENT
 */
  __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

  /* "dearcygui/core.pyx":10021
 *         # and relative positioning mode
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>child)._pos_policy[1] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = False
 */
  while (1) {
    __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":10022
 *         cdef PyObject *child = <PyObject*>self.last_widgets_child
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[1] = positioning.REL_PARENT             # <<<<<<<<<<<<<<
 *             (<uiItem>child)._no_newline = False
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
    (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_PARENT;

    /* "dearcygui/core.pyx":10023
 *         while (<uiItem>child) is not None:
 *             (<uiItem>child)._pos_policy[1] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = False             # <<<<<<<<<<<<<<
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         self.last_widgets_child._no_newline = False
 */
    ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_no_newline = 0;

    /* "dearcygui/core.pyx":10024
 *             (<uiItem>child)._pos_policy[1] = positioning.REL_PARENT
 *             (<uiItem>child)._no_newline = False
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         self.last_widgets_child._no_newline = False
 * 
 */
    __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
  }

  /* "dearcygui/core.pyx":10025
 *             (<uiItem>child)._no_newline = False
 *             child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         self.last_widgets_child._no_newline = False             # <<<<<<<<<<<<<<
 * 
 *         cdef float available_height = self.requested_size.y
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->_no_newline = 0;

  /* "dearcygui/core.pyx":10027
 *         self.last_widgets_child._no_newline = False
 * 
 *         cdef float available_height = self.requested_size.y             # <<<<<<<<<<<<<<
 *         if self.requested_size.y == 0:
 *             available_height = self.prev_content_area.y
 */
  __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.requested_size.y;
  __pyx_v_available_height = __pyx_t_2;

  /* "dearcygui/core.pyx":10028
 * 
 *         cdef float available_height = self.requested_size.y
 *         if self.requested_size.y == 0:             # <<<<<<<<<<<<<<
 *             available_height = self.prev_content_area.y
 *         elif self.requested_size.y < 0:
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.y == 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":10029
 *         cdef float available_height = self.requested_size.y
 *         if self.requested_size.y == 0:
 *             available_height = self.prev_content_area.y             # <<<<<<<<<<<<<<
 *         elif self.requested_size.y < 0:
 *             available_height = self.requested_size.y + self.prev_content_area.y
 */
    __pyx_t_2 = __pyx_v_self->__pyx_base.prev_content_area.y;
    __pyx_v_available_height = __pyx_t_2;

    /* "dearcygui/core.pyx":10028
 * 
 *         cdef float available_height = self.requested_size.y
 *         if self.requested_size.y == 0:             # <<<<<<<<<<<<<<
 *             available_height = self.prev_content_area.y
 *         elif self.requested_size.y < 0:
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":10030
 *         if self.requested_size.y == 0:
 *             available_height = self.prev_content_area.y
 *         elif self.requested_size.y < 0:             # <<<<<<<<<<<<<<
 *             available_height = self.requested_size.y + self.prev_content_area.y
 * 
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.y < 0.0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":10031
 *             available_height = self.prev_content_area.y
 *         elif self.requested_size.y < 0:
 *             available_height = self.requested_size.y + self.prev_content_area.y             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_available_height = (__pyx_v_self->__pyx_base.__pyx_base.requested_size.y + __pyx_v_self->__pyx_base.prev_content_area.y);

    /* "dearcygui/core.pyx":10030
 *         if self.requested_size.y == 0:
 *             available_height = self.prev_content_area.y
 *         elif self.requested_size.y < 0:             # <<<<<<<<<<<<<<
 *             available_height = self.requested_size.y + self.prev_content_area.y
 * 
 */
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":10035
 * 
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0             # <<<<<<<<<<<<<<
 *         if self._alignment_mode == alignment.TOP:
 *             child = <PyObject*>self.last_widgets_child
 */
  __pyx_v_n_items = 0;

  /* "dearcygui/core.pyx":10036
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.TOP:             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
  switch (__pyx_v_self->_alignment_mode) {
    case __pyx_e_9dearcygui_4core_TOP:

    /* "dearcygui/core.pyx":10037
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.TOP:
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10038
 *         if self._alignment_mode == alignment.TOP:
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":10039
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT             # <<<<<<<<<<<<<<
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 *                     (<uiItem>child).state.cur.pos_to_default.y = self._spacing
 */
      (((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->_pos_policy[1]) = __pyx_e_9dearcygui_4core_REL_DEFAULT;

      /* "dearcygui/core.pyx":10040
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_default.y = self._spacing
 *                 else:
 */
      __pyx_t_1 = (((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling) != Py_None);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":10041
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:
 *                     (<uiItem>child).state.cur.pos_to_default.y = self._spacing             # <<<<<<<<<<<<<<
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.y = 0.
 */
        __pyx_t_2 = __pyx_v_self->_spacing;
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_default.y = __pyx_t_2;

        /* "dearcygui/core.pyx":10040
 *             while (<uiItem>child) is not None:
 *                 (<uiItem>child)._pos_policy[1] = positioning.REL_DEFAULT
 *                 if ((<uiItem>child)._prev_sibling) is not None:             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_default.y = self._spacing
 *                 else:
 */
        goto __pyx_L8;
      }

      /* "dearcygui/core.pyx":10043
 *                     (<uiItem>child).state.cur.pos_to_default.y = self._spacing
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.y = 0.             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:
 */
      /*else*/ {
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_default.y = 0.;
      }
      __pyx_L8:;

      /* "dearcygui/core.pyx":10044
 *                 else:
 *                     (<uiItem>child).state.cur.pos_to_default.y = 0.
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_height
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":10036
 *         cdef float pos_end, pos_start, target_pos, size, spacing, rem
 *         cdef int n_items = 0
 *         if self._alignment_mode == alignment.TOP:             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    break;
    case __pyx_e_9dearcygui_4core_RIGHT:

    /* "dearcygui/core.pyx":10046
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_height             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_end = __pyx_v_available_height;

    /* "dearcygui/core.pyx":10047
 *         elif self._alignment_mode == alignment.RIGHT:
 *             pos_end = available_height
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at pos_end
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10048
 *             pos_end = available_height
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":10050
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y             # <<<<<<<<<<<<<<
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing
 */
      __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.y);

      /* "dearcygui/core.pyx":10051
 *                 # Position at which to render to end at pos_end
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos             # <<<<<<<<<<<<<<
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.y = __pyx_v_target_pos;

      /* "dearcygui/core.pyx":10052
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:
 */
      __pyx_v_pos_end = (__pyx_v_target_pos - __pyx_v_self->_spacing);

      /* "dearcygui/core.pyx":10053
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":10045
 *                     (<uiItem>child).state.cur.pos_to_default.y = 0.
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.RIGHT:             # <<<<<<<<<<<<<<
 *             pos_end = available_height
 *             child = <PyObject*>self.last_widgets_child
 */
    break;
    case __pyx_e_9dearcygui_4core_CENTER:

    /* "dearcygui/core.pyx":10055
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)             # <<<<<<<<<<<<<<
 *             size += max(0, (n_items - 1)) * self._spacing
 *             pos_start = available_height // 2 - \
 */
    __pyx_v_size = ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_VerticalLayout__compute_items_size(__pyx_v_self, __pyx_v_n_items);

    /* "dearcygui/core.pyx":10056
 *         elif self._alignment_mode == alignment.CENTER:
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing             # <<<<<<<<<<<<<<
 *             pos_start = available_height // 2 - \
 *                         size // 2 # integer rounding to avoid blurring
 */
    __pyx_t_3 = (__pyx_v_n_items - 1);
    __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_4);
    if (__pyx_t_1) {
      __pyx_t_5 = __pyx_t_3;
    } else {
      __pyx_t_5 = __pyx_t_4;
    }
    __pyx_v_size = (__pyx_v_size + (__pyx_t_5 * __pyx_v_self->_spacing));

    /* "dearcygui/core.pyx":10057
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing
 *             pos_start = available_height // 2 - \             # <<<<<<<<<<<<<<
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size
 */
    __pyx_v_pos_start = (floor(__pyx_v_available_height / 2.0) - floor(__pyx_v_size / 2.0));

    /* "dearcygui/core.pyx":10059
 *             pos_start = available_height // 2 - \
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_end = (__pyx_v_pos_start + __pyx_v_size);

    /* "dearcygui/core.pyx":10060
 *                         size // 2 # integer rounding to avoid blurring
 *             pos_end = pos_start + size
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at size
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10061
 *             pos_end = pos_start + size
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":10063
 *             while (<uiItem>child) is not None:
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y             # <<<<<<<<<<<<<<
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing
 */
      __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.y);

      /* "dearcygui/core.pyx":10064
 *                 # Position at which to render to end at size
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos             # <<<<<<<<<<<<<<
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.y = __pyx_v_target_pos;

      /* "dearcygui/core.pyx":10065
 *                 target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 */
      __pyx_v_pos_end = (__pyx_v_target_pos - __pyx_v_self->_spacing);

      /* "dearcygui/core.pyx":10066
 *                 (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
    }

    /* "dearcygui/core.pyx":10054
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.CENTER:             # <<<<<<<<<<<<<<
 *             size = self.__compute_items_size(n_items)
 *             size += max(0, (n_items - 1)) * self._spacing
 */
    break;
    case __pyx_e_9dearcygui_4core_JUSTIFIED:

    /* "dearcygui/core.pyx":10068
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)             # <<<<<<<<<<<<<<
 *             if n_items == 1:
 *                 # prefer to revert to align top
 */
    __pyx_v_size = ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_VerticalLayout__compute_items_size(__pyx_v_self, __pyx_v_n_items);

    /* "dearcygui/core.pyx":10069
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:             # <<<<<<<<<<<<<<
 *                 # prefer to revert to align top
 *                 self.last_widgets_child._pos_policy[1] = positioning.DEFAULT
 */
    __pyx_t_1 = (__pyx_v_n_items == 1);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":10071
 *             if n_items == 1:
 *                 # prefer to revert to align top
 *                 self.last_widgets_child._pos_policy[1] = positioning.DEFAULT             # <<<<<<<<<<<<<<
 *             else:
 *                 pos_end = available_height
 */
      (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->_pos_policy[1]) = __pyx_e_9dearcygui_4core_DEFAULT;

      /* "dearcygui/core.pyx":10069
 *         elif self._alignment_mode == alignment.JUSTIFIED:
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:             # <<<<<<<<<<<<<<
 *                 # prefer to revert to align top
 *                 self.last_widgets_child._pos_policy[1] = positioning.DEFAULT
 */
      goto __pyx_L13;
    }

    /* "dearcygui/core.pyx":10073
 *                 self.last_widgets_child._pos_policy[1] = positioning.DEFAULT
 *             else:
 *                 pos_end = available_height             # <<<<<<<<<<<<<<
 *                 spacing = floor((available_height - size) / (n_items-1))
 *                 # remaining pixels to completly end at the right
 */
    /*else*/ {
      __pyx_v_pos_end = __pyx_v_available_height;

      /* "dearcygui/core.pyx":10074
 *             else:
 *                 pos_end = available_height
 *                 spacing = floor((available_height - size) / (n_items-1))             # <<<<<<<<<<<<<<
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_height - size) - spacing * (n_items-1)
 */
      try {
        __pyx_t_2 = std::floor(((__pyx_v_available_height - __pyx_v_size) / ((float)(__pyx_v_n_items - 1))));
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 10074, __pyx_L1_error)
      }
      __pyx_v_spacing = __pyx_t_2;

      /* "dearcygui/core.pyx":10076
 *                 spacing = floor((available_height - size) / (n_items-1))
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_height - size) - spacing * (n_items-1)             # <<<<<<<<<<<<<<
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child
 */
      __pyx_v_rem = ((__pyx_v_available_height - __pyx_v_size) - (__pyx_v_spacing * (__pyx_v_n_items - 1)));

      /* "dearcygui/core.pyx":10077
 *                 # remaining pixels to completly end at the right
 *                 rem = (available_height - size) - spacing * (n_items-1)
 *                 rem += spacing             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:
 */
      __pyx_v_rem = (__pyx_v_rem + __pyx_v_spacing);

      /* "dearcygui/core.pyx":10078
 *                 rem = (available_height - size) - spacing * (n_items-1)
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 */
      __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":10079
 *                 rem += spacing
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                     (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 */
      while (1) {
        __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
        if (!__pyx_t_1) break;

        /* "dearcygui/core.pyx":10080
 *                 child = <PyObject*>self.last_widgets_child
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y             # <<<<<<<<<<<<<<
 *                     (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                     pos_end = target_pos
 */
        __pyx_v_target_pos = (__pyx_v_pos_end - ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.rect_size.y);

        /* "dearcygui/core.pyx":10081
 *                 while (<uiItem>child) is not None:
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                     (<uiItem>child).state.cur.pos_to_parent.y = target_pos             # <<<<<<<<<<<<<<
 *                     pos_end = target_pos
 *                     pos_end -= rem
 */
        ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.y = __pyx_v_target_pos;

        /* "dearcygui/core.pyx":10082
 *                     target_pos = pos_end - (<uiItem>child).state.cur.rect_size.y
 *                     (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                     pos_end = target_pos             # <<<<<<<<<<<<<<
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 */
        __pyx_v_pos_end = __pyx_v_target_pos;

        /* "dearcygui/core.pyx":10083
 *                     (<uiItem>child).state.cur.pos_to_parent.y = target_pos
 *                     pos_end = target_pos
 *                     pos_end -= rem             # <<<<<<<<<<<<<<
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:
 */
        __pyx_v_pos_end = (__pyx_v_pos_end - __pyx_v_rem);

        /* "dearcygui/core.pyx":10085
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:             # <<<<<<<<<<<<<<
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
        __pyx_t_1 = (__pyx_v_rem != __pyx_v_spacing);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":10086
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:
 *                         rem = spacing             # <<<<<<<<<<<<<<
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         else: #MANUAL
 */
          __pyx_v_rem = __pyx_v_spacing;

          /* "dearcygui/core.pyx":10085
 *                     pos_end -= rem
 *                     # Use rem for the last item, then spacing
 *                     if rem != spacing:             # <<<<<<<<<<<<<<
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 */
        }

        /* "dearcygui/core.pyx":10087
 *                     if rem != spacing:
 *                         rem = spacing
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *         else: #MANUAL
 *             n_items = 1
 */
        __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);
      }
    }
    __pyx_L13:;

    /* "dearcygui/core.pyx":10067
 *                 pos_end = target_pos - self._spacing
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         elif self._alignment_mode == alignment.JUSTIFIED:             # <<<<<<<<<<<<<<
 *             size = self.__compute_items_size(n_items)
 *             if n_items == 1:
 */
    break;
    default:

    /* "dearcygui/core.pyx":10089
 *                     child = <PyObject*>((<uiItem>child)._prev_sibling)
 *         else: #MANUAL
 *             n_items = 1             # <<<<<<<<<<<<<<
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child
 */
    __pyx_v_n_items = 1;

    /* "dearcygui/core.pyx":10090
 *         else: #MANUAL
 *             n_items = 1
 *             pos_start = 0.             # <<<<<<<<<<<<<<
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 */
    __pyx_v_pos_start = 0.;

    /* "dearcygui/core.pyx":10091
 *             n_items = 1
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):
 */
    __pyx_v_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10092
 *             pos_start = 0.
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:             # <<<<<<<<<<<<<<
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 */
    while (1) {
      __pyx_t_1 = (((PyObject *)__pyx_v_child) != Py_None);
      if (!__pyx_t_1) break;

      /* "dearcygui/core.pyx":10093
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):             # <<<<<<<<<<<<<<
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 */
      __pyx_t_1 = (!__pyx_v_self->_positions.empty());
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":10094
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]             # <<<<<<<<<<<<<<
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:
 */
        __pyx_t_6 = (((int)__pyx_v_self->_positions.size()) - __pyx_v_n_items);
        __pyx_t_5 = 0;
        __pyx_t_1 = (__pyx_t_6 > __pyx_t_5);
        if (__pyx_t_1) {
          __pyx_t_3 = __pyx_t_6;
        } else {
          __pyx_t_3 = __pyx_t_5;
        }
        __pyx_v_pos_start = (__pyx_v_self->_positions[__pyx_t_3]);

        /* "dearcygui/core.pyx":10093
 *             child = <PyObject*>self.last_widgets_child
 *             while (<uiItem>child) is not None:
 *                 if not(self._positions.empty()):             # <<<<<<<<<<<<<<
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 */
      }

      /* "dearcygui/core.pyx":10095
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:             # <<<<<<<<<<<<<<
 *                     if pos_start < 1.:
 *                         pos_start *= available_height
 */
      __pyx_t_1 = (__pyx_v_pos_start > 0.);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":10096
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_height
 *                         pos_start = floor(pos_start)
 */
        __pyx_t_1 = (__pyx_v_pos_start < 1.);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":10097
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:
 *                         pos_start *= available_height             # <<<<<<<<<<<<<<
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 */
          __pyx_v_pos_start = (__pyx_v_pos_start * __pyx_v_available_height);

          /* "dearcygui/core.pyx":10098
 *                     if pos_start < 1.:
 *                         pos_start *= available_height
 *                         pos_start = floor(pos_start)             # <<<<<<<<<<<<<<
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:
 */
          try {
            __pyx_t_2 = std::floor(__pyx_v_pos_start);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 10098, __pyx_L1_error)
          }
          __pyx_v_pos_start = __pyx_t_2;

          /* "dearcygui/core.pyx":10096
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:
 *                     if pos_start < 1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_height
 *                         pos_start = floor(pos_start)
 */
        }

        /* "dearcygui/core.pyx":10095
 *                 if not(self._positions.empty()):
 *                     pos_start = self._positions[max(0, <int>self._positions.size()-n_items)]
 *                 if pos_start > 0.:             # <<<<<<<<<<<<<<
 *                     if pos_start < 1.:
 *                         pos_start *= available_height
 */
        goto __pyx_L20;
      }

      /* "dearcygui/core.pyx":10099
 *                         pos_start *= available_height
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:             # <<<<<<<<<<<<<<
 *                     if pos_start > -1.:
 *                         pos_start *= available_height
 */
      __pyx_t_1 = (__pyx_v_pos_start < 0.0);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":10100
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_height
 *                         pos_start += available_height
 */
        __pyx_t_1 = (__pyx_v_pos_start > -1.);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":10101
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:
 *                         pos_start *= available_height             # <<<<<<<<<<<<<<
 *                         pos_start += available_height
 *                         pos_start = floor(pos_start)
 */
          __pyx_v_pos_start = (__pyx_v_pos_start * __pyx_v_available_height);

          /* "dearcygui/core.pyx":10102
 *                     if pos_start > -1.:
 *                         pos_start *= available_height
 *                         pos_start += available_height             # <<<<<<<<<<<<<<
 *                         pos_start = floor(pos_start)
 *                     else:
 */
          __pyx_v_pos_start = (__pyx_v_pos_start + __pyx_v_available_height);

          /* "dearcygui/core.pyx":10103
 *                         pos_start *= available_height
 *                         pos_start += available_height
 *                         pos_start = floor(pos_start)             # <<<<<<<<<<<<<<
 *                     else:
 *                         pos_start += available_height
 */
          try {
            __pyx_t_2 = std::floor(__pyx_v_pos_start);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 10103, __pyx_L1_error)
          }
          __pyx_v_pos_start = __pyx_t_2;

          /* "dearcygui/core.pyx":10100
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:
 *                     if pos_start > -1.:             # <<<<<<<<<<<<<<
 *                         pos_start *= available_height
 *                         pos_start += available_height
 */
          goto __pyx_L22;
        }

        /* "dearcygui/core.pyx":10105
 *                         pos_start = floor(pos_start)
 *                     else:
 *                         pos_start += available_height             # <<<<<<<<<<<<<<
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.y = pos_start
 */
        /*else*/ {
          __pyx_v_pos_start = (__pyx_v_pos_start + __pyx_v_available_height);
        }
        __pyx_L22:;

        /* "dearcygui/core.pyx":10099
 *                         pos_start *= available_height
 *                         pos_start = floor(pos_start)
 *                 elif pos_start < 0:             # <<<<<<<<<<<<<<
 *                     if pos_start > -1.:
 *                         pos_start *= available_height
 */
      }
      __pyx_L20:;

      /* "dearcygui/core.pyx":10107
 *                         pos_start += available_height
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.y = pos_start             # <<<<<<<<<<<<<<
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *                 n_items += 1
 */
      ((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->state.cur.pos_to_parent.y = __pyx_v_pos_start;

      /* "dearcygui/core.pyx":10108
 * 
 *                 (<uiItem>child).state.cur.pos_to_parent.y = pos_start
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)             # <<<<<<<<<<<<<<
 *                 n_items += 1
 * 
 */
      __pyx_v_child = ((PyObject *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_child)->__pyx_base._prev_sibling);

      /* "dearcygui/core.pyx":10109
 *                 (<uiItem>child).state.cur.pos_to_parent.y = pos_start
 *                 child = <PyObject*>((<uiItem>child)._prev_sibling)
 *                 n_items += 1             # <<<<<<<<<<<<<<
 * 
 *         if self.force_update:
 */
      __pyx_v_n_items = (__pyx_v_n_items + 1);
    }
    break;
  }

  /* "dearcygui/core.pyx":10111
 *                 n_items += 1
 * 
 *         if self.force_update:             # <<<<<<<<<<<<<<
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()
 */
  if (__pyx_v_self->__pyx_base.force_update) {

    /* "dearcygui/core.pyx":10113
 *         if self.force_update:
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()             # <<<<<<<<<<<<<<
 * 
 *     cdef bint check_change(self) noexcept nogil:
 */
    __pyx_f_9dearcygui_4core_8Viewport_cwake(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport);

    /* "dearcygui/core.pyx":10111
 *                 n_items += 1
 * 
 *         if self.force_update:             # <<<<<<<<<<<<<<
 *             # Prevent not refreshing
 *             self.context._viewport.cwake()
 */
  }

  /* "dearcygui/core.pyx":10016
 *         return size
 * 
 *     cdef void __update_layout(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # assumes children are locked and > 0
 *         # Set all items on the same row
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.VerticalLayout._VerticalLayout__update_layout", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "dearcygui/core.pyx":10115
 *             self.context._viewport.cwake()
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Same as Layout check_change but ignores horizontal content
 *         # area changes
 */

static int __pyx_f_9dearcygui_4core_14VerticalLayout_check_change(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":10118
 *         # Same as Layout check_change but ignores horizontal content
 *         # area changes
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *         cdef bint changed = False
 *         if cur_content_area.y != self.prev_content_area.y or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":10119
 *         # area changes
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False             # <<<<<<<<<<<<<<
 *         if cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 */
  __pyx_v_changed = 0;

  /* "dearcygui/core.pyx":10120
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.y != self.prev_content_area.y or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  __pyx_t_2 = (__pyx_v_cur_content_area.y != __pyx_v_self->__pyx_base.prev_content_area.y);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":10121
 *         cdef bint changed = False
 *         if cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \             # <<<<<<<<<<<<<<
 *            self.size_update_requested or \
 *            self.force_update:
 */
  __pyx_t_2 = (__pyx_v_self->__pyx_base.previous_last_child != ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":10122
 *         if cur_content_area.y != self.prev_content_area.y or \
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \             # <<<<<<<<<<<<<<
 *            self.force_update:
 *             changed = True
 */
  if (!__pyx_v_self->__pyx_base.__pyx_base.size_update_requested) {
  } else {
    __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.size_update_requested;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":10123
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 *            self.force_update:             # <<<<<<<<<<<<<<
 *             changed = True
 *             self.prev_content_area = cur_content_area
 */
  __pyx_t_1 = __pyx_v_self->__pyx_base.force_update;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":10120
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.y != self.prev_content_area.y or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":10124
 *            self.size_update_requested or \
 *            self.force_update:
 *             changed = True             # <<<<<<<<<<<<<<
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 */
    __pyx_v_changed = 1;

    /* "dearcygui/core.pyx":10125
 *            self.force_update:
 *             changed = True
 *             self.prev_content_area = cur_content_area             # <<<<<<<<<<<<<<
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 */
    __pyx_v_self->__pyx_base.prev_content_area = __pyx_v_cur_content_area;

    /* "dearcygui/core.pyx":10126
 *             changed = True
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child             # <<<<<<<<<<<<<<
 *             self.force_update = False
 *             self.size_update_requested = False
 */
    __pyx_v_self->__pyx_base.previous_last_child = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10127
 *             self.prev_content_area = cur_content_area
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False             # <<<<<<<<<<<<<<
 *             self.size_update_requested = False
 *         return changed
 */
    __pyx_v_self->__pyx_base.force_update = 0;

    /* "dearcygui/core.pyx":10128
 *             self.previous_last_child = <PyObject*>self.last_widgets_child
 *             self.force_update = False
 *             self.size_update_requested = False             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
    __pyx_v_self->__pyx_base.__pyx_base.size_update_requested = 0;

    /* "dearcygui/core.pyx":10120
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         cdef bint changed = False
 *         if cur_content_area.y != self.prev_content_area.y or \             # <<<<<<<<<<<<<<
 *            self.previous_last_child != <PyObject*>self.last_widgets_child or \
 *            self.size_update_requested or \
 */
  }

  /* "dearcygui/core.pyx":10129
 *             self.force_update = False
 *             self.size_update_requested = False
 *         return changed             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10115
 *             self.context._viewport.cwake()
 * 
 *     cdef bint check_change(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Same as Layout check_change but ignores horizontal content
 *         # area changes
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10131
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \
 */

static int __pyx_f_9dearcygui_4core_14VerticalLayout_draw_item(struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  CYTHON_UNUSED ImVec2 __pyx_v_cur_content_area;
  int __pyx_v_changed;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":10132
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *         if self.last_widgets_child is None:# or \
 *             #cur_content_area.x <= 0 or \
 */
  __pyx_v_cur_content_area = ImGui::GetContentRegionAvail();

  /* "dearcygui/core.pyx":10133
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":10137
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 *             # self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False             # <<<<<<<<<<<<<<
 *         cdef bint changed = self.check_change()
 *         changed = True
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":10133
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \             # <<<<<<<<<<<<<<
 *             #cur_content_area.x <= 0 or \
 *             #cur_content_area.y <= 0: # <= 0 occurs when not visible
 */
  }

  /* "dearcygui/core.pyx":10138
 *             # self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             return False
 *         cdef bint changed = self.check_change()             # <<<<<<<<<<<<<<
 *         changed = True
 *         if changed:
 */
  __pyx_v_changed = ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_change(((struct __pyx_obj_9dearcygui_4core_Layout *)__pyx_v_self));

  /* "dearcygui/core.pyx":10139
 *             return False
 *         cdef bint changed = self.check_change()
 *         changed = True             # <<<<<<<<<<<<<<
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()
 */
  __pyx_v_changed = 1;

  /* "dearcygui/core.pyx":10140
 *         cdef bint changed = self.check_change()
 *         changed = True
 *         if changed:             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":10141
 *         changed = True
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.lock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

    /* "dearcygui/core.pyx":10142
 *         if changed:
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_VerticalLayout__update_layout(__pyx_v_self);

    /* "dearcygui/core.pyx":10140
 *         cdef bint changed = self.check_change()
 *         changed = True
 *         if changed:             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 */
  }

  /* "dearcygui/core.pyx":10143
 *             self.last_widgets_child.lock_and_previous_siblings()
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":10144
 *             self.__update_layout()
 *         imgui.PushID(self.uuid)
 *         imgui.BeginGroup()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":10146
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":10147
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 */
    __pyx_v_pos_p = ImGui::GetCursorScreenPos();

    /* "dearcygui/core.pyx":10148
 *         if self.last_widgets_child is not None:
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 */
    try {
      std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 10148, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":10149
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

    /* "dearcygui/core.pyx":10150
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *         if changed:
 *             # We maintain the lock during the rendering
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

    /* "dearcygui/core.pyx":10146
 *         imgui.BeginGroup()
 *         cdef imgui.ImVec2 pos_p
 *         if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
  }

  /* "dearcygui/core.pyx":10151
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:             # <<<<<<<<<<<<<<
 *             # We maintain the lock during the rendering
 *             # just to be sure the user doesn't change the
 */
  if (__pyx_v_changed) {

    /* "dearcygui/core.pyx":10155
 *             # just to be sure the user doesn't change the
 *             # positioning we took care to manage :-)
 *             self.last_widgets_child.unlock_and_previous_siblings()             # <<<<<<<<<<<<<<
 *         imgui.EndGroup()
 *         imgui.PopID()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->__pyx_base.unlock_and_previous_siblings(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child));

    /* "dearcygui/core.pyx":10151
 *             self.last_widgets_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *         if changed:             # <<<<<<<<<<<<<<
 *             # We maintain the lock during the rendering
 *             # just to be sure the user doesn't change the
 */
  }

  /* "dearcygui/core.pyx":10156
 *             # positioning we took care to manage :-)
 *             self.last_widgets_child.unlock_and_previous_siblings()
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         imgui.PopID()
 *         self.update_current_state()
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":10157
 *             self.last_widgets_child.unlock_and_previous_siblings()
 *         imgui.EndGroup()
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         return changed
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":10158
 *         imgui.EndGroup()
 *         imgui.PopID()
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         return changed
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":10159
 *         imgui.PopID()
 *         self.update_current_state()
 *         return changed             # <<<<<<<<<<<<<<
 * 
 * cdef class TreeNode(uiItem):
 */
  __pyx_r = __pyx_v_changed;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10131
 *         return changed
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 cur_content_area = imgui.GetContentRegionAvail()
 *         if self.last_widgets_child is None:# or \
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.VerticalLayout.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14VerticalLayout_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14VerticalLayout_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14VerticalLayout_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14VerticalLayout_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14VerticalLayout_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_VerticalLayout *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.VerticalLayout.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10162
 * 
 * cdef class TreeNode(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode___cinit__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode___cinit__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":10163
 * cdef class TreeNode(uiItem):
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 10163, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10163, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":10164
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":10165
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":10166
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":10167
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":10168
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":10169
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_toggled = True
 *         self._selectable = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":10170
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True             # <<<<<<<<<<<<<<
 *         self._selectable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_toggled = 1;

  /* "dearcygui/core.pyx":10171
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 *         self._selectable = False             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 *         self.theme_condition_category = theme_categories.t_treenode
 */
  __pyx_v_self->_selectable = 0;

  /* "dearcygui/core.pyx":10172
 *         self.state.cap.can_be_toggled = True
 *         self._selectable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_treenode
 * 
 */
  __pyx_v_self->flags = ImGuiTreeNodeFlags_None;

  /* "dearcygui/core.pyx":10173
 *         self._selectable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 *         self.theme_condition_category = theme_categories.t_treenode             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_treenode;

  /* "dearcygui/core.pyx":10162
 * 
 * cdef class TreeNode(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10175
 *         self.theme_condition_category = theme_categories.t_treenode
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def selectable(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_10selectable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_10selectable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_10selectable___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_10selectable___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10181
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._selectable
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10182
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._selectable             # <<<<<<<<<<<<<<
 * 
 *     @selectable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_selectable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10175
 *         self.theme_condition_category = theme_categories.t_treenode
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def selectable(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.selectable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10184
 *         return self._selectable
 * 
 *     @selectable.setter             # <<<<<<<<<<<<<<
 *     def selectable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_10selectable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_10selectable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10185, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.selectable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_10selectable_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_10selectable_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10187
 *     def selectable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._selectable = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10188
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._selectable = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_selectable = __pyx_v_value;

  /* "dearcygui/core.pyx":10184
 *         return self._selectable
 * 
 *     @selectable.setter             # <<<<<<<<<<<<<<
 *     def selectable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10190
 *         self._selectable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def default_open(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_12default_open_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_12default_open_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_12default_open___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_12default_open___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10196
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_DefaultOpen) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10197
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_DefaultOpen) != 0             # <<<<<<<<<<<<<<
 * 
 *     @default_open.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_DefaultOpen) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10190
 *         self._selectable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def default_open(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.default_open.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10199
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_DefaultOpen) != 0
 * 
 *     @default_open.setter             # <<<<<<<<<<<<<<
 *     def default_open(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_12default_open_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_12default_open_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.default_open.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_12default_open_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_12default_open_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10202
 *     def default_open(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_DefaultOpen
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10203
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_DefaultOpen             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_DefaultOpen));

  /* "dearcygui/core.pyx":10204
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_DefaultOpen
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10205
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_DefaultOpen
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_DefaultOpen);

    /* "dearcygui/core.pyx":10204
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_DefaultOpen
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen
 * 
 */
  }

  /* "dearcygui/core.pyx":10199
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_DefaultOpen) != 0
 * 
 *     @default_open.setter             # <<<<<<<<<<<<<<
 *     def default_open(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10207
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10213
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10214
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0             # <<<<<<<<<<<<<<
 * 
 *     @open_on_double_click.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10207
 *             self.flags |= imgui.ImGuiTreeNodeFlags_DefaultOpen
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.open_on_double_click.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10216
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 *     @open_on_double_click.setter             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10217, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.open_on_double_click.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_20open_on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10219
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10220
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_OpenOnDoubleClick));

  /* "dearcygui/core.pyx":10221
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10222
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_OpenOnDoubleClick);

    /* "dearcygui/core.pyx":10221
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 */
  }

  /* "dearcygui/core.pyx":10216
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 *     @open_on_double_click.setter             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10224
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10232
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10233
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0             # <<<<<<<<<<<<<<
 * 
 *     @open_on_arrow.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_OpenOnArrow) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10224
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.open_on_arrow.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10235
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 *     @open_on_arrow.setter             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10236, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.open_on_arrow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_13open_on_arrow_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10238
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10239
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_OpenOnArrow));

  /* "dearcygui/core.pyx":10240
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10241
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_OpenOnArrow);

    /* "dearcygui/core.pyx":10240
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 */
  }

  /* "dearcygui/core.pyx":10235
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 *     @open_on_arrow.setter             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10243
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leaf(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_4leaf_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_4leaf_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_4leaf___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_4leaf___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10249
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10250
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0             # <<<<<<<<<<<<<<
 * 
 *     @leaf.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_Leaf) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10243
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leaf(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.leaf.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10252
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 *     @leaf.setter             # <<<<<<<<<<<<<<
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_4leaf_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_4leaf_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10253, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.leaf.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_4leaf_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_4leaf_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10255
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10256
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_Leaf));

  /* "dearcygui/core.pyx":10257
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10258
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_Leaf);

    /* "dearcygui/core.pyx":10257
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 */
  }

  /* "dearcygui/core.pyx":10252
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 *     @leaf.setter             # <<<<<<<<<<<<<<
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10260
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_6bullet_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_6bullet_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_6bullet___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_6bullet___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10268
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10269
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0             # <<<<<<<<<<<<<<
 * 
 *     @bullet.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_Bullet) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10260
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.bullet.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10271
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10272, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.bullet.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_6bullet_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10274
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10275
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_Bullet));

  /* "dearcygui/core.pyx":10276
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10277
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_Bullet);

    /* "dearcygui/core.pyx":10276
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 */
  }

  /* "dearcygui/core.pyx":10271
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10279
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_text_width(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10286
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanTextWidth) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10287
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanTextWidth) != 0             # <<<<<<<<<<<<<<
 * 
 *     @span_text_width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_SpanTextWidth) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10279
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_text_width(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.span_text_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10289
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanTextWidth) != 0
 * 
 *     @span_text_width.setter             # <<<<<<<<<<<<<<
 *     def span_text_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10290, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.span_text_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_15span_text_width_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10292
 *     def span_text_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanTextWidth
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10293
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanTextWidth             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_SpanTextWidth));

  /* "dearcygui/core.pyx":10294
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanTextWidth
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10295
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanTextWidth
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_SpanTextWidth);

    /* "dearcygui/core.pyx":10294
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanTextWidth
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth
 * 
 */
  }

  /* "dearcygui/core.pyx":10289
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanTextWidth) != 0
 * 
 *     @span_text_width.setter             # <<<<<<<<<<<<<<
 *     def span_text_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10297
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_full_width(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width___get__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width___get__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10304
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanFullWidth) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10305
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanFullWidth) != 0             # <<<<<<<<<<<<<<
 * 
 *     @span_full_width.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_SpanFullWidth) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10297
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanTextWidth
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def span_full_width(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.TreeNode.span_full_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10307
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanFullWidth) != 0
 * 
 *     @span_full_width.setter             # <<<<<<<<<<<<<<
 *     def span_full_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10308, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.span_full_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width_2__set__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8TreeNode_15span_full_width_2__set__(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10310
 *     def span_full_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanFullWidth
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10311
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanFullWidth             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_SpanFullWidth));

  /* "dearcygui/core.pyx":10312
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanFullWidth
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10313
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanFullWidth
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_SpanFullWidth);

    /* "dearcygui/core.pyx":10312
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_SpanFullWidth
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth
 * 
 */
  }

  /* "dearcygui/core.pyx":10307
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_SpanFullWidth) != 0
 * 
 *     @span_full_width.setter             # <<<<<<<<<<<<<<
 *     def span_full_width(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10315
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 */

static int __pyx_f_9dearcygui_4core_8TreeNode_draw_item(struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  int __pyx_v_was_open;
  CYTHON_UNUSED int __pyx_v_closed;
  ImGuiTreeNodeFlags __pyx_v_flags;
  int __pyx_v_open_and_visible;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  ImGuiTreeNodeFlags __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":10316
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)             # <<<<<<<<<<<<<<
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 */
  __pyx_v_was_open = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":10317
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         imgui.PushID(self.uuid)
 */
  __pyx_v_closed = 0;

  /* "dearcygui/core.pyx":10318
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         imgui.PushID(self.uuid)
 *         # Unsure group is needed
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":10319
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         imgui.PushID(self.uuid)             # <<<<<<<<<<<<<<
 *         # Unsure group is needed
 *         imgui.BeginGroup()
 */
  ImGui::PushID(__pyx_v_self->__pyx_base.__pyx_base.uuid);

  /* "dearcygui/core.pyx":10321
 *         imgui.PushID(self.uuid)
 *         # Unsure group is needed
 *         imgui.BeginGroup()             # <<<<<<<<<<<<<<
 *         if was_open and self._selectable:
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 */
  ImGui::BeginGroup();

  /* "dearcygui/core.pyx":10322
 *         # Unsure group is needed
 *         imgui.BeginGroup()
 *         if was_open and self._selectable:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 */
  if (__pyx_v_was_open) {
  } else {
    __pyx_t_2 = __pyx_v_was_open;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __pyx_v_self->_selectable;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10323
 *         imgui.BeginGroup()
 *         if was_open and self._selectable:
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected             # <<<<<<<<<<<<<<
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiTreeNodeFlags_Selected);

    /* "dearcygui/core.pyx":10322
 *         # Unsure group is needed
 *         imgui.BeginGroup()
 *         if was_open and self._selectable:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 */
  }

  /* "dearcygui/core.pyx":10325
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)             # <<<<<<<<<<<<<<
 *         self.state.cur.open = was_open
 *         cdef bint open_and_visible = imgui.TreeNodeEx(self.imgui_label.c_str(),
 */
  ImGui::SetNextItemOpen(__pyx_v_was_open, ImGuiCond_Always);

  /* "dearcygui/core.pyx":10326
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)
 *         self.state.cur.open = was_open             # <<<<<<<<<<<<<<
 *         cdef bint open_and_visible = imgui.TreeNodeEx(self.imgui_label.c_str(),
 *                                                       flags)
 */
  __pyx_v_self->__pyx_base.state.cur.open = __pyx_v_was_open;

  /* "dearcygui/core.pyx":10327
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)
 *         self.state.cur.open = was_open
 *         cdef bint open_and_visible = imgui.TreeNodeEx(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                                       flags)
 *         self.update_current_state()
 */
  __pyx_v_open_and_visible = ImGui::TreeNodeEx(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_flags);

  /* "dearcygui/core.pyx":10329
 *         cdef bint open_and_visible = imgui.TreeNodeEx(self.imgui_label.c_str(),
 *                                                       flags)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_TreeNode *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":10330
 *                                                       flags)
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 */
  if (__pyx_v_self->__pyx_base.state.cur.open) {
  } else {
    __pyx_t_2 = __pyx_v_self->__pyx_base.state.cur.open;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_was_open);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10331
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)             # <<<<<<<<<<<<<<
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), 1);

    /* "dearcygui/core.pyx":10330
 *                                                       flags)
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 */
    goto __pyx_L6;
  }

  /* "dearcygui/core.pyx":10332
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 */
  if (__pyx_v_self->__pyx_base.state.cur.rendered) {
  } else {
    __pyx_t_2 = __pyx_v_self->__pyx_base.state.cur.rendered;
    goto __pyx_L9_bool_binop_done;
  }
  if (__pyx_v_was_open) {
  } else {
    __pyx_t_2 = __pyx_v_was_open;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_open_and_visible);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10333
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)             # <<<<<<<<<<<<<<
 *             self.state.cur.open = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), 0);

    /* "dearcygui/core.pyx":10334
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 */
    __pyx_v_self->__pyx_base.state.cur.open = 0;

    /* "dearcygui/core.pyx":10335
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_TreeNode *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":10332
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 */
  }
  __pyx_L6:;

  /* "dearcygui/core.pyx":10337
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  if (__pyx_v_open_and_visible) {

    /* "dearcygui/core.pyx":10338
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":10339
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      __pyx_v_pos_p = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":10340
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 10340, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":10341
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.TreePop()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":10342
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             imgui.TreePop()
 * 
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":10338
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    }

    /* "dearcygui/core.pyx":10343
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 *             imgui.TreePop()             # <<<<<<<<<<<<<<
 * 
 *         imgui.EndGroup()
 */
    ImGui::TreePop();

    /* "dearcygui/core.pyx":10337
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  }

  /* "dearcygui/core.pyx":10345
 *             imgui.TreePop()
 * 
 *         imgui.EndGroup()             # <<<<<<<<<<<<<<
 *         # TODO; rect size from group ?
 *         imgui.PopID()
 */
  ImGui::EndGroup();

  /* "dearcygui/core.pyx":10347
 *         imgui.EndGroup()
 *         # TODO; rect size from group ?
 *         imgui.PopID()             # <<<<<<<<<<<<<<
 * 
 * cdef class CollapsingHeader(uiItem):
 */
  ImGui::PopID();

  /* "dearcygui/core.pyx":10315
 *             self.flags |= imgui.ImGuiTreeNodeFlags_SpanFullWidth
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.TreeNode.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8TreeNode_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8TreeNode_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8TreeNode_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8TreeNode_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8TreeNode_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8TreeNode_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_TreeNode *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8TreeNode_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TreeNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TreeNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10350
 * 
 * cdef class CollapsingHeader(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader___cinit__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader___cinit__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":10351
 * cdef class CollapsingHeader(uiItem):
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 10351, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedBool(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedBool), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10351, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":10352
 *     def __cinit__(self):
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":10353
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":10354
 *         self.can_have_widget_child = True
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":10355
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":10356
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":10357
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_toggled = True
 *         self._closable = False
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":10358
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True             # <<<<<<<<<<<<<<
 *         self._closable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_toggled = 1;

  /* "dearcygui/core.pyx":10359
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_toggled = True
 *         self._closable = False             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 *         self.theme_condition_category = theme_categories.t_collapsingheader
 */
  __pyx_v_self->_closable = 0;

  /* "dearcygui/core.pyx":10360
 *         self.state.cap.can_be_toggled = True
 *         self._closable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_collapsingheader
 * 
 */
  __pyx_v_self->flags = ImGuiTreeNodeFlags_None;

  /* "dearcygui/core.pyx":10361
 *         self._closable = False
 *         self.flags = imgui.ImGuiTreeNodeFlags_None
 *         self.theme_condition_category = theme_categories.t_collapsingheader             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_collapsingheader;

  /* "dearcygui/core.pyx":10350
 * 
 * cdef class CollapsingHeader(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedBool.__new__(SharedBool, self.context))
 *         self.can_have_widget_child = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10363
 *         self.theme_condition_category = theme_categories.t_collapsingheader
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def closable(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable___get__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10369
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._closable
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10370
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._closable             # <<<<<<<<<<<<<<
 * 
 *     @closable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_closable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10363
 *         self.theme_condition_category = theme_categories.t_collapsingheader
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def closable(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.closable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10372
 *         return self._closable
 * 
 *     @closable.setter             # <<<<<<<<<<<<<<
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10373, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.closable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable_2__set__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_8closable_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10375
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._closable = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10376
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._closable = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_closable = __pyx_v_value;

  /* "dearcygui/core.pyx":10372
 *         return self._closable
 * 
 *     @closable.setter             # <<<<<<<<<<<<<<
 *     def closable(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10378
 *         self._closable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click___get__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10384
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10385
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0             # <<<<<<<<<<<<<<
 * 
 *     @open_on_double_click.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10378
 *         self._closable = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.open_on_double_click.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10387
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 *     @open_on_double_click.setter             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10388, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.open_on_double_click.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_2__set__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10390
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10391
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_OpenOnDoubleClick));

  /* "dearcygui/core.pyx":10392
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10393
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_OpenOnDoubleClick);

    /* "dearcygui/core.pyx":10392
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 */
  }

  /* "dearcygui/core.pyx":10387
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick) != 0
 * 
 *     @open_on_double_click.setter             # <<<<<<<<<<<<<<
 *     def open_on_double_click(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10395
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow___get__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10403
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10404
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0             # <<<<<<<<<<<<<<
 * 
 *     @open_on_arrow.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_OpenOnArrow) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10395
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.open_on_arrow.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10406
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 *     @open_on_arrow.setter             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10407, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.open_on_arrow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_2__set__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10409
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10410
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_OpenOnArrow));

  /* "dearcygui/core.pyx":10411
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10412
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_OpenOnArrow);

    /* "dearcygui/core.pyx":10411
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_OpenOnArrow
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 */
  }

  /* "dearcygui/core.pyx":10406
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_OpenOnArrow) != 0
 * 
 *     @open_on_arrow.setter             # <<<<<<<<<<<<<<
 *     def open_on_arrow(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10414
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leaf(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf___get__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10420
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10421
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0             # <<<<<<<<<<<<<<
 * 
 *     @leaf.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_Leaf) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10414
 *             self.flags |= imgui.ImGuiTreeNodeFlags_OpenOnArrow
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def leaf(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.leaf.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10423
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 *     @leaf.setter             # <<<<<<<<<<<<<<
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10424, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.leaf.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf_2__set__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_4leaf_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10426
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10427
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_Leaf));

  /* "dearcygui/core.pyx":10428
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10429
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_Leaf);

    /* "dearcygui/core.pyx":10428
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Leaf
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 */
  }

  /* "dearcygui/core.pyx":10423
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Leaf) != 0
 * 
 *     @leaf.setter             # <<<<<<<<<<<<<<
 *     def leaf(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10431
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet___get__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet___get__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10439
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10440
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0             # <<<<<<<<<<<<<<
 * 
 *     @bullet.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiTreeNodeFlags_Bullet) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10431
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Leaf
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def bullet(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.bullet.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10442
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10443, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.bullet.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet_2__set__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16CollapsingHeader_6bullet_2__set__(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10445
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10446
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiTreeNodeFlags_Bullet));

  /* "dearcygui/core.pyx":10447
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10448
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiTreeNodeFlags_Bullet);

    /* "dearcygui/core.pyx":10447
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiTreeNodeFlags_Bullet
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 */
  }

  /* "dearcygui/core.pyx":10442
 *         return (self.flags & imgui.ImGuiTreeNodeFlags_Bullet) != 0
 * 
 *     @bullet.setter             # <<<<<<<<<<<<<<
 *     def bullet(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10450
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 */

static int __pyx_f_9dearcygui_4core_16CollapsingHeader_draw_item(struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  int __pyx_v_was_open;
  CYTHON_UNUSED int __pyx_v_closed;
  ImGuiTreeNodeFlags __pyx_v_flags;
  int __pyx_v_open_and_visible;
  ImVec2 __pyx_v_pos_p;
  int __pyx_r;
  ImGuiTreeNodeFlags __pyx_t_1;
  bool *__pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":10451
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)             # <<<<<<<<<<<<<<
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 */
  __pyx_v_was_open = __pyx_f_9dearcygui_4core_10SharedBool_get(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":10452
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         if self._closable:
 */
  __pyx_v_closed = 0;

  /* "dearcygui/core.pyx":10453
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if self._closable:
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 */
  __pyx_t_1 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":10454
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         if self._closable:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 */
  if (__pyx_v_self->_closable) {

    /* "dearcygui/core.pyx":10455
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         if self._closable:
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected             # <<<<<<<<<<<<<<
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiTreeNodeFlags_Selected);

    /* "dearcygui/core.pyx":10454
 *         cdef bint closed = False
 *         cdef imgui.ImGuiTreeNodeFlags flags = self.flags
 *         if self._closable:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 */
  }

  /* "dearcygui/core.pyx":10457
 *             flags |= imgui.ImGuiTreeNodeFlags_Selected
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)             # <<<<<<<<<<<<<<
 *         self.state.cur.open = was_open
 *         cdef bint open_and_visible = \
 */
  ImGui::SetNextItemOpen(__pyx_v_was_open, ImGuiCond_Always);

  /* "dearcygui/core.pyx":10458
 * 
 *         imgui.SetNextItemOpen(was_open, imgui.ImGuiCond_Always)
 *         self.state.cur.open = was_open             # <<<<<<<<<<<<<<
 *         cdef bint open_and_visible = \
 *             imgui.CollapsingHeader(self.imgui_label.c_str(),
 */
  __pyx_v_self->__pyx_base.state.cur.open = __pyx_v_was_open;

  /* "dearcygui/core.pyx":10461
 *         cdef bint open_and_visible = \
 *             imgui.CollapsingHeader(self.imgui_label.c_str(),
 *                                    &self._show if self._closable else NULL,             # <<<<<<<<<<<<<<
 *                                    flags)
 *         if not(self._show):
 */
  if (__pyx_v_self->_closable) {
    __pyx_t_2 = (&__pyx_v_self->__pyx_base._show);
  } else {
    __pyx_t_2 = NULL;
  }

  /* "dearcygui/core.pyx":10460
 *         self.state.cur.open = was_open
 *         cdef bint open_and_visible = \
 *             imgui.CollapsingHeader(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    &self._show if self._closable else NULL,
 *                                    flags)
 */
  __pyx_v_open_and_visible = ImGui::CollapsingHeader(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_t_2, __pyx_v_flags);

  /* "dearcygui/core.pyx":10463
 *                                    &self._show if self._closable else NULL,
 *                                    flags)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             self.show_update_requested = True
 *         self.update_current_state()
 */
  __pyx_t_3 = (!(__pyx_v_self->__pyx_base._show != 0));
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":10464
 *                                    flags)
 *         if not(self._show):
 *             self.show_update_requested = True             # <<<<<<<<<<<<<<
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):
 */
    __pyx_v_self->__pyx_base.show_update_requested = 1;

    /* "dearcygui/core.pyx":10463
 *                                    &self._show if self._closable else NULL,
 *                                    flags)
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             self.show_update_requested = True
 *         self.update_current_state()
 */
  }

  /* "dearcygui/core.pyx":10465
 *         if not(self._show):
 *             self.show_update_requested = True
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_CollapsingHeader *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":10466
 *             self.show_update_requested = True
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 */
  if (__pyx_v_self->__pyx_base.state.cur.open) {
  } else {
    __pyx_t_3 = __pyx_v_self->__pyx_base.state.cur.open;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_4 = (!__pyx_v_was_open);
  __pyx_t_3 = __pyx_t_4;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":10467
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)             # <<<<<<<<<<<<<<
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), 1);

    /* "dearcygui/core.pyx":10466
 *             self.show_update_requested = True
 *         self.update_current_state()
 *         if self.state.cur.open and not(was_open):             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":10468
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 */
  if (__pyx_v_self->__pyx_base.state.cur.rendered) {
  } else {
    __pyx_t_3 = __pyx_v_self->__pyx_base.state.cur.rendered;
    goto __pyx_L8_bool_binop_done;
  }
  if (__pyx_v_was_open) {
  } else {
    __pyx_t_3 = __pyx_v_was_open;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_4 = (!__pyx_v_open_and_visible);
  __pyx_t_3 = __pyx_t_4;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":10469
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)             # <<<<<<<<<<<<<<
 *             self.state.cur.open = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    __pyx_f_9dearcygui_4core_10SharedBool_set(((struct __pyx_obj_9dearcygui_4core_SharedBool *)__pyx_v_self->__pyx_base._value), 0);

    /* "dearcygui/core.pyx":10470
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 */
    __pyx_v_self->__pyx_base.state.cur.open = 0;

    /* "dearcygui/core.pyx":10471
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_CollapsingHeader *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":10468
 *         if self.state.cur.open and not(was_open):
 *             SharedBool.set(<SharedBool>self._value, True)
 *         elif self.state.cur.rendered and was_open and not(open_and_visible): # TODO: unsure             # <<<<<<<<<<<<<<
 *             SharedBool.set(<SharedBool>self._value, False)
 *             self.state.cur.open = False
 */
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":10473
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  if (__pyx_v_open_and_visible) {

    /* "dearcygui/core.pyx":10474
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    __pyx_t_3 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_3) {

      /* "dearcygui/core.pyx":10475
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 */
      __pyx_v_pos_p = ImGui::GetCursorScreenPos();

      /* "dearcygui/core.pyx":10476
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p
 */
      try {
        std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
      } catch(...) {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        __Pyx_CppExn2PyErr();
        #ifdef WITH_THREAD
        __Pyx_PyGILState_Release(__pyx_gilstate_save);
        #endif
        __PYX_ERR(1, 10476, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":10477
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                 self.context._viewport.parent_pos = pos_p
 *         #TODO: rect_size from group ?
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":10478
 *                 swap(pos_p, self.context._viewport.parent_pos)
 *                 self.last_widgets_child.draw()
 *                 self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *         #TODO: rect_size from group ?
 *         return not(was_open) and self.state.cur.open
 */
      __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

      /* "dearcygui/core.pyx":10474
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 pos_p = imgui.GetCursorScreenPos()
 *                 swap(pos_p, self.context._viewport.parent_pos)
 */
    }

    /* "dearcygui/core.pyx":10473
 *             self.propagate_hidden_state_to_children_with_handlers()
 *         cdef imgui.ImVec2 pos_p
 *         if open_and_visible:             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 pos_p = imgui.GetCursorScreenPos()
 */
  }

  /* "dearcygui/core.pyx":10480
 *                 self.context._viewport.parent_pos = pos_p
 *         #TODO: rect_size from group ?
 *         return not(was_open) and self.state.cur.open             # <<<<<<<<<<<<<<
 * 
 * cdef class ChildWindow(uiItem):
 */
  __pyx_t_4 = (!__pyx_v_was_open);
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_3 = __pyx_v_self->__pyx_base.state.cur.open;
  __pyx_L13_bool_binop_done:;
  __pyx_r = __pyx_t_3;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10450
 *             self.flags |= imgui.ImGuiTreeNodeFlags_Bullet
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint was_open = SharedBool.get(<SharedBool>self._value)
 *         cdef bint closed = False
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.CollapsingHeader.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16CollapsingHeader_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16CollapsingHeader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_CollapsingHeader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.CollapsingHeader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10483
 * 
 * cdef class ChildWindow(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.child_flags = imgui.ImGuiChildFlags_Border | imgui.ImGuiChildFlags_NavFlattened
 *         self.window_flags = imgui.ImGuiWindowFlags_NoSavedSettings
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow___cinit__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow___cinit__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":10484
 * cdef class ChildWindow(uiItem):
 *     def __cinit__(self):
 *         self.child_flags = imgui.ImGuiChildFlags_Border | imgui.ImGuiChildFlags_NavFlattened             # <<<<<<<<<<<<<<
 *         self.window_flags = imgui.ImGuiWindowFlags_NoSavedSettings
 *         # TODO scrolling
 */
  __pyx_v_self->child_flags = (ImGuiChildFlags_Border | ImGuiChildFlags_NavFlattened);

  /* "dearcygui/core.pyx":10485
 *     def __cinit__(self):
 *         self.child_flags = imgui.ImGuiChildFlags_Border | imgui.ImGuiChildFlags_NavFlattened
 *         self.window_flags = imgui.ImGuiWindowFlags_NoSavedSettings             # <<<<<<<<<<<<<<
 *         # TODO scrolling
 *         self.can_have_widget_child = True
 */
  __pyx_v_self->window_flags = ImGuiWindowFlags_NoSavedSettings;

  /* "dearcygui/core.pyx":10487
 *         self.window_flags = imgui.ImGuiWindowFlags_NoSavedSettings
 *         # TODO scrolling
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_menubar_child = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":10488
 *         # TODO scrolling
 *         self.can_have_widget_child = True
 *         self.can_have_menubar_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_menubar_child = 1;

  /* "dearcygui/core.pyx":10489
 *         self.can_have_widget_child = True
 *         self.can_have_menubar_child = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":10490
 *         self.can_have_menubar_child = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":10491
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":10492
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_content_region = True
 *         #self.state.cap.can_be_toggled = True # maybe ?
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":10493
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True             # <<<<<<<<<<<<<<
 *         #self.state.cap.can_be_toggled = True # maybe ?
 *         self.theme_condition_category = theme_categories.t_child
 */
  __pyx_v_self->__pyx_base.state.cap.has_content_region = 1;

  /* "dearcygui/core.pyx":10495
 *         self.state.cap.has_content_region = True
 *         #self.state.cap.can_be_toggled = True # maybe ?
 *         self.theme_condition_category = theme_categories.t_child             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_child;

  /* "dearcygui/core.pyx":10483
 * 
 * cdef class ChildWindow(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.child_flags = imgui.ImGuiChildFlags_Border | imgui.ImGuiChildFlags_NavFlattened
 *         self.window_flags = imgui.ImGuiWindowFlags_NoSavedSettings
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10497
 *         self.theme_condition_category = theme_categories.t_child
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10504
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10505
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @always_show_vertical_scrollvar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_AlwaysVerticalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10497
 *         self.theme_condition_category = theme_categories.t_child
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10507
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 *     @always_show_vertical_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10508, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_show_vertical_scrollvar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10510
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10511
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_AlwaysVerticalScrollbar));

  /* "dearcygui/core.pyx":10512
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10513
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_AlwaysVerticalScrollbar);

    /* "dearcygui/core.pyx":10512
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":10507
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 *     @always_show_vertical_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10515
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10523
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10524
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @always_show_horizontal_scrollvar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_AlwaysHorizontalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10515
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10526
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 *     @always_show_horizontal_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10527, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_show_horizontal_scrollvar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10529
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10530
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_AlwaysHorizontalScrollbar));

  /* "dearcygui/core.pyx":10531
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10532
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_AlwaysHorizontalScrollbar);

    /* "dearcygui/core.pyx":10531
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":10526
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 *     @always_show_horizontal_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10534
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self):
 *         """Writable attribute to indicate the window should have no scrollbar
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10540
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10541
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_scrollbar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10534
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self):
 *         """Writable attribute to indicate the window should have no scrollbar
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10543
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 *     @no_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10544, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.no_scrollbar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_12no_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10546
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10547
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoScrollbar));

  /* "dearcygui/core.pyx":10548
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10549
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoScrollbar);

    /* "dearcygui/core.pyx":10548
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":10543
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 *     @no_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10551
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10557
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10558
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @horizontal_scrollbar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_HorizontalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10551
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10560
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 *     @horizontal_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10561, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.horizontal_scrollbar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10563
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10564
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_HorizontalScrollbar));

  /* "dearcygui/core.pyx":10565
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10566
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_HorizontalScrollbar);

    /* "dearcygui/core.pyx":10565
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":10560
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 *     @horizontal_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10568
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menubar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_7menubar___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_7menubar___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10577
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10578
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0             # <<<<<<<<<<<<<<
 * 
 *     @menubar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_MenuBar) != 0);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10568
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menubar(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.menubar.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10580
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 *     @menubar.setter             # <<<<<<<<<<<<<<
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10581, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.menubar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_7menubar_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_7menubar_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10583
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10584
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_MenuBar));

  /* "dearcygui/core.pyx":10585
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10586
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_MenuBar);

    /* "dearcygui/core.pyx":10585
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  }

  /* "dearcygui/core.pyx":10580
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 *     @menubar.setter             # <<<<<<<<<<<<<<
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10588
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10595
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.window_flags & imgui.ImGuiWindowFlags_NavFlattened) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10596
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.window_flags & imgui.ImGuiWindowFlags_NavFlattened) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_scroll_with_mouse.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->window_flags & ImGuiWindowFlags_NavFlattened) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10588
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.no_scroll_with_mouse.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10598
 *         return (self.window_flags & imgui.ImGuiWindowFlags_NavFlattened) != 0
 * 
 *     @no_scroll_with_mouse.setter             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10599, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.no_scroll_with_mouse.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10601
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10602
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoScrollWithMouse));

  /* "dearcygui/core.pyx":10603
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10604
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoScrollWithMouse);

    /* "dearcygui/core.pyx":10603
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 */
  }

  /* "dearcygui/core.pyx":10598
 *         return (self.window_flags & imgui.ImGuiWindowFlags_NavFlattened) != 0
 * 
 *     @no_scroll_with_mouse.setter             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10606
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flattened_navigation(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10615
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_NavFlattened) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10616
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_NavFlattened) != 0             # <<<<<<<<<<<<<<
 * 
 *     @flattened_navigation.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_NavFlattened) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10606
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flattened_navigation(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.flattened_navigation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10618
 *         return (self.child_flags & imgui.ImGuiChildFlags_NavFlattened) != 0
 * 
 *     @flattened_navigation.setter             # <<<<<<<<<<<<<<
 *     def flattened_navigation(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10619, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.flattened_navigation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_20flattened_navigation_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10621
 *     def flattened_navigation(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_NavFlattened
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10622
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_NavFlattened             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_NavFlattened));

  /* "dearcygui/core.pyx":10623
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_NavFlattened
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10624
 *         self.child_flags &= ~imgui.ImGuiChildFlags_NavFlattened
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_NavFlattened);

    /* "dearcygui/core.pyx":10623
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_NavFlattened
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened
 * 
 */
  }

  /* "dearcygui/core.pyx":10618
 *         return (self.child_flags & imgui.ImGuiChildFlags_NavFlattened) != 0
 * 
 *     @flattened_navigation.setter             # <<<<<<<<<<<<<<
 *     def flattened_navigation(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10626
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def border(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_6border_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_6border_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_6border___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_6border___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10633
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_Border) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10634
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_Border) != 0             # <<<<<<<<<<<<<<
 * 
 *     @border.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_Border) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10626
 *             self.child_flags |= imgui.ImGuiChildFlags_NavFlattened
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def border(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.border.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10636
 *         return (self.child_flags & imgui.ImGuiChildFlags_Border) != 0
 * 
 *     @border.setter             # <<<<<<<<<<<<<<
 *     def border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_6border_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_6border_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10637, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.border.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_6border_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_6border_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10639
 *     def border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_Border
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10640
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_Border             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_Border
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_Border));

  /* "dearcygui/core.pyx":10641
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_Border
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_Border
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10642
 *         self.child_flags &= ~imgui.ImGuiChildFlags_Border
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_Border             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_Border);

    /* "dearcygui/core.pyx":10641
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_Border
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_Border
 * 
 */
  }

  /* "dearcygui/core.pyx":10636
 *         return (self.child_flags & imgui.ImGuiChildFlags_Border) != 0
 * 
 *     @border.setter             # <<<<<<<<<<<<<<
 *     def border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10644
 *             self.child_flags |= imgui.ImGuiChildFlags_Border
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_auto_resize(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10652
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10653
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize) != 0             # <<<<<<<<<<<<<<
 * 
 *     @always_auto_resize.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_AlwaysAutoResize) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10644
 *             self.child_flags |= imgui.ImGuiChildFlags_Border
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_auto_resize(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_auto_resize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10655
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize) != 0
 * 
 *     @always_auto_resize.setter             # <<<<<<<<<<<<<<
 *     def always_auto_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10656, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_auto_resize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_18always_auto_resize_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10658
 *     def always_auto_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10659
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_AlwaysAutoResize));

  /* "dearcygui/core.pyx":10660
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10661
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_AlwaysAutoResize);

    /* "dearcygui/core.pyx":10660
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize
 * 
 */
  }

  /* "dearcygui/core.pyx":10655
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize) != 0
 * 
 *     @always_auto_resize.setter             # <<<<<<<<<<<<<<
 *     def always_auto_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10663
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_use_window_padding(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10671
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysUseWindowPadding) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10672
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysUseWindowPadding) != 0             # <<<<<<<<<<<<<<
 * 
 *     @always_use_window_padding.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_AlwaysUseWindowPadding) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10663
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysAutoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_use_window_padding(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_use_window_padding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10674
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysUseWindowPadding) != 0
 * 
 *     @always_use_window_padding.setter             # <<<<<<<<<<<<<<
 *     def always_use_window_padding(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10675, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.always_use_window_padding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_25always_use_window_padding_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10677
 *     def always_use_window_padding(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10678
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysUseWindowPadding             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_AlwaysUseWindowPadding));

  /* "dearcygui/core.pyx":10679
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10680
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_AlwaysUseWindowPadding);

    /* "dearcygui/core.pyx":10679
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 * 
 */
  }

  /* "dearcygui/core.pyx":10674
 *         return (self.child_flags & imgui.ImGuiChildFlags_AlwaysUseWindowPadding) != 0
 * 
 *     @always_use_window_padding.setter             # <<<<<<<<<<<<<<
 *     def always_use_window_padding(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10682
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_resize_x(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10689
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeX) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10690
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeX) != 0             # <<<<<<<<<<<<<<
 * 
 *     @auto_resize_x.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_AutoResizeX) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10682
 *             self.child_flags |= imgui.ImGuiChildFlags_AlwaysUseWindowPadding
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_resize_x(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.auto_resize_x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10692
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeX) != 0
 * 
 *     @auto_resize_x.setter             # <<<<<<<<<<<<<<
 *     def auto_resize_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10693, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.auto_resize_x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_x_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10695
 *     def auto_resize_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeX
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10696
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeX             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_AutoResizeX));

  /* "dearcygui/core.pyx":10697
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeX
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10698
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeX
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_AutoResizeX);

    /* "dearcygui/core.pyx":10697
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeX
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX
 * 
 */
  }

  /* "dearcygui/core.pyx":10692
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeX) != 0
 * 
 *     @auto_resize_x.setter             # <<<<<<<<<<<<<<
 *     def auto_resize_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10700
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_resize_y(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10707
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeY) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10708
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeY) != 0             # <<<<<<<<<<<<<<
 * 
 *     @auto_resize_y.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_AutoResizeY) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10700
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeX
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_resize_y(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.auto_resize_y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10710
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeY) != 0
 * 
 *     @auto_resize_y.setter             # <<<<<<<<<<<<<<
 *     def auto_resize_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10711, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.auto_resize_y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_13auto_resize_y_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10713
 *     def auto_resize_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeY
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10714
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeY             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_AutoResizeY));

  /* "dearcygui/core.pyx":10715
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeY
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10716
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeY
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_AutoResizeY);

    /* "dearcygui/core.pyx":10715
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_AutoResizeY
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY
 * 
 */
  }

  /* "dearcygui/core.pyx":10710
 *         return (self.child_flags & imgui.ImGuiChildFlags_AutoResizeY) != 0
 * 
 *     @auto_resize_y.setter             # <<<<<<<<<<<<<<
 *     def auto_resize_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10718
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def frame_style(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10726
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_FrameStyle) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10727
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_FrameStyle) != 0             # <<<<<<<<<<<<<<
 * 
 *     @frame_style.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_FrameStyle) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10718
 *             self.child_flags |= imgui.ImGuiChildFlags_AutoResizeY
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def frame_style(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.frame_style.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10729
 *         return (self.child_flags & imgui.ImGuiChildFlags_FrameStyle) != 0
 * 
 *     @frame_style.setter             # <<<<<<<<<<<<<<
 *     def frame_style(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10730, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.frame_style.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_11frame_style_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10732
 *     def frame_style(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_FrameStyle
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10733
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_FrameStyle             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_FrameStyle));

  /* "dearcygui/core.pyx":10734
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_FrameStyle
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10735
 *         self.child_flags &= ~imgui.ImGuiChildFlags_FrameStyle
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_FrameStyle);

    /* "dearcygui/core.pyx":10734
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_FrameStyle
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle
 * 
 */
  }

  /* "dearcygui/core.pyx":10729
 *         return (self.child_flags & imgui.ImGuiChildFlags_FrameStyle) != 0
 * 
 *     @frame_style.setter             # <<<<<<<<<<<<<<
 *     def frame_style(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10737
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable_x(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10743
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeX) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10744
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeX) != 0             # <<<<<<<<<<<<<<
 * 
 *     @resizable_x.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_ResizeX) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10737
 *             self.child_flags |= imgui.ImGuiChildFlags_FrameStyle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable_x(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.resizable_x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10746
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeX) != 0
 * 
 *     @resizable_x.setter             # <<<<<<<<<<<<<<
 *     def resizable_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10747, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.resizable_x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_x_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10749
 *     def resizable_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10750
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeX             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_ResizeX));

  /* "dearcygui/core.pyx":10751
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10752
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_ResizeX);

    /* "dearcygui/core.pyx":10751
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX
 * 
 */
  }

  /* "dearcygui/core.pyx":10746
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeX) != 0
 * 
 *     @resizable_x.setter             # <<<<<<<<<<<<<<
 *     def resizable_x(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10754
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable_y(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y___get__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y___get__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10760
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeY) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10761
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeY) != 0             # <<<<<<<<<<<<<<
 * 
 *     @resizable_y.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->child_flags & ImGuiChildFlags_ResizeY) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10754
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeX
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def resizable_y(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.resizable_y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10763
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeY) != 0
 * 
 *     @resizable_y.setter             # <<<<<<<<<<<<<<
 *     def resizable_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10764, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.resizable_y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y_2__set__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ChildWindow_11resizable_y_2__set__(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10766
 *     def resizable_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10767
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeY             # <<<<<<<<<<<<<<
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY
 */
  __pyx_v_self->child_flags = (__pyx_v_self->child_flags & (~ImGuiChildFlags_ResizeY));

  /* "dearcygui/core.pyx":10768
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10769
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         if value:
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->child_flags = (__pyx_v_self->child_flags | ImGuiChildFlags_ResizeY);

    /* "dearcygui/core.pyx":10768
 *         lock_gil_friendly(m, self.mutex)
 *         self.child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         if value:             # <<<<<<<<<<<<<<
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY
 * 
 */
  }

  /* "dearcygui/core.pyx":10763
 *         return (self.child_flags & imgui.ImGuiChildFlags_ResizeY) != 0
 * 
 *     @resizable_y.setter             # <<<<<<<<<<<<<<
 *     def resizable_y(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10771
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:
 */

static int __pyx_f_9dearcygui_4core_11ChildWindow_draw_item(struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  ImGuiWindowFlags __pyx_v_flags;
  ImVec2 __pyx_v_pos_p;
  ImVec2 __pyx_v_requested_size;
  ImGuiChildFlags __pyx_v_child_flags;
  int __pyx_r;
  ImGuiWindowFlags __pyx_t_1;
  int __pyx_t_2;
  ImVec2 __pyx_t_3;
  ImGuiChildFlags __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":10772
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags             # <<<<<<<<<<<<<<
 *         if self.last_menubar_child is not None:
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 */
  __pyx_t_1 = __pyx_v_self->window_flags;
  __pyx_v_flags = __pyx_t_1;

  /* "dearcygui/core.pyx":10773
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 *         cdef imgui.ImVec2 pos_p
 */
  __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10774
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:
 *             flags |= imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_p
 *         cdef imgui.ImVec2 requested_size = self.requested_size
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiWindowFlags_MenuBar);

    /* "dearcygui/core.pyx":10773
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 *         cdef imgui.ImVec2 pos_p
 */
  }

  /* "dearcygui/core.pyx":10776
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 *         cdef imgui.ImVec2 pos_p
 *         cdef imgui.ImVec2 requested_size = self.requested_size             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiChildFlags child_flags = self.child_flags
 *         # Else they have no effect
 */
  __pyx_t_3 = __pyx_v_self->__pyx_base.requested_size;
  __pyx_v_requested_size = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":10777
 *         cdef imgui.ImVec2 pos_p
 *         cdef imgui.ImVec2 requested_size = self.requested_size
 *         cdef imgui.ImGuiChildFlags child_flags = self.child_flags             # <<<<<<<<<<<<<<
 *         # Else they have no effect
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeX:
 */
  __pyx_t_4 = __pyx_v_self->child_flags;
  __pyx_v_child_flags = __pyx_t_4;

  /* "dearcygui/core.pyx":10779
 *         cdef imgui.ImGuiChildFlags child_flags = self.child_flags
 *         # Else they have no effect
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeX:             # <<<<<<<<<<<<<<
 *             requested_size.x = 0
 *             # incompatible flags
 */
  __pyx_t_2 = ((__pyx_v_child_flags & ImGuiChildFlags_AutoResizeX) != 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10780
 *         # Else they have no effect
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeX:
 *             requested_size.x = 0             # <<<<<<<<<<<<<<
 *             # incompatible flags
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 */
    __pyx_v_requested_size.x = 0.0;

    /* "dearcygui/core.pyx":10782
 *             requested_size.x = 0
 *             # incompatible flags
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeX             # <<<<<<<<<<<<<<
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeY:
 *             requested_size.y = 0
 */
    __pyx_v_child_flags = (__pyx_v_child_flags & (~ImGuiChildFlags_ResizeX));

    /* "dearcygui/core.pyx":10779
 *         cdef imgui.ImGuiChildFlags child_flags = self.child_flags
 *         # Else they have no effect
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeX:             # <<<<<<<<<<<<<<
 *             requested_size.x = 0
 *             # incompatible flags
 */
  }

  /* "dearcygui/core.pyx":10783
 *             # incompatible flags
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeY:             # <<<<<<<<<<<<<<
 *             requested_size.y = 0
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 */
  __pyx_t_2 = ((__pyx_v_child_flags & ImGuiChildFlags_AutoResizeY) != 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10784
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeY:
 *             requested_size.y = 0             # <<<<<<<<<<<<<<
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         # Else imgui is not happy
 */
    __pyx_v_requested_size.y = 0.0;

    /* "dearcygui/core.pyx":10785
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeY:
 *             requested_size.y = 0
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY             # <<<<<<<<<<<<<<
 *         # Else imgui is not happy
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:
 */
    __pyx_v_child_flags = (__pyx_v_child_flags & (~ImGuiChildFlags_ResizeY));

    /* "dearcygui/core.pyx":10783
 *             # incompatible flags
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeX
 *         if child_flags & imgui.ImGuiChildFlags_AutoResizeY:             # <<<<<<<<<<<<<<
 *             requested_size.y = 0
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 */
  }

  /* "dearcygui/core.pyx":10787
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         # Else imgui is not happy
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:             # <<<<<<<<<<<<<<
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 */
  __pyx_t_2 = ((__pyx_v_child_flags & ImGuiChildFlags_AlwaysAutoResize) != 0);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10788
 *         # Else imgui is not happy
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:             # <<<<<<<<<<<<<<
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if imgui.BeginChild(self.imgui_label.c_str(),
 */
    __pyx_t_2 = ((__pyx_v_child_flags & (ImGuiChildFlags_AutoResizeX | ImGuiChildFlags_AutoResizeY)) == 0);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":10789
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize             # <<<<<<<<<<<<<<
 *         if imgui.BeginChild(self.imgui_label.c_str(),
 *                             requested_size,
 */
      __pyx_v_child_flags = (__pyx_v_child_flags & (~ImGuiChildFlags_AlwaysAutoResize));

      /* "dearcygui/core.pyx":10788
 *         # Else imgui is not happy
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:             # <<<<<<<<<<<<<<
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if imgui.BeginChild(self.imgui_label.c_str(),
 */
    }

    /* "dearcygui/core.pyx":10787
 *             child_flags &= ~imgui.ImGuiChildFlags_ResizeY
 *         # Else imgui is not happy
 *         if child_flags & imgui.ImGuiChildFlags_AlwaysAutoResize:             # <<<<<<<<<<<<<<
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 */
  }

  /* "dearcygui/core.pyx":10790
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if imgui.BeginChild(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                             requested_size,
 *                             child_flags,
 */
  __pyx_t_2 = ImGui::BeginChild(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_requested_size, __pyx_v_child_flags, __pyx_v_flags);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":10794
 *                             child_flags,
 *                             flags):
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *             pos_p = imgui.GetCursorScreenPos()
 *             # TODO: since Child windows are ... windows, should we update window_pos ?
 */
    __pyx_v_self->__pyx_base.state.cur.content_region_size = ImGui::GetContentRegionAvail();

    /* "dearcygui/core.pyx":10795
 *                             flags):
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()
 *             pos_p = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *             # TODO: since Child windows are ... windows, should we update window_pos ?
 *             swap(pos_p, self.context._viewport.parent_pos)
 */
    __pyx_v_pos_p = ImGui::GetCursorScreenPos();

    /* "dearcygui/core.pyx":10797
 *             pos_p = imgui.GetCursorScreenPos()
 *             # TODO: since Child windows are ... windows, should we update window_pos ?
 *             swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *             if self.last_widgets_child is not None:
 *                 self.last_widgets_child.draw()
 */
    try {
      std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
    } catch(...) {
      #ifdef WITH_THREAD
      PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      __Pyx_CppExn2PyErr();
      #ifdef WITH_THREAD
      __Pyx_PyGILState_Release(__pyx_gilstate_save);
      #endif
      __PYX_ERR(1, 10797, __pyx_L1_error)
    }

    /* "dearcygui/core.pyx":10798
 *             # TODO: since Child windows are ... windows, should we update window_pos ?
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *             if self.last_menubar_child is not None:
 */
    __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":10799
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             if self.last_widgets_child is not None:
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *             if self.last_menubar_child is not None:
 *                 self.last_menubar_child.draw()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":10798
 *             # TODO: since Child windows are ... windows, should we update window_pos ?
 *             swap(pos_p, self.context._viewport.parent_pos)
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *             if self.last_menubar_child is not None:
 */
    }

    /* "dearcygui/core.pyx":10800
 *             if self.last_widgets_child is not None:
 *                 self.last_widgets_child.draw()
 *             if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_menubar_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 */
    __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
    if (__pyx_t_2) {

      /* "dearcygui/core.pyx":10801
 *                 self.last_widgets_child.draw()
 *             if self.last_menubar_child is not None:
 *                 self.last_menubar_child.draw()             # <<<<<<<<<<<<<<
 *             self.context._viewport.parent_pos = pos_p
 *             self.state.cur.rendered = True
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child);

      /* "dearcygui/core.pyx":10800
 *             if self.last_widgets_child is not None:
 *                 self.last_widgets_child.draw()
 *             if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_menubar_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 */
    }

    /* "dearcygui/core.pyx":10802
 *             if self.last_menubar_child is not None:
 *                 self.last_menubar_child.draw()
 *             self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *             self.state.cur.rendered = True
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

    /* "dearcygui/core.pyx":10803
 *                 self.last_menubar_child.draw()
 *             self.context._viewport.parent_pos = pos_p
 *             self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 */
    __pyx_v_self->__pyx_base.state.cur.rendered = 1;

    /* "dearcygui/core.pyx":10804
 *             self.context._viewport.parent_pos = pos_p
 *             self.state.cur.rendered = True
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             self.state.cur.rect_size = imgui.GetWindowSize()
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = ImGui::IsWindowHovered(ImGuiHoveredFlags_None);

    /* "dearcygui/core.pyx":10805
 *             self.state.cur.rendered = True
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = imgui.GetWindowSize()
 *             # TODO scrolling
 */
    __pyx_v_self->__pyx_base.state.cur.focused = ImGui::IsWindowFocused(ImGuiFocusedFlags_None);

    /* "dearcygui/core.pyx":10806
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             self.state.cur.rect_size = imgui.GetWindowSize()             # <<<<<<<<<<<<<<
 *             # TODO scrolling
 *         else:
 */
    __pyx_v_self->__pyx_base.state.cur.rect_size = ImGui::GetWindowSize();

    /* "dearcygui/core.pyx":10790
 *             if (child_flags & (imgui.ImGuiChildFlags_AutoResizeX | imgui.ImGuiChildFlags_AutoResizeY)) == 0:
 *                 child_flags &= ~imgui.ImGuiChildFlags_AlwaysAutoResize
 *         if imgui.BeginChild(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                             requested_size,
 *                             child_flags,
 */
    goto __pyx_L8;
  }

  /* "dearcygui/core.pyx":10809
 *             # TODO scrolling
 *         else:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *         imgui.EndChild()
 *         return False # maybe True when visible ?
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_ChildWindow *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L8:;

  /* "dearcygui/core.pyx":10810
 *         else:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *         imgui.EndChild()             # <<<<<<<<<<<<<<
 *         return False # maybe True when visible ?
 * 
 */
  ImGui::EndChild();

  /* "dearcygui/core.pyx":10811
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *         imgui.EndChild()
 *         return False # maybe True when visible ?             # <<<<<<<<<<<<<<
 * 
 * cdef class ColorButton(uiItem):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10771
 *             self.child_flags |= imgui.ImGuiChildFlags_ResizeY
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:
 */

  /* function exit code */
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.ChildWindow.draw_item", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ChildWindow_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ChildWindow_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ChildWindow_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ChildWindow_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ChildWindow_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ChildWindow_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ChildWindow *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ChildWindow_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ChildWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ChildWindow.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10814
 * 
 * cdef class ColorButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorbutton
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorButton_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton___cinit__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorButton___cinit__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":10815
 * cdef class ColorButton(uiItem):
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_colorbutton
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 */
  __pyx_v_self->flags = ImGuiColorEditFlags_DefaultOptions_;

  /* "dearcygui/core.pyx":10816
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorbutton             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_colorbutton;

  /* "dearcygui/core.pyx":10817
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorbutton
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 10817, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedColor(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedColor), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10817, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":10818
 *         self.theme_condition_category = theme_categories.t_colorbutton
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":10819
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":10820
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":10821
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":10822
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":10814
 * 
 * cdef class ColorButton(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorbutton
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ColorButton.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10824
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha___get__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10830
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10831
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_alpha.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoAlpha) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10824
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_alpha.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10833
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10834, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_alpha.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorButton_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10836
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10837
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoAlpha));

  /* "dearcygui/core.pyx":10838
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10839
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoAlpha);

    /* "dearcygui/core.pyx":10838
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  }

  /* "dearcygui/core.pyx":10833
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10841
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10847
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10848
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10841
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10850
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10851, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorButton_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10853
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10854
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoTooltip));

  /* "dearcygui/core.pyx":10855
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10856
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoTooltip);

    /* "dearcygui/core.pyx":10855
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":10850
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10858
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop___get__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10864
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10865
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_drag_drop.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoDragDrop) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10858
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_drag_drop.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10867
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 *     @no_drag_drop.setter             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10868, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_drag_drop.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorButton_12no_drag_drop_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10870
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10871
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoDragDrop));

  /* "dearcygui/core.pyx":10872
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10873
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoDragDrop);

    /* "dearcygui/core.pyx":10872
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 */
  }

  /* "dearcygui/core.pyx":10867
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 *     @no_drag_drop.setter             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10875
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_border(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_9no_border_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_9no_border_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_9no_border___get__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_9no_border___get__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10881
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoBorder) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10882
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoBorder) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_border.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoBorder) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10875
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_border(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_border.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10884
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoBorder) != 0
 * 
 *     @no_border.setter             # <<<<<<<<<<<<<<
 *     def no_border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorButton_9no_border_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorButton_9no_border_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10885, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.no_border.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_9no_border_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorButton_9no_border_2__set__(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10887
 *     def no_border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoBorder
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10888
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoBorder             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoBorder
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoBorder));

  /* "dearcygui/core.pyx":10889
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoBorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoBorder
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10890
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoBorder
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoBorder             # <<<<<<<<<<<<<<
 * 
 *     # TODO: there are more options, which can be user toggled.
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoBorder);

    /* "dearcygui/core.pyx":10889
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoBorder
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoBorder
 * 
 */
  }

  /* "dearcygui/core.pyx":10884
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoBorder) != 0
 * 
 *     @no_border.setter             # <<<<<<<<<<<<<<
 *     def no_border(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10894
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

static int __pyx_f_9dearcygui_4core_11ColorButton_draw_item(struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  int __pyx_v_activated;
  ImVec4 __pyx_v_col;
  int __pyx_r;

  /* "dearcygui/core.pyx":10896
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)             # <<<<<<<<<<<<<<
 *         activated = imgui.ColorButton(self.imgui_label.c_str(),
 *                                       col,
 */
  __pyx_v_col = __pyx_f_9dearcygui_4core_11SharedColor_getF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":10897
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 *         activated = imgui.ColorButton(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                       col,
 *                                       self.flags,
 */
  __pyx_v_activated = ImGui::ColorButton(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_col, __pyx_v_self->flags, __pyx_v_self->__pyx_base.requested_size);

  /* "dearcygui/core.pyx":10901
 *                                       self.flags,
 *                                       self.requested_size)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ColorButton *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":10902
 *                                       self.requested_size)
 *         self.update_current_state()
 *         SharedColor.setF4(<SharedColor>self._value, col)             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  __pyx_f_9dearcygui_4core_11SharedColor_setF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value), __pyx_v_col);

  /* "dearcygui/core.pyx":10903
 *         self.update_current_state()
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10894
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ColorButton_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorButton_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ColorButton_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorButton_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ColorButton_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorButton_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ColorButton *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorButton_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorButton *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorButton.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10907
 * 
 * cdef class ColorEdit(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_coloredit
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit___cinit__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit___cinit__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":10908
 * cdef class ColorEdit(uiItem):
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_coloredit
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 */
  __pyx_v_self->flags = ImGuiColorEditFlags_DefaultOptions_;

  /* "dearcygui/core.pyx":10909
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_coloredit             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_coloredit;

  /* "dearcygui/core.pyx":10910
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_coloredit
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 10910, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedColor(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedColor), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":10911
 *         self.theme_condition_category = theme_categories.t_coloredit
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":10912
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":10913
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":10914
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":10915
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":10907
 * 
 * cdef class ColorEdit(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_coloredit
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10917
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10923
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10924
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_alpha.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoAlpha) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10917
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_alpha.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10926
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10927, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_alpha.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10929
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10930
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoAlpha));

  /* "dearcygui/core.pyx":10931
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10932
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoAlpha);

    /* "dearcygui/core.pyx":10931
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  }

  /* "dearcygui/core.pyx":10926
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10934
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_picker(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10940
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoPicker) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10941
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoPicker) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_picker.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoPicker) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10934
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_picker(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_picker.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10943
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoPicker) != 0
 * 
 *     @no_picker.setter             # <<<<<<<<<<<<<<
 *     def no_picker(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10944, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_picker.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_9no_picker_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10946
 *     def no_picker(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoPicker
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10947
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoPicker             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoPicker));

  /* "dearcygui/core.pyx":10948
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoPicker
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10949
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoPicker
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoPicker);

    /* "dearcygui/core.pyx":10948
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoPicker
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker
 * 
 */
  }

  /* "dearcygui/core.pyx":10943
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoPicker) != 0
 * 
 *     @no_picker.setter             # <<<<<<<<<<<<<<
 *     def no_picker(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10951
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_options(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_10no_options___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_10no_options___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10957
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoOptions) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10958
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoOptions) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_options.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoOptions) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10951
 *             self.flags |= imgui.ImGuiColorEditFlags_NoPicker
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_options(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_options.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10960
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoOptions) != 0
 * 
 *     @no_options.setter             # <<<<<<<<<<<<<<
 *     def no_options(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10961, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_options.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_10no_options_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_10no_options_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10963
 *     def no_options(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoOptions
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10964
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoOptions             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoOptions));

  /* "dearcygui/core.pyx":10965
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoOptions
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10966
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoOptions
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoOptions);

    /* "dearcygui/core.pyx":10965
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoOptions
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions
 * 
 */
  }

  /* "dearcygui/core.pyx":10960
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoOptions) != 0
 * 
 *     @no_options.setter             # <<<<<<<<<<<<<<
 *     def no_options(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10968
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_small_preview(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10974
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10975
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_small_preview.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoSmallPreview) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10968
 *             self.flags |= imgui.ImGuiColorEditFlags_NoOptions
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_small_preview(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_small_preview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10977
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 *     @no_small_preview.setter             # <<<<<<<<<<<<<<
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10978, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_small_preview.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_16no_small_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10980
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10981
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoSmallPreview));

  /* "dearcygui/core.pyx":10982
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":10983
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoSmallPreview);

    /* "dearcygui/core.pyx":10982
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 */
  }

  /* "dearcygui/core.pyx":10977
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 *     @no_small_preview.setter             # <<<<<<<<<<<<<<
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":10985
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":10991
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10992
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_inputs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoInputs) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":10985
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_inputs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":10994
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10995, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_inputs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":10997
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":10998
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoInputs));

  /* "dearcygui/core.pyx":10999
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11000
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoInputs);

    /* "dearcygui/core.pyx":10999
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 */
  }

  /* "dearcygui/core.pyx":10994
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11002
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11008
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11009
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11002
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11011
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11012, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11014
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11015
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoTooltip));

  /* "dearcygui/core.pyx":11016
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11017
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoTooltip);

    /* "dearcygui/core.pyx":11016
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":11011
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11019
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_8no_label___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_8no_label___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11025
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11026
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoLabel) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11019
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_label.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11028
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11029, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_8no_label_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11031
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11032
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoLabel));

  /* "dearcygui/core.pyx":11033
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11034
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoLabel);

    /* "dearcygui/core.pyx":11033
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 */
  }

  /* "dearcygui/core.pyx":11028
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11036
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop___get__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop___get__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11042
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11043
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_drag_drop.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoDragDrop) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11036
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_drag_drop.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11045
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 *     @no_drag_drop.setter             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11046, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.no_drag_drop.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9ColorEdit_12no_drag_drop_2__set__(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11048
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11049
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoDragDrop));

  /* "dearcygui/core.pyx":11050
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11051
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop             # <<<<<<<<<<<<<<
 * 
 *     # TODO: there are more options, which can be user toggled.
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoDragDrop);

    /* "dearcygui/core.pyx":11050
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoDragDrop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoDragDrop
 * 
 */
  }

  /* "dearcygui/core.pyx":11045
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoDragDrop) != 0
 * 
 *     @no_drag_drop.setter             # <<<<<<<<<<<<<<
 *     def no_drag_drop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11055
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

static int __pyx_f_9dearcygui_4core_9ColorEdit_draw_item(struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  int __pyx_v_activated;
  ImVec4 __pyx_v_col;
  float __pyx_v_color[4];
  int __pyx_r;
  float __pyx_t_1[4];

  /* "dearcygui/core.pyx":11057
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)             # <<<<<<<<<<<<<<
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]
 *         activated = imgui.ColorEdit4(self.imgui_label.c_str(),
 */
  __pyx_v_col = __pyx_f_9dearcygui_4core_11SharedColor_getF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":11058
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]             # <<<<<<<<<<<<<<
 *         activated = imgui.ColorEdit4(self.imgui_label.c_str(),
 *                                       color,
 */
  __pyx_t_1[0] = __pyx_v_col.x;
  __pyx_t_1[1] = __pyx_v_col.y;
  __pyx_t_1[2] = __pyx_v_col.z;
  __pyx_t_1[3] = __pyx_v_col.w;
  memcpy(&(__pyx_v_color[0]), __pyx_t_1, sizeof(__pyx_v_color[0]) * (4));

  /* "dearcygui/core.pyx":11059
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]
 *         activated = imgui.ColorEdit4(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                       color,
 *                                       self.flags)
 */
  __pyx_v_activated = ImGui::ColorEdit4(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_color, __pyx_v_self->flags);

  /* "dearcygui/core.pyx":11062
 *                                       color,
 *                                       self.flags)
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ColorEdit *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":11063
 *                                       self.flags)
 *         self.update_current_state()
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])             # <<<<<<<<<<<<<<
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated
 */
  __pyx_v_col = ImVec4((__pyx_v_color[0]), (__pyx_v_color[1]), (__pyx_v_color[2]), (__pyx_v_color[3]));

  /* "dearcygui/core.pyx":11064
 *         self.update_current_state()
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  __pyx_f_9dearcygui_4core_11SharedColor_setF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value), __pyx_v_col);

  /* "dearcygui/core.pyx":11065
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11055
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9ColorEdit_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9ColorEdit_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9ColorEdit_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9ColorEdit_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9ColorEdit_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9ColorEdit_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ColorEdit *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9ColorEdit_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorEdit *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorEdit.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11069
 * 
 * cdef class ColorPicker(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorpicker
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker___cinit__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker___cinit__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":11070
 * cdef class ColorPicker(uiItem):
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_colorpicker
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 */
  __pyx_v_self->flags = ImGuiColorEditFlags_DefaultOptions_;

  /* "dearcygui/core.pyx":11071
 *     def __cinit__(self):
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorpicker             # <<<<<<<<<<<<<<
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_colorpicker;

  /* "dearcygui/core.pyx":11072
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorpicker
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context))) __PYX_ERR(1, 11072, __pyx_L1_error);
  __pyx_t_2 = ((PyObject *)__pyx_tp_new_9dearcygui_4core_SharedColor(((PyTypeObject *)__pyx_ptype_9dearcygui_4core_SharedColor), __pyx_t_1, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11072, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_t_2);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->__pyx_base._value);
  __pyx_v_self->__pyx_base._value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":11073
 *         self.theme_condition_category = theme_categories.t_colorpicker
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_active = 1;

  /* "dearcygui/core.pyx":11074
 *         self._value = <SharedValue>(SharedColor.__new__(SharedColor, self.context))
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":11075
 *         self.state.cap.can_be_active = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":11076
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":11077
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":11069
 * 
 * cdef class ColorPicker(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.flags = imgui.ImGuiColorEditFlags_DefaultOptions_
 *         self.theme_condition_category = theme_categories.t_colorpicker
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11079
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11085
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11086
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_alpha.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoAlpha) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11079
 *         self.state.cap.can_be_hovered = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_alpha(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_alpha.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11088
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11089, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_alpha.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_8no_alpha_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11091
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11092
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoAlpha));

  /* "dearcygui/core.pyx":11093
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11094
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoAlpha);

    /* "dearcygui/core.pyx":11093
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoAlpha
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 */
  }

  /* "dearcygui/core.pyx":11088
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoAlpha) != 0
 * 
 *     @no_alpha.setter             # <<<<<<<<<<<<<<
 *     def no_alpha(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11096
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_small_preview(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11102
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11103
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_small_preview.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoSmallPreview) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11096
 *             self.flags |= imgui.ImGuiColorEditFlags_NoAlpha
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_small_preview(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_small_preview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11105
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 *     @no_small_preview.setter             # <<<<<<<<<<<<<<
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11106, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_small_preview.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_16no_small_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11108
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11109
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoSmallPreview));

  /* "dearcygui/core.pyx":11110
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11111
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoSmallPreview);

    /* "dearcygui/core.pyx":11110
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSmallPreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 */
  }

  /* "dearcygui/core.pyx":11105
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSmallPreview) != 0
 * 
 *     @no_small_preview.setter             # <<<<<<<<<<<<<<
 *     def no_small_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11113
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11119
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11120
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_inputs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoInputs) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11113
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSmallPreview
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_inputs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11122
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11123, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_inputs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11125
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11126
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoInputs));

  /* "dearcygui/core.pyx":11127
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11128
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoInputs);

    /* "dearcygui/core.pyx":11127
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 */
  }

  /* "dearcygui/core.pyx":11122
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11130
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11136
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11137
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tooltip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoTooltip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11130
 *             self.flags |= imgui.ImGuiColorEditFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tooltip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_tooltip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11139
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11140, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_tooltip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_10no_tooltip_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11142
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11143
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoTooltip));

  /* "dearcygui/core.pyx":11144
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11145
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoTooltip);

    /* "dearcygui/core.pyx":11144
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoTooltip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 */
  }

  /* "dearcygui/core.pyx":11139
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoTooltip) != 0
 * 
 *     @no_tooltip.setter             # <<<<<<<<<<<<<<
 *     def no_tooltip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11147
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_8no_label___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_8no_label___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11153
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11154
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoLabel) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11147
 *             self.flags |= imgui.ImGuiColorEditFlags_NoTooltip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_label.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11156
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11157, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_8no_label_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11159
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11160
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoLabel));

  /* "dearcygui/core.pyx":11161
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11162
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoLabel);

    /* "dearcygui/core.pyx":11161
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 */
  }

  /* "dearcygui/core.pyx":11156
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11164
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_side_preview(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview___get__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview___get__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11170
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSidePreview) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11171
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSidePreview) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_side_preview.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImGuiColorEditFlags_NoSidePreview) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11164
 *             self.flags |= imgui.ImGuiColorEditFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_side_preview(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_side_preview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11173
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSidePreview) != 0
 * 
 *     @no_side_preview.setter             # <<<<<<<<<<<<<<
 *     def no_side_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11174, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.no_side_preview.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview_2__set__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11ColorPicker_15no_side_preview_2__set__(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11176
 *     def no_side_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSidePreview
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11177
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSidePreview             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSidePreview
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImGuiColorEditFlags_NoSidePreview));

  /* "dearcygui/core.pyx":11178
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSidePreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSidePreview
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11179
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSidePreview
 *         if value:
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSidePreview             # <<<<<<<<<<<<<<
 * 
 *     # TODO: there are more options, which can be user toggled.
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImGuiColorEditFlags_NoSidePreview);

    /* "dearcygui/core.pyx":11178
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~imgui.ImGuiColorEditFlags_NoSidePreview
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= imgui.ImGuiColorEditFlags_NoSidePreview
 * 
 */
  }

  /* "dearcygui/core.pyx":11173
 *         return (self.flags & imgui.ImGuiColorEditFlags_NoSidePreview) != 0
 * 
 *     @no_side_preview.setter             # <<<<<<<<<<<<<<
 *     def no_side_preview(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11183
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

static int __pyx_f_9dearcygui_4core_11ColorPicker_draw_item(struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  int __pyx_v_activated;
  ImVec4 __pyx_v_col;
  float __pyx_v_color[4];
  int __pyx_r;
  float __pyx_t_1[4];

  /* "dearcygui/core.pyx":11185
 *     cdef bint draw_item(self) noexcept nogil:
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)             # <<<<<<<<<<<<<<
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]
 *         activated = imgui.ColorPicker4(self.imgui_label.c_str(),
 */
  __pyx_v_col = __pyx_f_9dearcygui_4core_11SharedColor_getF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value));

  /* "dearcygui/core.pyx":11186
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]             # <<<<<<<<<<<<<<
 *         activated = imgui.ColorPicker4(self.imgui_label.c_str(),
 *                                        color,
 */
  __pyx_t_1[0] = __pyx_v_col.x;
  __pyx_t_1[1] = __pyx_v_col.y;
  __pyx_t_1[2] = __pyx_v_col.z;
  __pyx_t_1[3] = __pyx_v_col.w;
  memcpy(&(__pyx_v_color[0]), __pyx_t_1, sizeof(__pyx_v_color[0]) * (4));

  /* "dearcygui/core.pyx":11187
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 *         cdef float[4] color = [col.x, col.y, col.z, col.w]
 *         activated = imgui.ColorPicker4(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                        color,
 *                                        self.flags,
 */
  __pyx_v_activated = ImGui::ColorPicker4(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_color, __pyx_v_self->flags, NULL);

  /* "dearcygui/core.pyx":11191
 *                                        self.flags,
 *                                        NULL) # ref_col ??
 *         self.update_current_state()             # <<<<<<<<<<<<<<
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_ColorPicker *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.update_current_state(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":11192
 *                                        NULL) # ref_col ??
 *         self.update_current_state()
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])             # <<<<<<<<<<<<<<
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated
 */
  __pyx_v_col = ImVec4((__pyx_v_color[0]), (__pyx_v_color[1]), (__pyx_v_color[2]), (__pyx_v_color[3]));

  /* "dearcygui/core.pyx":11193
 *         self.update_current_state()
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)             # <<<<<<<<<<<<<<
 *         return activated
 * 
 */
  __pyx_f_9dearcygui_4core_11SharedColor_setF4(((struct __pyx_obj_9dearcygui_4core_SharedColor *)__pyx_v_self->__pyx_base._value), __pyx_v_col);

  /* "dearcygui/core.pyx":11194
 *         col = imgui.ImVec4(color[0], color[1], color[2], color[3])
 *         SharedColor.setF4(<SharedColor>self._value, col)
 *         return activated             # <<<<<<<<<<<<<<
 * 
 * """
 */
  __pyx_r = __pyx_v_activated;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11183
 *     # TODO: there are more options, which can be user toggled.
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef bint activated
 *         cdef imgui.ImVec4 col = SharedColor.getF4(<SharedColor>self._value)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ColorPicker_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorPicker_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11ColorPicker_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorPicker_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11ColorPicker_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11ColorPicker_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_ColorPicker *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11ColorPicker_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_ColorPicker *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.ColorPicker.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11231
 *     GPU data, etc), not to GPU rendering time.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11TimeWatcher_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11TimeWatcher_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11TimeWatcher___cinit__(((struct __pyx_obj_9dearcygui_4core_TimeWatcher *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11TimeWatcher___cinit__(struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":11232
 *     """
 *     def __cinit__(self):
 *         self.state.cap.has_position = False             # <<<<<<<<<<<<<<
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False
 */
  __pyx_v_self->__pyx_base.state.cap.has_position = 0;

  /* "dearcygui/core.pyx":11233
 *     def __cinit__(self):
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False             # <<<<<<<<<<<<<<
 *         self.can_be_disabled = False
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.has_rect_size = 0;

  /* "dearcygui/core.pyx":11234
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False
 *         self.can_be_disabled = False             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __pyx_v_self->__pyx_base.can_be_disabled = 0;

  /* "dearcygui/core.pyx":11231
 *     GPU data, etc), not to GPU rendering time.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.has_position = False
 *         self.state.cap.has_rect_size = False
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11236
 *         self.can_be_disabled = False
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef long long time_start = ctime.monotonic_ns()
 */

static void __pyx_f_9dearcygui_4core_11TimeWatcher_draw(struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PY_LONG_LONG __pyx_v_time_start;
  PY_LONG_LONG __pyx_v_time_end;
  int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;

  /* "dearcygui/core.pyx":11237
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         cdef long long time_start = ctime.monotonic_ns()
 *         if self._prev_sibling is not None:
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11238
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef long long time_start = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()
 */
  __pyx_v_time_start = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":11239
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef long long time_start = ctime.monotonic_ns()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 *         cdef long long time_end = ctime.monotonic_ns()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11240
 *         cdef long long time_start = ctime.monotonic_ns()
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 *         cdef long long time_end = ctime.monotonic_ns()
 *         cdef int i
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":11239
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef long long time_start = ctime.monotonic_ns()
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 *         cdef long long time_end = ctime.monotonic_ns()
 */
  }

  /* "dearcygui/core.pyx":11241
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()
 *         cdef long long time_end = ctime.monotonic_ns()             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if not(self._callbacks.empty()):
 */
  __pyx_v_time_end = __pyx_f_9dearcygui_8backends_4time_monotonic_ns();

  /* "dearcygui/core.pyx":11243
 *         cdef long long time_end = ctime.monotonic_ns()
 *         cdef int i
 *         if not(self._callbacks.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg3long1int(<Callback>self._callbacks[i],
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base._callbacks.empty());
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11244
 *         cdef int i
 *         if not(self._callbacks.empty()):
 *             for i in range(<int>self._callbacks.size()):             # <<<<<<<<<<<<<<
 *                 self.context.queue_callback_arg3long1int(<Callback>self._callbacks[i],
 *                                                          self,
 */
    __pyx_t_2 = ((int)__pyx_v_self->__pyx_base._callbacks.size());
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "dearcygui/core.pyx":11245
 *         if not(self._callbacks.empty()):
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg3long1int(<Callback>self._callbacks[i],             # <<<<<<<<<<<<<<
 *                                                          self,
 *                                                          self,
 */
      __pyx_t_5 = (__pyx_v_self->__pyx_base._callbacks[__pyx_v_i]);

      /* "dearcygui/core.pyx":11251
 *                                                          time_end,
 *                                                          self.context._viewport.last_t_before_rendering,
 *                                                          self.context._viewport.frame_count)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_arg3long1int(__pyx_v_self->__pyx_base.__pyx_base.context, ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_5), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), __pyx_v_time_start, __pyx_v_time_end, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->last_t_before_rendering, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->frame_count);
    }

    /* "dearcygui/core.pyx":11243
 *         cdef long long time_end = ctime.monotonic_ns()
 *         cdef int i
 *         if not(self._callbacks.empty()):             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._callbacks.size()):
 *                 self.context.queue_callback_arg3long1int(<Callback>self._callbacks[i],
 */
  }

  /* "dearcygui/core.pyx":11236
 *         self.can_be_disabled = False
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         cdef long long time_start = ctime.monotonic_ns()
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11TimeWatcher_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11TimeWatcher_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11TimeWatcher_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11TimeWatcher_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11TimeWatcher_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_TimeWatcher *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11TimeWatcher_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TimeWatcher.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11TimeWatcher_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11TimeWatcher_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11TimeWatcher_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11TimeWatcher_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11TimeWatcher_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_TimeWatcher *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11TimeWatcher_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_TimeWatcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.TimeWatcher.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11255
 * 
 * cdef class Window(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.window_flags = imgui.ImGuiWindowFlags_None
 *         self.main_window = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window___cinit__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window___cinit__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":11256
 * cdef class Window(uiItem):
 *     def __cinit__(self):
 *         self.window_flags = imgui.ImGuiWindowFlags_None             # <<<<<<<<<<<<<<
 *         self.main_window = False
 *         self.modal = False
 */
  __pyx_v_self->window_flags = ImGuiWindowFlags_None;

  /* "dearcygui/core.pyx":11257
 *     def __cinit__(self):
 *         self.window_flags = imgui.ImGuiWindowFlags_None
 *         self.main_window = False             # <<<<<<<<<<<<<<
 *         self.modal = False
 *         self.popup = False
 */
  __pyx_v_self->main_window = 0;

  /* "dearcygui/core.pyx":11258
 *         self.window_flags = imgui.ImGuiWindowFlags_None
 *         self.main_window = False
 *         self.modal = False             # <<<<<<<<<<<<<<
 *         self.popup = False
 *         self.has_close_button = True
 */
  __pyx_v_self->modal = 0;

  /* "dearcygui/core.pyx":11259
 *         self.main_window = False
 *         self.modal = False
 *         self.popup = False             # <<<<<<<<<<<<<<
 *         self.has_close_button = True
 *         self.state.cur.open = True
 */
  __pyx_v_self->popup = 0;

  /* "dearcygui/core.pyx":11260
 *         self.modal = False
 *         self.popup = False
 *         self.has_close_button = True             # <<<<<<<<<<<<<<
 *         self.state.cur.open = True
 *         self.collapse_update_requested = False
 */
  __pyx_v_self->has_close_button = 1;

  /* "dearcygui/core.pyx":11261
 *         self.popup = False
 *         self.has_close_button = True
 *         self.state.cur.open = True             # <<<<<<<<<<<<<<
 *         self.collapse_update_requested = False
 *         self.no_open_over_existing_popup = True
 */
  __pyx_v_self->__pyx_base.state.cur.open = 1;

  /* "dearcygui/core.pyx":11262
 *         self.has_close_button = True
 *         self.state.cur.open = True
 *         self.collapse_update_requested = False             # <<<<<<<<<<<<<<
 *         self.no_open_over_existing_popup = True
 *         self.on_close_callback = None
 */
  __pyx_v_self->collapse_update_requested = 0;

  /* "dearcygui/core.pyx":11263
 *         self.state.cur.open = True
 *         self.collapse_update_requested = False
 *         self.no_open_over_existing_popup = True             # <<<<<<<<<<<<<<
 *         self.on_close_callback = None
 *         self.min_size = imgui.ImVec2(100., 100.)
 */
  __pyx_v_self->no_open_over_existing_popup = 1;

  /* "dearcygui/core.pyx":11264
 *         self.collapse_update_requested = False
 *         self.no_open_over_existing_popup = True
 *         self.on_close_callback = None             # <<<<<<<<<<<<<<
 *         self.min_size = imgui.ImVec2(100., 100.)
 *         self.max_size = imgui.ImVec2(30000., 30000.)
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->on_close_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->on_close_callback);
  __pyx_v_self->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None);

  /* "dearcygui/core.pyx":11265
 *         self.no_open_over_existing_popup = True
 *         self.on_close_callback = None
 *         self.min_size = imgui.ImVec2(100., 100.)             # <<<<<<<<<<<<<<
 *         self.max_size = imgui.ImVec2(30000., 30000.)
 *         self.theme_condition_category = theme_categories.t_window
 */
  __pyx_v_self->min_size = ImVec2(100., 100.);

  /* "dearcygui/core.pyx":11266
 *         self.on_close_callback = None
 *         self.min_size = imgui.ImVec2(100., 100.)
 *         self.max_size = imgui.ImVec2(30000., 30000.)             # <<<<<<<<<<<<<<
 *         self.theme_condition_category = theme_categories.t_window
 *         self.scroll_x = 0. # TODO
 */
  __pyx_v_self->max_size = ImVec2(30000., 30000.);

  /* "dearcygui/core.pyx":11267
 *         self.min_size = imgui.ImVec2(100., 100.)
 *         self.max_size = imgui.ImVec2(30000., 30000.)
 *         self.theme_condition_category = theme_categories.t_window             # <<<<<<<<<<<<<<
 *         self.scroll_x = 0. # TODO
 *         self.scroll_y = 0.
 */
  __pyx_v_self->__pyx_base.theme_condition_category = __pyx_e_9dearcygui_4core_t_window;

  /* "dearcygui/core.pyx":11268
 *         self.max_size = imgui.ImVec2(30000., 30000.)
 *         self.theme_condition_category = theme_categories.t_window
 *         self.scroll_x = 0. # TODO             # <<<<<<<<<<<<<<
 *         self.scroll_y = 0.
 *         self.scroll_x_update_requested = False
 */
  __pyx_v_self->scroll_x = 0.;

  /* "dearcygui/core.pyx":11269
 *         self.theme_condition_category = theme_categories.t_window
 *         self.scroll_x = 0. # TODO
 *         self.scroll_y = 0.             # <<<<<<<<<<<<<<
 *         self.scroll_x_update_requested = False
 *         self.scroll_y_update_requested = False
 */
  __pyx_v_self->scroll_y = 0.;

  /* "dearcygui/core.pyx":11270
 *         self.scroll_x = 0. # TODO
 *         self.scroll_y = 0.
 *         self.scroll_x_update_requested = False             # <<<<<<<<<<<<<<
 *         self.scroll_y_update_requested = False
 *         # Read-only states
 */
  __pyx_v_self->scroll_x_update_requested = 0;

  /* "dearcygui/core.pyx":11271
 *         self.scroll_y = 0.
 *         self.scroll_x_update_requested = False
 *         self.scroll_y_update_requested = False             # <<<<<<<<<<<<<<
 *         # Read-only states
 *         self.scroll_max_x = 0.
 */
  __pyx_v_self->scroll_y_update_requested = 0;

  /* "dearcygui/core.pyx":11273
 *         self.scroll_y_update_requested = False
 *         # Read-only states
 *         self.scroll_max_x = 0.             # <<<<<<<<<<<<<<
 *         self.scroll_max_y = 0.
 * 
 */
  __pyx_v_self->scroll_max_x = 0.;

  /* "dearcygui/core.pyx":11274
 *         # Read-only states
 *         self.scroll_max_x = 0.
 *         self.scroll_max_y = 0.             # <<<<<<<<<<<<<<
 * 
 *         # backup states when we set/unset primary
 */
  __pyx_v_self->scroll_max_y = 0.;

  /* "dearcygui/core.pyx":11281
 *         #self.backup_rect_size = self.state.cur.rect_size
 *         # Type info
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 *         #self.can_have_drawing_child = True
 *         self.can_have_menubar_child = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":11283
 *         self.can_have_widget_child = True
 *         #self.can_have_drawing_child = True
 *         self.can_have_menubar_child = True             # <<<<<<<<<<<<<<
 *         self.can_have_payload_child = True
 *         self.element_child_category = child_type.cat_window
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_menubar_child = 1;

  /* "dearcygui/core.pyx":11284
 *         #self.can_have_drawing_child = True
 *         self.can_have_menubar_child = True
 *         self.can_have_payload_child = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_window
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_payload_child = 1;

  /* "dearcygui/core.pyx":11285
 *         self.can_have_menubar_child = True
 *         self.can_have_payload_child = True
 *         self.element_child_category = child_type.cat_window             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_focused = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_window;

  /* "dearcygui/core.pyx":11286
 *         self.can_have_payload_child = True
 *         self.element_child_category = child_type.cat_window
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.has_content_region = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":11287
 *         self.element_child_category = child_type.cat_window
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_focused = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_content_region = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_focused = 1;

  /* "dearcygui/core.pyx":11288
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_focused = True
 *         self.state.cap.has_content_region = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.state.cap.has_content_region = 1;

  /* "dearcygui/core.pyx":11255
 * 
 * cdef class Window(uiItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.window_flags = imgui.ImGuiWindowFlags_None
 *         self.main_window = False
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11290
 *         self.state.cap.has_content_region = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_title_bar(self):
 *         """Writable attribute to disable the title-bar"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_12no_title_bar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_12no_title_bar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_12no_title_bar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_12no_title_bar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11294
 *         """Writable attribute to disable the title-bar"""
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoTitleBar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11295
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoTitleBar) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_title_bar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoTitleBar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11290
 *         self.state.cap.has_content_region = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_title_bar(self):
 *         """Writable attribute to disable the title-bar"""
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11297
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoTitleBar) else False
 * 
 *     @no_title_bar.setter             # <<<<<<<<<<<<<<
 *     def no_title_bar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_12no_title_bar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_12no_title_bar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11298, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_title_bar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_12no_title_bar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_12no_title_bar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11300
 *     def no_title_bar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoTitleBar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11301
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoTitleBar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoTitleBar));

  /* "dearcygui/core.pyx":11302
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoTitleBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11303
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoTitleBar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoTitleBar);

    /* "dearcygui/core.pyx":11302
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoTitleBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar
 * 
 */
  }

  /* "dearcygui/core.pyx":11297
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoTitleBar) else False
 * 
 *     @no_title_bar.setter             # <<<<<<<<<<<<<<
 *     def no_title_bar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11305
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_resize(self):
 *         """Writable attribute to block resizing"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_9no_resize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_9no_resize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_9no_resize___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_9no_resize___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11309
 *         """Writable attribute to block resizing"""
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoResize) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11310
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoResize) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_resize.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoResize) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11305
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoTitleBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_resize(self):
 *         """Writable attribute to block resizing"""
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11312
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoResize) else False
 * 
 *     @no_resize.setter             # <<<<<<<<<<<<<<
 *     def no_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_9no_resize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_9no_resize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11313, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_resize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_9no_resize_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_9no_resize_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11315
 *     def no_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoResize
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11316
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoResize             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoResize));

  /* "dearcygui/core.pyx":11317
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11318
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoResize
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoResize);

    /* "dearcygui/core.pyx":11317
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize
 * 
 */
  }

  /* "dearcygui/core.pyx":11312
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoResize) else False
 * 
 *     @no_resize.setter             # <<<<<<<<<<<<<<
 *     def no_resize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11320
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_move(self):
 *         """Writable attribute the window to be move with interactions"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7no_move_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7no_move_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7no_move___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_7no_move___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11324
 *         """Writable attribute the window to be move with interactions"""
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMove) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11325
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMove) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_move.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoMove) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11320
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_move(self):
 *         """Writable attribute the window to be move with interactions"""
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11327
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMove) else False
 * 
 *     @no_move.setter             # <<<<<<<<<<<<<<
 *     def no_move(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_7no_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_7no_move_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11328, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_move.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7no_move_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_7no_move_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11330
 *     def no_move(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMove
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11331
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMove             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoMove));

  /* "dearcygui/core.pyx":11332
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMove
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11333
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMove
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoMove);

    /* "dearcygui/core.pyx":11332
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMove
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove
 * 
 */
  }

  /* "dearcygui/core.pyx":11327
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMove) else False
 * 
 *     @no_move.setter             # <<<<<<<<<<<<<<
 *     def no_move(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11335
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self):
 *         """Writable attribute to indicate the window should have no scrollbar
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_12no_scrollbar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_12no_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11341
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11342
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_scrollbar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11335
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMove
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self):
 *         """Writable attribute to indicate the window should have no scrollbar
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11344
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 *     @no_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11345, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_scrollbar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_12no_scrollbar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_12no_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11347
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11348
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoScrollbar));

  /* "dearcygui/core.pyx":11349
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11350
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoScrollbar);

    /* "dearcygui/core.pyx":11349
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":11344
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollbar) else False
 * 
 *     @no_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def no_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11352
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self):
 *         """Writable attribute to indicate the mouse wheel
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11358
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollWithMouse) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11359
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollWithMouse) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_scroll_with_mouse.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoScrollWithMouse) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11352
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self):
 *         """Writable attribute to indicate the mouse wheel
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11361
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollWithMouse) else False
 * 
 *     @no_scroll_with_mouse.setter             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11362, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_scroll_with_mouse.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_20no_scroll_with_mouse_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11364
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11365
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoScrollWithMouse));

  /* "dearcygui/core.pyx":11366
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11367
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoScrollWithMouse);

    /* "dearcygui/core.pyx":11366
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoScrollWithMouse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 */
  }

  /* "dearcygui/core.pyx":11361
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoScrollWithMouse) else False
 * 
 *     @no_scroll_with_mouse.setter             # <<<<<<<<<<<<<<
 *     def no_scroll_with_mouse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11369
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_collapse(self):
 *         """Writable attribute to disable user collapsing window by double-clicking on it
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_11no_collapse_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_11no_collapse_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_11no_collapse___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_11no_collapse___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11374
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoCollapse) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11375
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoCollapse) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_collapse.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoCollapse) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11369
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoScrollWithMouse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_collapse(self):
 *         """Writable attribute to disable user collapsing window by double-clicking on it
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11377
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoCollapse) else False
 * 
 *     @no_collapse.setter             # <<<<<<<<<<<<<<
 *     def no_collapse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_11no_collapse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_11no_collapse_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11378, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_collapse.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_11no_collapse_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_11no_collapse_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11380
 *     def no_collapse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoCollapse
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11381
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoCollapse             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoCollapse));

  /* "dearcygui/core.pyx":11382
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoCollapse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11383
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoCollapse
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoCollapse);

    /* "dearcygui/core.pyx":11382
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoCollapse
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse
 * 
 */
  }

  /* "dearcygui/core.pyx":11377
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoCollapse) else False
 * 
 *     @no_collapse.setter             # <<<<<<<<<<<<<<
 *     def no_collapse(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11385
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autosize(self):
 *         """Writable attribute to tell the window should
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8autosize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8autosize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8autosize___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_8autosize___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11391
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysAutoResize) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11392
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysAutoResize) else False             # <<<<<<<<<<<<<<
 * 
 *     @autosize.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_AlwaysAutoResize) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11385
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoCollapse
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def autosize(self):
 *         """Writable attribute to tell the window should
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11394
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysAutoResize) else False
 * 
 *     @autosize.setter             # <<<<<<<<<<<<<<
 *     def autosize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_8autosize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_8autosize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11395, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.autosize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8autosize_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_8autosize_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11397
 *     def autosize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysAutoResize
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11398
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysAutoResize             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_AlwaysAutoResize));

  /* "dearcygui/core.pyx":11399
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysAutoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11400
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysAutoResize
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_AlwaysAutoResize);

    /* "dearcygui/core.pyx":11399
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysAutoResize
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize
 * 
 */
  }

  /* "dearcygui/core.pyx":11394
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysAutoResize) else False
 * 
 *     @autosize.setter             # <<<<<<<<<<<<<<
 *     def autosize(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11402
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_background(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_13no_background_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_13no_background_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_13no_background___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_13no_background___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11409
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBackground) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11410
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBackground) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_background.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoBackground) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11402
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysAutoResize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_background(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11412
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBackground) else False
 * 
 *     @no_background.setter             # <<<<<<<<<<<<<<
 *     def no_background(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_13no_background_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_13no_background_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11413, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_background.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_13no_background_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_13no_background_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11415
 *     def no_background(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBackground
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11416
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBackground             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoBackground));

  /* "dearcygui/core.pyx":11417
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBackground
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11418
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBackground
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoBackground);

    /* "dearcygui/core.pyx":11417
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBackground
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground
 * 
 */
  }

  /* "dearcygui/core.pyx":11412
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBackground) else False
 * 
 *     @no_background.setter             # <<<<<<<<<<<<<<
 *     def no_background(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11420
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_saved_settings(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_17no_saved_settings___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_17no_saved_settings___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11426
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoSavedSettings) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11427
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoSavedSettings) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_saved_settings.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoSavedSettings) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11420
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBackground
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_saved_settings(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11429
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoSavedSettings) else False
 * 
 *     @no_saved_settings.setter             # <<<<<<<<<<<<<<
 *     def no_saved_settings(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11430, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_saved_settings.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_17no_saved_settings_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_17no_saved_settings_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11432
 *     def no_saved_settings(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoSavedSettings
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11433
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoSavedSettings             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoSavedSettings));

  /* "dearcygui/core.pyx":11434
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoSavedSettings
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11435
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoSavedSettings
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoSavedSettings);

    /* "dearcygui/core.pyx":11434
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoSavedSettings
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings
 * 
 */
  }

  /* "dearcygui/core.pyx":11429
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoSavedSettings) else False
 * 
 *     @no_saved_settings.setter             # <<<<<<<<<<<<<<
 *     def no_saved_settings(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11437
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_mouse_inputs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11445
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMouseInputs) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11446
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMouseInputs) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_mouse_inputs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoMouseInputs) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11437
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoSavedSettings
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_mouse_inputs(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11448
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMouseInputs) else False
 * 
 *     @no_mouse_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_mouse_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11449, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_mouse_inputs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_15no_mouse_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11451
 *     def no_mouse_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMouseInputs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11452
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMouseInputs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoMouseInputs));

  /* "dearcygui/core.pyx":11453
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMouseInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11454
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMouseInputs
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoMouseInputs);

    /* "dearcygui/core.pyx":11453
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoMouseInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs
 * 
 */
  }

  /* "dearcygui/core.pyx":11448
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoMouseInputs) else False
 * 
 *     @no_mouse_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_mouse_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11456
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_keyboard_inputs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11464
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoNav) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11465
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoNav) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_keyboard_inputs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoNav) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11456
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoMouseInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_keyboard_inputs(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11467
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoNav) else False
 * 
 *     @no_keyboard_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_keyboard_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11468, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_keyboard_inputs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_18no_keyboard_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11470
 *     def no_keyboard_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoNav
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11471
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoNav             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoNav));

  /* "dearcygui/core.pyx":11472
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoNav
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11473
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoNav
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoNav);

    /* "dearcygui/core.pyx":11472
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoNav
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav
 * 
 */
  }

  /* "dearcygui/core.pyx":11467
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoNav) else False
 * 
 *     @no_keyboard_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_keyboard_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11475
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menubar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7menubar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7menubar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7menubar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_7menubar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11484
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11485
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0             # <<<<<<<<<<<<<<
 * 
 *     @menubar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_MenuBar) != 0);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11475
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoNav
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menubar(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Window.menubar.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11487
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 *     @menubar.setter             # <<<<<<<<<<<<<<
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_7menubar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_7menubar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11488, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.menubar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7menubar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_7menubar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11490
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11491
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_MenuBar));

  /* "dearcygui/core.pyx":11492
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11493
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_MenuBar);

    /* "dearcygui/core.pyx":11492
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_MenuBar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  }

  /* "dearcygui/core.pyx":11487
 *         return (self.last_menubar_child is not None) or (self.window_flags & imgui.ImGuiWindowFlags_MenuBar) != 0
 * 
 *     @menubar.setter             # <<<<<<<<<<<<<<
 *     def menubar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11495
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11501
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11502
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @horizontal_scrollbar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_HorizontalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11495
 *             self.window_flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11504
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 *     @horizontal_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11505, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.horizontal_scrollbar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_20horizontal_scrollbar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11507
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11508
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_HorizontalScrollbar));

  /* "dearcygui/core.pyx":11509
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11510
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_HorizontalScrollbar);

    /* "dearcygui/core.pyx":11509
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_HorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":11504
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_HorizontalScrollbar) else False
 * 
 *     @horizontal_scrollbar.setter             # <<<<<<<<<<<<<<
 *     def horizontal_scrollbar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11512
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_focus_on_appearing(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11520
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoFocusOnAppearing) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11521
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoFocusOnAppearing) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_focus_on_appearing.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoFocusOnAppearing) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11512
 *             self.window_flags |= imgui.ImGuiWindowFlags_HorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_focus_on_appearing(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11523
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoFocusOnAppearing) else False
 * 
 *     @no_focus_on_appearing.setter             # <<<<<<<<<<<<<<
 *     def no_focus_on_appearing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11524, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_focus_on_appearing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_21no_focus_on_appearing_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11526
 *     def no_focus_on_appearing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoFocusOnAppearing
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11527
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoFocusOnAppearing             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoFocusOnAppearing));

  /* "dearcygui/core.pyx":11528
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoFocusOnAppearing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11529
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoFocusOnAppearing
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoFocusOnAppearing);

    /* "dearcygui/core.pyx":11528
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoFocusOnAppearing
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing
 * 
 */
  }

  /* "dearcygui/core.pyx":11523
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoFocusOnAppearing) else False
 * 
 *     @no_focus_on_appearing.setter             # <<<<<<<<<<<<<<
 *     def no_focus_on_appearing(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11531
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_bring_to_front_on_focus(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11538
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBringToFrontOnFocus) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11539
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBringToFrontOnFocus) else False             # <<<<<<<<<<<<<<
 * 
 *     @no_bring_to_front_on_focus.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoBringToFrontOnFocus) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11531
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoFocusOnAppearing
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_bring_to_front_on_focus(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11541
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBringToFrontOnFocus) else False
 * 
 *     @no_bring_to_front_on_focus.setter             # <<<<<<<<<<<<<<
 *     def no_bring_to_front_on_focus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11542, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_bring_to_front_on_focus.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11544
 *     def no_bring_to_front_on_focus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11545
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBringToFrontOnFocus             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoBringToFrontOnFocus));

  /* "dearcygui/core.pyx":11546
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11547
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoBringToFrontOnFocus);

    /* "dearcygui/core.pyx":11546
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 * 
 */
  }

  /* "dearcygui/core.pyx":11541
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoBringToFrontOnFocus) else False
 * 
 *     @no_bring_to_front_on_focus.setter             # <<<<<<<<<<<<<<
 *     def no_bring_to_front_on_focus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11549
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11556
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11557
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @always_show_vertical_scrollvar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_AlwaysVerticalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11549
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoBringToFrontOnFocus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11559
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 *     @always_show_vertical_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11560, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.always_show_vertical_scrollvar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11562
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11563
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_AlwaysVerticalScrollbar));

  /* "dearcygui/core.pyx":11564
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11565
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_AlwaysVerticalScrollbar);

    /* "dearcygui/core.pyx":11564
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":11559
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar) else False
 * 
 *     @always_show_vertical_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_vertical_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11567
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11575
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11576
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False             # <<<<<<<<<<<<<<
 * 
 *     @always_show_horizontal_scrollvar.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_AlwaysHorizontalScrollbar) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11567
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11578
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 *     @always_show_horizontal_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11579, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.always_show_horizontal_scrollvar.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11581
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11582
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_AlwaysHorizontalScrollbar));

  /* "dearcygui/core.pyx":11583
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11584
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_AlwaysHorizontalScrollbar);

    /* "dearcygui/core.pyx":11583
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 */
  }

  /* "dearcygui/core.pyx":11578
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar) else False
 * 
 *     @always_show_horizontal_scrollvar.setter             # <<<<<<<<<<<<<<
 *     def always_show_horizontal_scrollvar(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11586
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def unsaved_document(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16unsaved_document_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16unsaved_document_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16unsaved_document___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_16unsaved_document___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11593
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_UnsavedDocument) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11594
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_UnsavedDocument) else False             # <<<<<<<<<<<<<<
 * 
 *     @unsaved_document.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_UnsavedDocument) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11586
 *             self.window_flags |= imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def unsaved_document(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11596
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_UnsavedDocument) else False
 * 
 *     @unsaved_document.setter             # <<<<<<<<<<<<<<
 *     def unsaved_document(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_16unsaved_document_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_16unsaved_document_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11597, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.unsaved_document.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16unsaved_document_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_16unsaved_document_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11599
 *     def unsaved_document(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_UnsavedDocument
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11600
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_UnsavedDocument             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_UnsavedDocument));

  /* "dearcygui/core.pyx":11601
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_UnsavedDocument
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11602
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_UnsavedDocument
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_UnsavedDocument);

    /* "dearcygui/core.pyx":11601
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_UnsavedDocument
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument
 * 
 */
  }

  /* "dearcygui/core.pyx":11596
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_UnsavedDocument) else False
 * 
 *     @unsaved_document.setter             # <<<<<<<<<<<<<<
 *     def unsaved_document(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11604
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disallow_docking(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16disallow_docking_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16disallow_docking_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16disallow_docking___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_16disallow_docking___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11610
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoDocking) else False
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11611
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoDocking) else False             # <<<<<<<<<<<<<<
 * 
 *     @disallow_docking.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((__pyx_v_self->window_flags & ImGuiWindowFlags_NoDocking) != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(Py_False);
    __pyx_t_1 = Py_False;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11604
 *             self.window_flags |= imgui.ImGuiWindowFlags_UnsavedDocument
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def disallow_docking(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11613
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoDocking) else False
 * 
 *     @disallow_docking.setter             # <<<<<<<<<<<<<<
 *     def disallow_docking(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_16disallow_docking_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_16disallow_docking_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11614, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.disallow_docking.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16disallow_docking_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_16disallow_docking_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11616
 *     def disallow_docking(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoDocking
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11617
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoDocking             # <<<<<<<<<<<<<<
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking
 */
  __pyx_v_self->window_flags = (__pyx_v_self->window_flags & (~ImGuiWindowFlags_NoDocking));

  /* "dearcygui/core.pyx":11618
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoDocking
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11619
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoDocking
 *         if value:
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->window_flags = (__pyx_v_self->window_flags | ImGuiWindowFlags_NoDocking);

    /* "dearcygui/core.pyx":11618
 *         lock_gil_friendly(m, self.mutex)
 *         self.window_flags &= ~imgui.ImGuiWindowFlags_NoDocking
 *         if value:             # <<<<<<<<<<<<<<
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking
 * 
 */
  }

  /* "dearcygui/core.pyx":11613
 *         return True if (self.window_flags & imgui.ImGuiWindowFlags_NoDocking) else False
 * 
 *     @disallow_docking.setter             # <<<<<<<<<<<<<<
 *     def disallow_docking(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11621
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_open_over_existing_popup(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11628
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.no_open_over_existing_popup
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11629
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.no_open_over_existing_popup             # <<<<<<<<<<<<<<
 * 
 *     @no_open_over_existing_popup.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->no_open_over_existing_popup); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11621
 *             self.window_flags |= imgui.ImGuiWindowFlags_NoDocking
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_open_over_existing_popup(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.no_open_over_existing_popup.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11631
 *         return self.no_open_over_existing_popup
 * 
 *     @no_open_over_existing_popup.setter             # <<<<<<<<<<<<<<
 *     def no_open_over_existing_popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11632, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.no_open_over_existing_popup.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_27no_open_over_existing_popup_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11634
 *     def no_open_over_existing_popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.no_open_over_existing_popup = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11635
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.no_open_over_existing_popup = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->no_open_over_existing_popup = __pyx_v_value;

  /* "dearcygui/core.pyx":11631
 *         return self.no_open_over_existing_popup
 * 
 *     @no_open_over_existing_popup.setter             # <<<<<<<<<<<<<<
 *     def no_open_over_existing_popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11637
 *         self.no_open_over_existing_popup = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def modal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5modal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5modal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_5modal___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_5modal___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11646
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.modal
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11647
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.modal             # <<<<<<<<<<<<<<
 * 
 *     @modal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->modal); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11637
 *         self.no_open_over_existing_popup = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def modal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.modal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11649
 *         return self.modal
 * 
 *     @modal.setter             # <<<<<<<<<<<<<<
 *     def modal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_5modal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_5modal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11650, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.modal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_5modal_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_5modal_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11652
 *     def modal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.modal = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11653
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.modal = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->modal = __pyx_v_value;

  /* "dearcygui/core.pyx":11649
 *         return self.modal
 * 
 *     @modal.setter             # <<<<<<<<<<<<<<
 *     def modal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11655
 *         self.modal = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def popup(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5popup_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5popup_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_5popup___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_5popup___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11664
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.popup
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11665
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.popup             # <<<<<<<<<<<<<<
 * 
 *     @popup.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->popup); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11655
 *         self.modal = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def popup(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.popup.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11667
 *         return self.popup
 * 
 *     @popup.setter             # <<<<<<<<<<<<<<
 *     def popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_5popup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_5popup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11668, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.popup.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_5popup_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_5popup_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11670
 *     def popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.popup = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11671
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.popup = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->popup = __pyx_v_value;

  /* "dearcygui/core.pyx":11667
 *         return self.popup
 * 
 *     @popup.setter             # <<<<<<<<<<<<<<
 *     def popup(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11673
 *         self.popup = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def has_close_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16has_close_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_16has_close_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16has_close_button___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_16has_close_button___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11680
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.has_close_button and not(self.popup)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11681
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.has_close_button and not(self.popup)             # <<<<<<<<<<<<<<
 * 
 *     @has_close_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_self->has_close_button) {
  } else {
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->has_close_button); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_self->popup);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11673
 *         self.popup = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def has_close_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Window.has_close_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11683
 *         return self.has_close_button and not(self.popup)
 * 
 *     @has_close_button.setter             # <<<<<<<<<<<<<<
 *     def has_close_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_16has_close_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_16has_close_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11684, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.has_close_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_16has_close_button_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_16has_close_button_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11686
 *     def has_close_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.has_close_button = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11687
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.has_close_button = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->has_close_button = __pyx_v_value;

  /* "dearcygui/core.pyx":11683
 *         return self.has_close_button and not(self.popup)
 * 
 *     @has_close_button.setter             # <<<<<<<<<<<<<<
 *     def has_close_button(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11689
 *         self.has_close_button = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def collapsed(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_9collapsed_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_9collapsed_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_9collapsed___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_9collapsed___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11695
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return not(self.state.cur.open)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11696
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return not(self.state.cur.open)             # <<<<<<<<<<<<<<
 * 
 *     @collapsed.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_v_self->__pyx_base.state.cur.open)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11689
 *         self.has_close_button = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def collapsed(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.collapsed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11698
 *         return not(self.state.cur.open)
 * 
 *     @collapsed.setter             # <<<<<<<<<<<<<<
 *     def collapsed(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_9collapsed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_9collapsed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11699, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.collapsed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_9collapsed_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_9collapsed_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":11701
 *     def collapsed(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.state.cur.open = not(value)
 *         self.collapse_update_requested = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11702
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.state.cur.open = not(value)             # <<<<<<<<<<<<<<
 *         self.collapse_update_requested = True
 * 
 */
  __pyx_v_self->__pyx_base.state.cur.open = (!__pyx_v_value);

  /* "dearcygui/core.pyx":11703
 *         lock_gil_friendly(m, self.mutex)
 *         self.state.cur.open = not(value)
 *         self.collapse_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->collapse_update_requested = 1;

  /* "dearcygui/core.pyx":11698
 *         return not(self.state.cur.open)
 * 
 *     @collapsed.setter             # <<<<<<<<<<<<<<
 *     def collapsed(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":11705
 *         self.collapse_update_requested = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_close(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8on_close_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8on_close_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8on_close___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_8on_close___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11713
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.on_close_callback
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11714
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.on_close_callback             # <<<<<<<<<<<<<<
 * 
 *     @on_close.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->on_close_callback);
  __pyx_r = ((PyObject *)__pyx_v_self->on_close_callback);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11705
 *         self.collapse_update_requested = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def on_close(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11716
 *         return self.on_close_callback
 * 
 *     @on_close.setter             # <<<<<<<<<<<<<<
 *     def on_close(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_8on_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_8on_close_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8on_close_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_8on_close_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":11719
 *     def on_close(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.on_close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11720
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.on_close_callback = value if isinstance(value, Callback) or value is None else Callback(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_value == Py_None);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L3_bool_binop_done:;
  if (__pyx_t_2) {
    if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_9dearcygui_4core_Callback))))) __PYX_ERR(1, 11720, __pyx_L1_error)
    __Pyx_INCREF(__pyx_v_value);
    __pyx_t_1 = __pyx_v_value;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Callback), __pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->on_close_callback);
  __Pyx_DECREF((PyObject *)__pyx_v_self->on_close_callback);
  __pyx_v_self->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":11716
 *         return self.on_close_callback
 * 
 *     @on_close.setter             # <<<<<<<<<<<<<<
 *     def on_close(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.Window.on_close.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11722
 *         self.on_close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def primary(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7primary_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_7primary_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7primary___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_7primary___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11737
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.main_window
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11738
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.main_window             # <<<<<<<<<<<<<<
 * 
 *     @primary.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->main_window); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11722
 *         self.on_close_callback = value if isinstance(value, Callback) or value is None else Callback(value)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def primary(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.primary.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11740
 *         return self.main_window
 * 
 *     @primary.setter             # <<<<<<<<<<<<<<
 *     def primary(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_7primary_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_7primary_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11741, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.primary.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_7primary_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_7primary_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m3;
  struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_w = 0;
  struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_next = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  ImGuiWindowFlags __pyx_t_3;
  ImVec2 __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":11746
 *         cdef unique_lock[recursive_mutex] m3
 *         # If window has a parent, it is the viewport
 *         lock_gil_friendly(m, self.context._viewport.mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->__pyx_base.mutex);

  /* "dearcygui/core.pyx":11747
 *         # If window has a parent, it is the viewport
 *         lock_gil_friendly(m, self.context._viewport.mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         if self._parent is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11749
 *         lock_gil_friendly(m2, self.mutex)
 * 
 *         if self._parent is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Window must be attached before becoming primary")
 *         if self.main_window == value:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._parent) == Py_None);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":11750
 * 
 *         if self._parent is None:
 *             raise ValueError("Window must be attached before becoming primary")             # <<<<<<<<<<<<<<
 *         if self.main_window == value:
 *             return # Nothing to do
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 11750, __pyx_L1_error)

    /* "dearcygui/core.pyx":11749
 *         lock_gil_friendly(m2, self.mutex)
 * 
 *         if self._parent is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Window must be attached before becoming primary")
 *         if self.main_window == value:
 */
  }

  /* "dearcygui/core.pyx":11751
 *         if self._parent is None:
 *             raise ValueError("Window must be attached before becoming primary")
 *         if self.main_window == value:             # <<<<<<<<<<<<<<
 *             return # Nothing to do
 *         self.main_window = value
 */
  __pyx_t_1 = (__pyx_v_self->main_window == __pyx_v_value);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11752
 *             raise ValueError("Window must be attached before becoming primary")
 *         if self.main_window == value:
 *             return # Nothing to do             # <<<<<<<<<<<<<<
 *         self.main_window = value
 *         if value:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":11751
 *         if self._parent is None:
 *             raise ValueError("Window must be attached before becoming primary")
 *         if self.main_window == value:             # <<<<<<<<<<<<<<
 *             return # Nothing to do
 *         self.main_window = value
 */
  }

  /* "dearcygui/core.pyx":11753
 *         if self.main_window == value:
 *             return # Nothing to do
 *         self.main_window = value             # <<<<<<<<<<<<<<
 *         if value:
 *             # backup previous state
 */
  __pyx_v_self->main_window = __pyx_v_value;

  /* "dearcygui/core.pyx":11754
 *             return # Nothing to do
 *         self.main_window = value
 *         if value:             # <<<<<<<<<<<<<<
 *             # backup previous state
 *             self.backup_window_flags = self.window_flags
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":11756
 *         if value:
 *             # backup previous state
 *             self.backup_window_flags = self.window_flags             # <<<<<<<<<<<<<<
 *             self.backup_pos = self.state.cur.pos_to_viewport
 *             self.backup_rect_size = self.state.cur.rect_size
 */
    __pyx_t_3 = __pyx_v_self->window_flags;
    __pyx_v_self->backup_window_flags = __pyx_t_3;

    /* "dearcygui/core.pyx":11757
 *             # backup previous state
 *             self.backup_window_flags = self.window_flags
 *             self.backup_pos = self.state.cur.pos_to_viewport             # <<<<<<<<<<<<<<
 *             self.backup_rect_size = self.state.cur.rect_size
 *             # Make primary
 */
    __pyx_t_4 = __pyx_v_self->__pyx_base.state.cur.pos_to_viewport;
    __pyx_v_self->backup_pos = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

    /* "dearcygui/core.pyx":11758
 *             self.backup_window_flags = self.window_flags
 *             self.backup_pos = self.state.cur.pos_to_viewport
 *             self.backup_rect_size = self.state.cur.rect_size             # <<<<<<<<<<<<<<
 *             # Make primary
 *             self.window_flags = \
 */
    __pyx_t_4 = __pyx_v_self->__pyx_base.state.cur.rect_size;
    __pyx_v_self->backup_rect_size = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

    /* "dearcygui/core.pyx":11760
 *             self.backup_rect_size = self.state.cur.rect_size
 *             # Make primary
 *             self.window_flags = \             # <<<<<<<<<<<<<<
 *                 imgui.ImGuiWindowFlags_NoBringToFrontOnFocus | \
 *                 imgui.ImGuiWindowFlags_NoSavedSettings | \
 */
    __pyx_v_self->window_flags = ((((ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoSavedSettings) | ImGuiWindowFlags_NoResize) | ImGuiWindowFlags_NoCollapse) | ImGuiWindowFlags_NoTitleBar);

    /* "dearcygui/core.pyx":11766
 *                 imgui.ImGuiWindowFlags_NoCollapse | \
 *                 imgui.ImGuiWindowFlags_NoTitleBar
 *             self.state.cur.pos_to_viewport.x = 0             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport.y = 0
 *             self.requested_size.x = 0
 */
    __pyx_v_self->__pyx_base.state.cur.pos_to_viewport.x = 0.0;

    /* "dearcygui/core.pyx":11767
 *                 imgui.ImGuiWindowFlags_NoTitleBar
 *             self.state.cur.pos_to_viewport.x = 0
 *             self.state.cur.pos_to_viewport.y = 0             # <<<<<<<<<<<<<<
 *             self.requested_size.x = 0
 *             self.requested_size.y = 0
 */
    __pyx_v_self->__pyx_base.state.cur.pos_to_viewport.y = 0.0;

    /* "dearcygui/core.pyx":11768
 *             self.state.cur.pos_to_viewport.x = 0
 *             self.state.cur.pos_to_viewport.y = 0
 *             self.requested_size.x = 0             # <<<<<<<<<<<<<<
 *             self.requested_size.y = 0
 *             self.pos_update_requested = True
 */
    __pyx_v_self->__pyx_base.requested_size.x = 0.0;

    /* "dearcygui/core.pyx":11769
 *             self.state.cur.pos_to_viewport.y = 0
 *             self.requested_size.x = 0
 *             self.requested_size.y = 0             # <<<<<<<<<<<<<<
 *             self.pos_update_requested = True
 *             self.size_update_requested = True
 */
    __pyx_v_self->__pyx_base.requested_size.y = 0.0;

    /* "dearcygui/core.pyx":11770
 *             self.requested_size.x = 0
 *             self.requested_size.y = 0
 *             self.pos_update_requested = True             # <<<<<<<<<<<<<<
 *             self.size_update_requested = True
 *         else:
 */
    __pyx_v_self->__pyx_base.pos_update_requested = 1;

    /* "dearcygui/core.pyx":11771
 *             self.requested_size.y = 0
 *             self.pos_update_requested = True
 *             self.size_update_requested = True             # <<<<<<<<<<<<<<
 *         else:
 *             # Restore previous state
 */
    __pyx_v_self->__pyx_base.size_update_requested = 1;

    /* "dearcygui/core.pyx":11754
 *             return # Nothing to do
 *         self.main_window = value
 *         if value:             # <<<<<<<<<<<<<<
 *             # backup previous state
 *             self.backup_window_flags = self.window_flags
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":11774
 *         else:
 *             # Restore previous state
 *             self.window_flags = self.backup_window_flags             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport = self.backup_pos
 *             self.requested_size = self.backup_rect_size
 */
  /*else*/ {
    __pyx_t_3 = __pyx_v_self->backup_window_flags;
    __pyx_v_self->window_flags = __pyx_t_3;

    /* "dearcygui/core.pyx":11775
 *             # Restore previous state
 *             self.window_flags = self.backup_window_flags
 *             self.state.cur.pos_to_viewport = self.backup_pos             # <<<<<<<<<<<<<<
 *             self.requested_size = self.backup_rect_size
 *             # Tell imgui to update the window shape
 */
    __pyx_t_4 = __pyx_v_self->backup_pos;
    __pyx_v_self->__pyx_base.state.cur.pos_to_viewport = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

    /* "dearcygui/core.pyx":11776
 *             self.window_flags = self.backup_window_flags
 *             self.state.cur.pos_to_viewport = self.backup_pos
 *             self.requested_size = self.backup_rect_size             # <<<<<<<<<<<<<<
 *             # Tell imgui to update the window shape
 *             self.pos_update_requested = True
 */
    __pyx_t_4 = __pyx_v_self->backup_rect_size;
    __pyx_v_self->__pyx_base.requested_size = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_4);

    /* "dearcygui/core.pyx":11778
 *             self.requested_size = self.backup_rect_size
 *             # Tell imgui to update the window shape
 *             self.pos_update_requested = True             # <<<<<<<<<<<<<<
 *             self.size_update_requested = True
 * 
 */
    __pyx_v_self->__pyx_base.pos_update_requested = 1;

    /* "dearcygui/core.pyx":11779
 *             # Tell imgui to update the window shape
 *             self.pos_update_requested = True
 *             self.size_update_requested = True             # <<<<<<<<<<<<<<
 * 
 *         # Re-tell imgui the window hierarchy
 */
    __pyx_v_self->__pyx_base.size_update_requested = 1;
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":11782
 * 
 *         # Re-tell imgui the window hierarchy
 *         cdef Window w = self.context._viewport.last_window_child             # <<<<<<<<<<<<<<
 *         cdef Window next = None
 *         while w is not None:
 */
  __pyx_t_2 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->__pyx_base.last_window_child);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_w = ((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":11783
 *         # Re-tell imgui the window hierarchy
 *         cdef Window w = self.context._viewport.last_window_child
 *         cdef Window next = None             # <<<<<<<<<<<<<<
 *         while w is not None:
 *             lock_gil_friendly(m3, w.mutex)
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_next = ((struct __pyx_obj_9dearcygui_4core_Window *)Py_None);

  /* "dearcygui/core.pyx":11784
 *         cdef Window w = self.context._viewport.last_window_child
 *         cdef Window next = None
 *         while w is not None:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(m3, w.mutex)
 *             w.state.cur.focused = True
 */
  while (1) {
    __pyx_t_1 = (((PyObject *)__pyx_v_w) != Py_None);
    if (!__pyx_t_1) break;

    /* "dearcygui/core.pyx":11785
 *         cdef Window next = None
 *         while w is not None:
 *             lock_gil_friendly(m3, w.mutex)             # <<<<<<<<<<<<<<
 *             w.state.cur.focused = True
 *             w.focus_update_requested = True
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m3, __pyx_v_w->__pyx_base.__pyx_base.mutex);

    /* "dearcygui/core.pyx":11786
 *         while w is not None:
 *             lock_gil_friendly(m3, w.mutex)
 *             w.state.cur.focused = True             # <<<<<<<<<<<<<<
 *             w.focus_update_requested = True
 *             next = w._prev_sibling
 */
    __pyx_v_w->__pyx_base.state.cur.focused = 1;

    /* "dearcygui/core.pyx":11787
 *             lock_gil_friendly(m3, w.mutex)
 *             w.state.cur.focused = True
 *             w.focus_update_requested = True             # <<<<<<<<<<<<<<
 *             next = w._prev_sibling
 *             # TODO: previous code did restore previous states on each window. Figure out why
 */
    __pyx_v_w->__pyx_base.focus_update_requested = 1;

    /* "dearcygui/core.pyx":11788
 *             w.state.cur.focused = True
 *             w.focus_update_requested = True
 *             next = w._prev_sibling             # <<<<<<<<<<<<<<
 *             # TODO: previous code did restore previous states on each window. Figure out why
 *             w = next
 */
    if (!(likely(((((PyObject *)__pyx_v_w->__pyx_base.__pyx_base._prev_sibling)) == Py_None) || likely(__Pyx_TypeTest(((PyObject *)__pyx_v_w->__pyx_base.__pyx_base._prev_sibling), __pyx_ptype_9dearcygui_4core_Window))))) __PYX_ERR(1, 11788, __pyx_L1_error)
    __pyx_t_2 = ((PyObject *)__pyx_v_w->__pyx_base.__pyx_base._prev_sibling);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_next, ((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":11790
 *             next = w._prev_sibling
 *             # TODO: previous code did restore previous states on each window. Figure out why
 *             w = next             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __Pyx_INCREF((PyObject *)__pyx_v_next);
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_v_next);
  }

  /* "dearcygui/core.pyx":11740
 *         return self.main_window
 * 
 *     @primary.setter             # <<<<<<<<<<<<<<
 *     def primary(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Window.primary.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_w);
  __Pyx_XDECREF((PyObject *)__pyx_v_next);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11792
 *             w = next
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8min_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8min_size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8min_size___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_8min_size___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11798
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.min_size)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11799
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.min_size)             # <<<<<<<<<<<<<<
 * 
 *     @min_size.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->min_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11792
 *             w = next
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min_size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.min_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11801
 *         return IntPairFromVec2(self.min_size)
 * 
 *     @min_size.setter             # <<<<<<<<<<<<<<
 *     def min_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_8min_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_8min_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8min_size_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_8min_size_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  long __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":11804
 *     def min_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.min_size.x = max(1, value[0])
 *         self.min_size.y = max(1, value[1])
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11805
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.min_size.x = max(1, value[0])             # <<<<<<<<<<<<<<
 *         self.min_size.y = max(1, value[1])
 * 
 */
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = 1;
  __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 11805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 11805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_self->min_size.x = __pyx_t_7;

  /* "dearcygui/core.pyx":11806
 *         lock_gil_friendly(m, self.mutex)
 *         self.min_size.x = max(1, value[0])
 *         self.min_size.y = max(1, value[1])             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_value, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = 1;
  __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 11806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
  } else {
    __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 11806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->min_size.y = __pyx_t_7;

  /* "dearcygui/core.pyx":11801
 *         return IntPairFromVec2(self.min_size)
 * 
 *     @min_size.setter             # <<<<<<<<<<<<<<
 *     def min_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Window.min_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11808
 *         self.min_size.y = max(1, value[1])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_size(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8max_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_6Window_8max_size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8max_size___get__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_8max_size___get__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":11814
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self.max_size)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11815
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self.max_size)             # <<<<<<<<<<<<<<
 * 
 *     @max_size.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->max_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":11808
 *         self.min_size.y = max(1, value[1])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max_size(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Window.max_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11817
 *         return IntPairFromVec2(self.max_size)
 * 
 *     @max_size.setter             # <<<<<<<<<<<<<<
 *     def max_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_6Window_8max_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_6Window_8max_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_8max_size_2__set__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_6Window_8max_size_2__set__(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  long __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  float __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":11820
 *     def max_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.max_size.x = max(1, value[0])
 *         self.max_size.y = max(1, value[1])
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11821
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.max_size.x = max(1, value[0])             # <<<<<<<<<<<<<<
 *         self.max_size.y = max(1, value[1])
 * 
 */
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = 1;
  __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 11821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __pyx_t_5;
    __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 11821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_self->max_size.x = __pyx_t_7;

  /* "dearcygui/core.pyx":11822
 *         lock_gil_friendly(m, self.mutex)
 *         self.max_size.x = max(1, value[0])
 *         self.max_size.y = max(1, value[1])             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_value, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = 1;
  __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 11822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
  } else {
    __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_7 == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 11822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->max_size.y = __pyx_t_7;

  /* "dearcygui/core.pyx":11817
 *         return IntPairFromVec2(self.max_size)
 * 
 *     @max_size.setter             # <<<<<<<<<<<<<<
 *     def max_size(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.Window.max_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":11824
 *         self.max_size.y = max(1, value[1])
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_6Window_draw(struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_scroll_requested;
  int __pyx_v_visible;
  ImGuiWindowFlags __pyx_v_flags;
  ImVec2 __pyx_v_rect_size;
  int __pyx_v_closed;
  int __pyx_t_1;
  float __pyx_t_2;
  int __pyx_t_3;
  enum ImGuiPopupFlags_ __pyx_t_4;
  ImGuiWindowFlags __pyx_t_5;
  bool *__pyx_t_6;
  ImVec2 __pyx_t_7;
  int __pyx_t_8;

  /* "dearcygui/core.pyx":11825
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":11826
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11827
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 *             (<uiItem>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 * 
 *         if not(self._show):
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":11826
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<uiItem>self._prev_sibling).draw()
 * 
 */
  }

  /* "dearcygui/core.pyx":11829
 *             (<uiItem>self._prev_sibling).draw()
 * 
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 */
  __pyx_t_1 = (!(__pyx_v_self->__pyx_base._show != 0));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11830
 * 
 *         if not(self._show):
 *             if self.show_update_requested:             # <<<<<<<<<<<<<<
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    if (__pyx_v_self->__pyx_base.show_update_requested) {

      /* "dearcygui/core.pyx":11831
 *         if not(self._show):
 *             if self.show_update_requested:
 *                 self.set_previous_states()             # <<<<<<<<<<<<<<
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":11832
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *                 self.run_handlers()
 *                 self.show_update_requested = False
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":11833
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()             # <<<<<<<<<<<<<<
 *                 self.show_update_requested = False
 *             return
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

      /* "dearcygui/core.pyx":11834
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *                 self.run_handlers()
 *                 self.show_update_requested = False             # <<<<<<<<<<<<<<
 *             return
 * 
 */
      __pyx_v_self->__pyx_base.show_update_requested = 0;

      /* "dearcygui/core.pyx":11830
 * 
 *         if not(self._show):
 *             if self.show_update_requested:             # <<<<<<<<<<<<<<
 *                 self.set_previous_states()
 *                 self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    }

    /* "dearcygui/core.pyx":11835
 *                 self.run_handlers()
 *                 self.show_update_requested = False
 *             return             # <<<<<<<<<<<<<<
 * 
 *         self.set_previous_states()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":11829
 *             (<uiItem>self._prev_sibling).draw()
 * 
 *         if not(self._show):             # <<<<<<<<<<<<<<
 *             if self.show_update_requested:
 *                 self.set_previous_states()
 */
  }

  /* "dearcygui/core.pyx":11837
 *             return
 * 
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 * 
 *         if self.focus_update_requested:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":11839
 *         self.set_previous_states()
 * 
 *         if self.focus_update_requested:             # <<<<<<<<<<<<<<
 *             if self.state.cur.focused:
 *                 imgui.SetNextWindowFocus()
 */
  if (__pyx_v_self->__pyx_base.focus_update_requested) {

    /* "dearcygui/core.pyx":11840
 * 
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:             # <<<<<<<<<<<<<<
 *                 imgui.SetNextWindowFocus()
 *             self.focus_update_requested = False
 */
    if (__pyx_v_self->__pyx_base.state.cur.focused) {

      /* "dearcygui/core.pyx":11841
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:
 *                 imgui.SetNextWindowFocus()             # <<<<<<<<<<<<<<
 *             self.focus_update_requested = False
 * 
 */
      ImGui::SetNextWindowFocus();

      /* "dearcygui/core.pyx":11840
 * 
 *         if self.focus_update_requested:
 *             if self.state.cur.focused:             # <<<<<<<<<<<<<<
 *                 imgui.SetNextWindowFocus()
 *             self.focus_update_requested = False
 */
    }

    /* "dearcygui/core.pyx":11842
 *             if self.state.cur.focused:
 *                 imgui.SetNextWindowFocus()
 *             self.focus_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         if self.pos_update_requested:
 */
    __pyx_v_self->__pyx_base.focus_update_requested = 0;

    /* "dearcygui/core.pyx":11839
 *         self.set_previous_states()
 * 
 *         if self.focus_update_requested:             # <<<<<<<<<<<<<<
 *             if self.state.cur.focused:
 *                 imgui.SetNextWindowFocus()
 */
  }

  /* "dearcygui/core.pyx":11844
 *             self.focus_update_requested = False
 * 
 *         if self.pos_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowPos(self.state.cur.pos_to_viewport, <imgui.ImGuiCond>0)
 *             self.pos_update_requested = False
 */
  if (__pyx_v_self->__pyx_base.pos_update_requested) {

    /* "dearcygui/core.pyx":11845
 * 
 *         if self.pos_update_requested:
 *             imgui.SetNextWindowPos(self.state.cur.pos_to_viewport, <imgui.ImGuiCond>0)             # <<<<<<<<<<<<<<
 *             self.pos_update_requested = False
 * 
 */
    ImGui::SetNextWindowPos(__pyx_v_self->__pyx_base.state.cur.pos_to_viewport, ((ImGuiCond)0));

    /* "dearcygui/core.pyx":11846
 *         if self.pos_update_requested:
 *             imgui.SetNextWindowPos(self.state.cur.pos_to_viewport, <imgui.ImGuiCond>0)
 *             self.pos_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         if self.size_update_requested:
 */
    __pyx_v_self->__pyx_base.pos_update_requested = 0;

    /* "dearcygui/core.pyx":11844
 *             self.focus_update_requested = False
 * 
 *         if self.pos_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowPos(self.state.cur.pos_to_viewport, <imgui.ImGuiCond>0)
 *             self.pos_update_requested = False
 */
  }

  /* "dearcygui/core.pyx":11848
 *             self.pos_update_requested = False
 * 
 *         if self.size_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowSize(self.requested_size,
 *                                     <imgui.ImGuiCond>0)
 */
  if (__pyx_v_self->__pyx_base.size_update_requested) {

    /* "dearcygui/core.pyx":11849
 * 
 *         if self.size_update_requested:
 *             imgui.SetNextWindowSize(self.requested_size,             # <<<<<<<<<<<<<<
 *                                     <imgui.ImGuiCond>0)
 *             self.size_update_requested = False
 */
    ImGui::SetNextWindowSize(__pyx_v_self->__pyx_base.requested_size, ((ImGuiCond)0));

    /* "dearcygui/core.pyx":11851
 *             imgui.SetNextWindowSize(self.requested_size,
 *                                     <imgui.ImGuiCond>0)
 *             self.size_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         if self.collapse_update_requested:
 */
    __pyx_v_self->__pyx_base.size_update_requested = 0;

    /* "dearcygui/core.pyx":11848
 *             self.pos_update_requested = False
 * 
 *         if self.size_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowSize(self.requested_size,
 *                                     <imgui.ImGuiCond>0)
 */
  }

  /* "dearcygui/core.pyx":11853
 *             self.size_update_requested = False
 * 
 *         if self.collapse_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowCollapsed(not(self.state.cur.open), <imgui.ImGuiCond>0)
 *             self.collapse_update_requested = False
 */
  if (__pyx_v_self->collapse_update_requested) {

    /* "dearcygui/core.pyx":11854
 * 
 *         if self.collapse_update_requested:
 *             imgui.SetNextWindowCollapsed(not(self.state.cur.open), <imgui.ImGuiCond>0)             # <<<<<<<<<<<<<<
 *             self.collapse_update_requested = False
 * 
 */
    ImGui::SetNextWindowCollapsed((!__pyx_v_self->__pyx_base.state.cur.open), ((ImGuiCond)0));

    /* "dearcygui/core.pyx":11855
 *         if self.collapse_update_requested:
 *             imgui.SetNextWindowCollapsed(not(self.state.cur.open), <imgui.ImGuiCond>0)
 *             self.collapse_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         imgui.SetNextWindowSizeConstraints(self.min_size, self.max_size)
 */
    __pyx_v_self->collapse_update_requested = 0;

    /* "dearcygui/core.pyx":11853
 *             self.size_update_requested = False
 * 
 *         if self.collapse_update_requested:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowCollapsed(not(self.state.cur.open), <imgui.ImGuiCond>0)
 *             self.collapse_update_requested = False
 */
  }

  /* "dearcygui/core.pyx":11857
 *             self.collapse_update_requested = False
 * 
 *         imgui.SetNextWindowSizeConstraints(self.min_size, self.max_size)             # <<<<<<<<<<<<<<
 * 
 *         cdef imgui.ImVec2 scroll_requested
 */
  ImGui::SetNextWindowSizeConstraints(__pyx_v_self->min_size, __pyx_v_self->max_size);

  /* "dearcygui/core.pyx":11860
 * 
 *         cdef imgui.ImVec2 scroll_requested
 *         if self.scroll_x_update_requested or self.scroll_y_update_requested:             # <<<<<<<<<<<<<<
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:
 */
  if (!__pyx_v_self->scroll_x_update_requested) {
  } else {
    __pyx_t_1 = __pyx_v_self->scroll_x_update_requested;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->scroll_y_update_requested;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11861
 *         cdef imgui.ImVec2 scroll_requested
 *         if self.scroll_x_update_requested or self.scroll_y_update_requested:
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect             # <<<<<<<<<<<<<<
 *             if self.scroll_x_update_requested:
 *                 if self.scroll_x < 0.:
 */
    __pyx_v_scroll_requested = ImVec2(-1., -1.);

    /* "dearcygui/core.pyx":11862
 *         if self.scroll_x_update_requested or self.scroll_y_update_requested:
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:             # <<<<<<<<<<<<<<
 *                 if self.scroll_x < 0.:
 *                     scroll_requested.x = 1. # from previous code. Not sure why
 */
    if (__pyx_v_self->scroll_x_update_requested) {

      /* "dearcygui/core.pyx":11863
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:
 *                 if self.scroll_x < 0.:             # <<<<<<<<<<<<<<
 *                     scroll_requested.x = 1. # from previous code. Not sure why
 *                 else:
 */
      __pyx_t_1 = (__pyx_v_self->scroll_x < 0.);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":11864
 *             if self.scroll_x_update_requested:
 *                 if self.scroll_x < 0.:
 *                     scroll_requested.x = 1. # from previous code. Not sure why             # <<<<<<<<<<<<<<
 *                 else:
 *                     scroll_requested.x = self.scroll_x
 */
        __pyx_v_scroll_requested.x = 1.;

        /* "dearcygui/core.pyx":11863
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:
 *                 if self.scroll_x < 0.:             # <<<<<<<<<<<<<<
 *                     scroll_requested.x = 1. # from previous code. Not sure why
 *                 else:
 */
        goto __pyx_L15;
      }

      /* "dearcygui/core.pyx":11866
 *                     scroll_requested.x = 1. # from previous code. Not sure why
 *                 else:
 *                     scroll_requested.x = self.scroll_x             # <<<<<<<<<<<<<<
 *                 self.scroll_x_update_requested = False
 * 
 */
      /*else*/ {
        __pyx_t_2 = __pyx_v_self->scroll_x;
        __pyx_v_scroll_requested.x = __pyx_t_2;
      }
      __pyx_L15:;

      /* "dearcygui/core.pyx":11867
 *                 else:
 *                     scroll_requested.x = self.scroll_x
 *                 self.scroll_x_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *             if self.scroll_y_update_requested:
 */
      __pyx_v_self->scroll_x_update_requested = 0;

      /* "dearcygui/core.pyx":11862
 *         if self.scroll_x_update_requested or self.scroll_y_update_requested:
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:             # <<<<<<<<<<<<<<
 *                 if self.scroll_x < 0.:
 *                     scroll_requested.x = 1. # from previous code. Not sure why
 */
    }

    /* "dearcygui/core.pyx":11869
 *                 self.scroll_x_update_requested = False
 * 
 *             if self.scroll_y_update_requested:             # <<<<<<<<<<<<<<
 *                 if self.scroll_y < 0.:
 *                     scroll_requested.y = 1.
 */
    if (__pyx_v_self->scroll_y_update_requested) {

      /* "dearcygui/core.pyx":11870
 * 
 *             if self.scroll_y_update_requested:
 *                 if self.scroll_y < 0.:             # <<<<<<<<<<<<<<
 *                     scroll_requested.y = 1.
 *                 else:
 */
      __pyx_t_1 = (__pyx_v_self->scroll_y < 0.);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":11871
 *             if self.scroll_y_update_requested:
 *                 if self.scroll_y < 0.:
 *                     scroll_requested.y = 1.             # <<<<<<<<<<<<<<
 *                 else:
 *                     scroll_requested.y = self.scroll_y
 */
        __pyx_v_scroll_requested.y = 1.;

        /* "dearcygui/core.pyx":11870
 * 
 *             if self.scroll_y_update_requested:
 *                 if self.scroll_y < 0.:             # <<<<<<<<<<<<<<
 *                     scroll_requested.y = 1.
 *                 else:
 */
        goto __pyx_L17;
      }

      /* "dearcygui/core.pyx":11873
 *                     scroll_requested.y = 1.
 *                 else:
 *                     scroll_requested.y = self.scroll_y             # <<<<<<<<<<<<<<
 *                 self.scroll_y_update_requested = False
 *             imgui.SetNextWindowScroll(scroll_requested)
 */
      /*else*/ {
        __pyx_t_2 = __pyx_v_self->scroll_y;
        __pyx_v_scroll_requested.y = __pyx_t_2;
      }
      __pyx_L17:;

      /* "dearcygui/core.pyx":11874
 *                 else:
 *                     scroll_requested.y = self.scroll_y
 *                 self.scroll_y_update_requested = False             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowScroll(scroll_requested)
 * 
 */
      __pyx_v_self->scroll_y_update_requested = 0;

      /* "dearcygui/core.pyx":11869
 *                 self.scroll_x_update_requested = False
 * 
 *             if self.scroll_y_update_requested:             # <<<<<<<<<<<<<<
 *                 if self.scroll_y < 0.:
 *                     scroll_requested.y = 1.
 */
    }

    /* "dearcygui/core.pyx":11875
 *                     scroll_requested.y = self.scroll_y
 *                 self.scroll_y_update_requested = False
 *             imgui.SetNextWindowScroll(scroll_requested)             # <<<<<<<<<<<<<<
 * 
 *         if self.main_window:
 */
    ImGui::SetNextWindowScroll(__pyx_v_scroll_requested);

    /* "dearcygui/core.pyx":11860
 * 
 *         cdef imgui.ImVec2 scroll_requested
 *         if self.scroll_x_update_requested or self.scroll_y_update_requested:             # <<<<<<<<<<<<<<
 *             scroll_requested = imgui.ImVec2(-1., -1.) # -1 means no effect
 *             if self.scroll_x_update_requested:
 */
  }

  /* "dearcygui/core.pyx":11877
 *             imgui.SetNextWindowScroll(scroll_requested)
 * 
 *         if self.main_window:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowBgAlpha(1.0)
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing
 */
  if (__pyx_v_self->main_window) {

    /* "dearcygui/core.pyx":11878
 * 
 *         if self.main_window:
 *             imgui.SetNextWindowBgAlpha(1.0)             # <<<<<<<<<<<<<<
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing
 *             imgui.SetNextWindowPos(imgui.ImVec2(0.0, 0.0), <imgui.ImGuiCond>0)
 */
    ImGui::SetNextWindowBgAlpha(1.0);

    /* "dearcygui/core.pyx":11879
 *         if self.main_window:
 *             imgui.SetNextWindowBgAlpha(1.0)
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowPos(imgui.ImVec2(0.0, 0.0), <imgui.ImGuiCond>0)
 *             imgui.SetNextWindowSize(imgui.ImVec2(<float>self.context._viewport.viewport.clientWidth,
 */
    ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0);

    /* "dearcygui/core.pyx":11880
 *             imgui.SetNextWindowBgAlpha(1.0)
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing
 *             imgui.SetNextWindowPos(imgui.ImVec2(0.0, 0.0), <imgui.ImGuiCond>0)             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowSize(imgui.ImVec2(<float>self.context._viewport.viewport.clientWidth,
 *                                            <float>self.context._viewport.viewport.clientHeight),
 */
    ImGui::SetNextWindowPos(ImVec2(0.0, 0.0), ((ImGuiCond)0));

    /* "dearcygui/core.pyx":11881
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing
 *             imgui.SetNextWindowPos(imgui.ImVec2(0.0, 0.0), <imgui.ImGuiCond>0)
 *             imgui.SetNextWindowSize(imgui.ImVec2(<float>self.context._viewport.viewport.clientWidth,             # <<<<<<<<<<<<<<
 *                                            <float>self.context._viewport.viewport.clientHeight),
 *                                     <imgui.ImGuiCond>0)
 */
    ImGui::SetNextWindowSize(ImVec2(((float)__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->viewport->clientWidth), ((float)__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->viewport->clientHeight)), ((ImGuiCond)0));

    /* "dearcygui/core.pyx":11877
 *             imgui.SetNextWindowScroll(scroll_requested)
 * 
 *         if self.main_window:             # <<<<<<<<<<<<<<
 *             imgui.SetNextWindowBgAlpha(1.0)
 *             imgui.PushStyleVar(imgui.ImGuiStyleVar_WindowRounding, 0.0) #to prevent main window corners from showing
 */
  }

  /* "dearcygui/core.pyx":11886
 * 
 *         # handle fonts
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11887
 *         # handle fonts
 *         if self._font is not None:
 *             self._font.push()             # <<<<<<<<<<<<<<
 * 
 *         # themes
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->__pyx_base._font->__pyx_base.__pyx_vtab)->push(__pyx_v_self->__pyx_base._font);

    /* "dearcygui/core.pyx":11886
 * 
 *         # handle fonts
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":11890
 * 
 *         # themes
 *         self.context._viewport.push_pending_theme_actions(             # <<<<<<<<<<<<<<
 *             theme_enablers.t_enabled_any,
 *             theme_categories.t_window
 */
  __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_e_9dearcygui_4core_t_enabled_any, __pyx_e_9dearcygui_4core_t_window);

  /* "dearcygui/core.pyx":11894
 *             theme_categories.t_window
 *         )
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11895
 *         )
 *         if self._theme is not None:
 *             self._theme.push()             # <<<<<<<<<<<<<<
 * 
 *         cdef bint visible = True
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base._theme->__pyx_base.__pyx_vtab)->push(__pyx_v_self->__pyx_base._theme);

    /* "dearcygui/core.pyx":11894
 *             theme_categories.t_window
 *         )
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":11897
 *             self._theme.push()
 * 
 *         cdef bint visible = True             # <<<<<<<<<<<<<<
 *         # Modal/Popup windows must be manually opened
 *         if self.modal or self.popup:
 */
  __pyx_v_visible = 1;

  /* "dearcygui/core.pyx":11899
 *         cdef bint visible = True
 *         # Modal/Popup windows must be manually opened
 *         if self.modal or self.popup:             # <<<<<<<<<<<<<<
 *             if self.show_update_requested and self._show:
 *                 self.show_update_requested = False
 */
  if (!__pyx_v_self->modal) {
  } else {
    __pyx_t_1 = __pyx_v_self->modal;
    goto __pyx_L22_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->popup;
  __pyx_L22_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11900
 *         # Modal/Popup windows must be manually opened
 *         if self.modal or self.popup:
 *             if self.show_update_requested and self._show:             # <<<<<<<<<<<<<<
 *                 self.show_update_requested = False
 *                 imgui.OpenPopup(self.imgui_label.c_str(),
 */
    if (__pyx_v_self->__pyx_base.show_update_requested) {
    } else {
      __pyx_t_1 = __pyx_v_self->__pyx_base.show_update_requested;
      goto __pyx_L25_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base._show != 0);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L25_bool_binop_done:;
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":11901
 *         if self.modal or self.popup:
 *             if self.show_update_requested and self._show:
 *                 self.show_update_requested = False             # <<<<<<<<<<<<<<
 *                 imgui.OpenPopup(self.imgui_label.c_str(),
 *                                 imgui.ImGuiPopupFlags_NoOpenOverExistingPopup if self.no_open_over_existing_popup else imgui.ImGuiPopupFlags_None)
 */
      __pyx_v_self->__pyx_base.show_update_requested = 0;

      /* "dearcygui/core.pyx":11903
 *                 self.show_update_requested = False
 *                 imgui.OpenPopup(self.imgui_label.c_str(),
 *                                 imgui.ImGuiPopupFlags_NoOpenOverExistingPopup if self.no_open_over_existing_popup else imgui.ImGuiPopupFlags_None)             # <<<<<<<<<<<<<<
 * 
 *         # Begin drawing the window
 */
      if (__pyx_v_self->no_open_over_existing_popup) {
        __pyx_t_4 = ImGuiPopupFlags_NoOpenOverExistingPopup;
      } else {
        __pyx_t_4 = ImGuiPopupFlags_None;
      }

      /* "dearcygui/core.pyx":11902
 *             if self.show_update_requested and self._show:
 *                 self.show_update_requested = False
 *                 imgui.OpenPopup(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                 imgui.ImGuiPopupFlags_NoOpenOverExistingPopup if self.no_open_over_existing_popup else imgui.ImGuiPopupFlags_None)
 * 
 */
      ImGui::OpenPopup(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_t_4);

      /* "dearcygui/core.pyx":11900
 *         # Modal/Popup windows must be manually opened
 *         if self.modal or self.popup:
 *             if self.show_update_requested and self._show:             # <<<<<<<<<<<<<<
 *                 self.show_update_requested = False
 *                 imgui.OpenPopup(self.imgui_label.c_str(),
 */
    }

    /* "dearcygui/core.pyx":11899
 *         cdef bint visible = True
 *         # Modal/Popup windows must be manually opened
 *         if self.modal or self.popup:             # <<<<<<<<<<<<<<
 *             if self.show_update_requested and self._show:
 *                 self.show_update_requested = False
 */
  }

  /* "dearcygui/core.pyx":11906
 * 
 *         # Begin drawing the window
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags             # <<<<<<<<<<<<<<
 *         if self.last_menubar_child is not None:
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 */
  __pyx_t_5 = __pyx_v_self->window_flags;
  __pyx_v_flags = __pyx_t_5;

  /* "dearcygui/core.pyx":11907
 *         # Begin drawing the window
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11908
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:
 *             flags |= imgui.ImGuiWindowFlags_MenuBar             # <<<<<<<<<<<<<<
 * 
 *         if self.modal:
 */
    __pyx_v_flags = (__pyx_v_flags | ImGuiWindowFlags_MenuBar);

    /* "dearcygui/core.pyx":11907
 *         # Begin drawing the window
 *         cdef imgui.ImGuiWindowFlags flags = self.window_flags
 *         if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 */
  }

  /* "dearcygui/core.pyx":11910
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *         if self.modal:             # <<<<<<<<<<<<<<
 *             visible = imgui.BeginPopupModal(self.imgui_label.c_str(),
 *                                             &self._show if self.has_close_button else <bool*>NULL,
 */
  if (__pyx_v_self->modal) {

    /* "dearcygui/core.pyx":11912
 *         if self.modal:
 *             visible = imgui.BeginPopupModal(self.imgui_label.c_str(),
 *                                             &self._show if self.has_close_button else <bool*>NULL,             # <<<<<<<<<<<<<<
 *                                             flags)
 *         elif self.popup:
 */
    if (__pyx_v_self->has_close_button) {
      __pyx_t_6 = (&__pyx_v_self->__pyx_base._show);
    } else {
      __pyx_t_6 = ((bool *)NULL);
    }

    /* "dearcygui/core.pyx":11911
 * 
 *         if self.modal:
 *             visible = imgui.BeginPopupModal(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                             &self._show if self.has_close_button else <bool*>NULL,
 *                                             flags)
 */
    __pyx_v_visible = ImGui::BeginPopupModal(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_t_6, __pyx_v_flags);

    /* "dearcygui/core.pyx":11910
 *             flags |= imgui.ImGuiWindowFlags_MenuBar
 * 
 *         if self.modal:             # <<<<<<<<<<<<<<
 *             visible = imgui.BeginPopupModal(self.imgui_label.c_str(),
 *                                             &self._show if self.has_close_button else <bool*>NULL,
 */
    goto __pyx_L28;
  }

  /* "dearcygui/core.pyx":11914
 *                                             &self._show if self.has_close_button else <bool*>NULL,
 *                                             flags)
 *         elif self.popup:             # <<<<<<<<<<<<<<
 *             visible = imgui.BeginPopup(self.imgui_label.c_str(), flags)
 *         else:
 */
  if (__pyx_v_self->popup) {

    /* "dearcygui/core.pyx":11915
 *                                             flags)
 *         elif self.popup:
 *             visible = imgui.BeginPopup(self.imgui_label.c_str(), flags)             # <<<<<<<<<<<<<<
 *         else:
 *             visible = imgui.Begin(self.imgui_label.c_str(),
 */
    __pyx_v_visible = ImGui::BeginPopup(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_flags);

    /* "dearcygui/core.pyx":11914
 *                                             &self._show if self.has_close_button else <bool*>NULL,
 *                                             flags)
 *         elif self.popup:             # <<<<<<<<<<<<<<
 *             visible = imgui.BeginPopup(self.imgui_label.c_str(), flags)
 *         else:
 */
    goto __pyx_L28;
  }

  /* "dearcygui/core.pyx":11917
 *             visible = imgui.BeginPopup(self.imgui_label.c_str(), flags)
 *         else:
 *             visible = imgui.Begin(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                   &self._show if self.has_close_button else <bool*>NULL,
 *                                   flags)
 */
  /*else*/ {

    /* "dearcygui/core.pyx":11918
 *         else:
 *             visible = imgui.Begin(self.imgui_label.c_str(),
 *                                   &self._show if self.has_close_button else <bool*>NULL,             # <<<<<<<<<<<<<<
 *                                   flags)
 * 
 */
    if (__pyx_v_self->has_close_button) {
      __pyx_t_6 = (&__pyx_v_self->__pyx_base._show);
    } else {
      __pyx_t_6 = ((bool *)NULL);
    }

    /* "dearcygui/core.pyx":11917
 *             visible = imgui.BeginPopup(self.imgui_label.c_str(), flags)
 *         else:
 *             visible = imgui.Begin(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                   &self._show if self.has_close_button else <bool*>NULL,
 *                                   flags)
 */
    __pyx_v_visible = ImGui::Begin(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_t_6, __pyx_v_flags);
  }
  __pyx_L28:;

  /* "dearcygui/core.pyx":11924
 *         # if has_close_button, show can be switched from True to False if closed
 * 
 *         if visible:             # <<<<<<<<<<<<<<
 *             # Retrieve the full region size before the cursor is moved.
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()
 */
  if (__pyx_v_visible) {

    /* "dearcygui/core.pyx":11926
 *         if visible:
 *             # Retrieve the full region size before the cursor is moved.
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()             # <<<<<<<<<<<<<<
 *             # Draw the window content
 *             self.context._viewport.window_pos = imgui.GetCursorScreenPos()
 */
    __pyx_v_self->__pyx_base.state.cur.content_region_size = ImGui::GetContentRegionAvail();

    /* "dearcygui/core.pyx":11928
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()
 *             # Draw the window content
 *             self.context._viewport.window_pos = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *             self.context._viewport.parent_pos = self.context._viewport.window_pos # should we restore after ? TODO
 * 
 */
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos = ImGui::GetCursorScreenPos();

    /* "dearcygui/core.pyx":11929
 *             # Draw the window content
 *             self.context._viewport.window_pos = imgui.GetCursorScreenPos()
 *             self.context._viewport.parent_pos = self.context._viewport.window_pos # should we restore after ? TODO             # <<<<<<<<<<<<<<
 * 
 *             #if self.last_0_child is not None:
 */
    __pyx_t_7 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos;
    __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_7);

    /* "dearcygui/core.pyx":11934
 *             #    self.last_0_child.draw(this_drawlist, startx, starty)
 * 
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *             # TODO if self.children_widgets[i].tracked and show:
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":11935
 * 
 *             if self.last_widgets_child is not None:
 *                 self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *             # TODO if self.children_widgets[i].tracked and show:
 *             #    imgui.SetScrollHereY(self.children_widgets[i].trackOffset)
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

      /* "dearcygui/core.pyx":11934
 *             #    self.last_0_child.draw(this_drawlist, startx, starty)
 * 
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_widgets_child.draw()
 *             # TODO if self.children_widgets[i].tracked and show:
 */
    }

    /* "dearcygui/core.pyx":11945
 *             #    self.last_drawings_child.draw(imgui.GetWindowDrawList())
 * 
 *             if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_menubar_child.draw()
 * 
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":11946
 * 
 *             if self.last_menubar_child is not None:
 *                 self.last_menubar_child.draw()             # <<<<<<<<<<<<<<
 * 
 *         cdef imgui.ImVec2 rect_size
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_menubar_child);

      /* "dearcygui/core.pyx":11945
 *             #    self.last_drawings_child.draw(imgui.GetWindowDrawList())
 * 
 *             if self.last_menubar_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_menubar_child.draw()
 * 
 */
    }

    /* "dearcygui/core.pyx":11924
 *         # if has_close_button, show can be switched from True to False if closed
 * 
 *         if visible:             # <<<<<<<<<<<<<<
 *             # Retrieve the full region size before the cursor is moved.
 *             self.state.cur.content_region_size = imgui.GetContentRegionAvail()
 */
  }

  /* "dearcygui/core.pyx":11949
 * 
 *         cdef imgui.ImVec2 rect_size
 *         if visible:             # <<<<<<<<<<<<<<
 *             # Set current states
 *             self.state.cur.rendered = True
 */
  if (__pyx_v_visible) {

    /* "dearcygui/core.pyx":11951
 *         if visible:
 *             # Set current states
 *             self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 */
    __pyx_v_self->__pyx_base.state.cur.rendered = 1;

    /* "dearcygui/core.pyx":11952
 *             # Set current states
 *             self.state.cur.rendered = True
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)             # <<<<<<<<<<<<<<
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             rect_size = imgui.GetWindowSize()
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = ImGui::IsWindowHovered(ImGuiHoveredFlags_None);

    /* "dearcygui/core.pyx":11953
 *             self.state.cur.rendered = True
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)             # <<<<<<<<<<<<<<
 *             rect_size = imgui.GetWindowSize()
 *             self.state.cur.rect_size = rect_size
 */
    __pyx_v_self->__pyx_base.state.cur.focused = ImGui::IsWindowFocused(ImGuiFocusedFlags_None);

    /* "dearcygui/core.pyx":11954
 *             self.state.cur.hovered = imgui.IsWindowHovered(imgui.ImGuiHoveredFlags_None)
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             rect_size = imgui.GetWindowSize()             # <<<<<<<<<<<<<<
 *             self.state.cur.rect_size = rect_size
 *             self.last_frame_update = self.context._viewport.frame_count # TODO remove ?
 */
    __pyx_v_rect_size = ImGui::GetWindowSize();

    /* "dearcygui/core.pyx":11955
 *             self.state.cur.focused = imgui.IsWindowFocused(imgui.ImGuiFocusedFlags_None)
 *             rect_size = imgui.GetWindowSize()
 *             self.state.cur.rect_size = rect_size             # <<<<<<<<<<<<<<
 *             self.last_frame_update = self.context._viewport.frame_count # TODO remove ?
 *             self.state.cur.pos_to_viewport = imgui.GetWindowPos()
 */
    __pyx_v_self->__pyx_base.state.cur.rect_size = __pyx_v_rect_size;

    /* "dearcygui/core.pyx":11956
 *             rect_size = imgui.GetWindowSize()
 *             self.state.cur.rect_size = rect_size
 *             self.last_frame_update = self.context._viewport.frame_count # TODO remove ?             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_viewport = imgui.GetWindowPos()
 *             self.state.cur.pos_to_parent = self.state.cur.pos_to_viewport
 */
    __pyx_t_8 = __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->frame_count;
    __pyx_v_self->__pyx_base.last_frame_update = __pyx_t_8;

    /* "dearcygui/core.pyx":11957
 *             self.state.cur.rect_size = rect_size
 *             self.last_frame_update = self.context._viewport.frame_count # TODO remove ?
 *             self.state.cur.pos_to_viewport = imgui.GetWindowPos()             # <<<<<<<<<<<<<<
 *             self.state.cur.pos_to_parent = self.state.cur.pos_to_viewport
 *         else:
 */
    __pyx_v_self->__pyx_base.state.cur.pos_to_viewport = ImGui::GetWindowPos();

    /* "dearcygui/core.pyx":11958
 *             self.last_frame_update = self.context._viewport.frame_count # TODO remove ?
 *             self.state.cur.pos_to_viewport = imgui.GetWindowPos()
 *             self.state.cur.pos_to_parent = self.state.cur.pos_to_viewport             # <<<<<<<<<<<<<<
 *         else:
 *             # Window is hidden or closed
 */
    __pyx_t_7 = __pyx_v_self->__pyx_base.state.cur.pos_to_viewport;
    __pyx_v_self->__pyx_base.state.cur.pos_to_parent = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_7);

    /* "dearcygui/core.pyx":11949
 * 
 *         cdef imgui.ImVec2 rect_size
 *         if visible:             # <<<<<<<<<<<<<<
 *             # Set current states
 *             self.state.cur.rendered = True
 */
    goto __pyx_L32;
  }

  /* "dearcygui/core.pyx":11961
 *         else:
 *             # Window is hidden or closed
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 * 
 *         self.state.cur.open = not(imgui.IsWindowCollapsed())
 */
  /*else*/ {
    ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));
  }
  __pyx_L32:;

  /* "dearcygui/core.pyx":11963
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 * 
 *         self.state.cur.open = not(imgui.IsWindowCollapsed())             # <<<<<<<<<<<<<<
 *         self.scroll_x = imgui.GetScrollX()
 *         self.scroll_y = imgui.GetScrollY()
 */
  __pyx_v_self->__pyx_base.state.cur.open = (!ImGui::IsWindowCollapsed());

  /* "dearcygui/core.pyx":11964
 * 
 *         self.state.cur.open = not(imgui.IsWindowCollapsed())
 *         self.scroll_x = imgui.GetScrollX()             # <<<<<<<<<<<<<<
 *         self.scroll_y = imgui.GetScrollY()
 * 
 */
  __pyx_v_self->scroll_x = ImGui::GetScrollX();

  /* "dearcygui/core.pyx":11965
 *         self.state.cur.open = not(imgui.IsWindowCollapsed())
 *         self.scroll_x = imgui.GetScrollX()
 *         self.scroll_y = imgui.GetScrollY()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->scroll_y = ImGui::GetScrollY();

  /* "dearcygui/core.pyx":11986
 *         """
 * 
 *         if (self.modal or self.popup):             # <<<<<<<<<<<<<<
 *             if visible:
 *                 # End() is called automatically for modal and popup windows if not visible
 */
  if (!__pyx_v_self->modal) {
  } else {
    __pyx_t_1 = __pyx_v_self->modal;
    goto __pyx_L34_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->popup;
  __pyx_L34_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11987
 * 
 *         if (self.modal or self.popup):
 *             if visible:             # <<<<<<<<<<<<<<
 *                 # End() is called automatically for modal and popup windows if not visible
 *                 imgui.EndPopup()
 */
    if (__pyx_v_visible) {

      /* "dearcygui/core.pyx":11989
 *             if visible:
 *                 # End() is called automatically for modal and popup windows if not visible
 *                 imgui.EndPopup()             # <<<<<<<<<<<<<<
 *         else:
 *             imgui.End()
 */
      ImGui::EndPopup();

      /* "dearcygui/core.pyx":11987
 * 
 *         if (self.modal or self.popup):
 *             if visible:             # <<<<<<<<<<<<<<
 *                 # End() is called automatically for modal and popup windows if not visible
 *                 imgui.EndPopup()
 */
    }

    /* "dearcygui/core.pyx":11986
 *         """
 * 
 *         if (self.modal or self.popup):             # <<<<<<<<<<<<<<
 *             if visible:
 *                 # End() is called automatically for modal and popup windows if not visible
 */
    goto __pyx_L33;
  }

  /* "dearcygui/core.pyx":11991
 *                 imgui.EndPopup()
 *         else:
 *             imgui.End()             # <<<<<<<<<<<<<<
 * 
 *         if self.main_window:
 */
  /*else*/ {
    ImGui::End();
  }
  __pyx_L33:;

  /* "dearcygui/core.pyx":11993
 *             imgui.End()
 * 
 *         if self.main_window:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleVar(1)
 * 
 */
  if (__pyx_v_self->main_window) {

    /* "dearcygui/core.pyx":11994
 * 
 *         if self.main_window:
 *             imgui.PopStyleVar(1)             # <<<<<<<<<<<<<<
 * 
 *         if self._theme is not None:
 */
    ImGui::PopStyleVar(1);

    /* "dearcygui/core.pyx":11993
 *             imgui.End()
 * 
 *         if self.main_window:             # <<<<<<<<<<<<<<
 *             imgui.PopStyleVar(1)
 * 
 */
  }

  /* "dearcygui/core.pyx":11996
 *             imgui.PopStyleVar(1)
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":11997
 * 
 *         if self._theme is not None:
 *             self._theme.pop()             # <<<<<<<<<<<<<<
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base._theme->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->__pyx_base._theme);

    /* "dearcygui/core.pyx":11996
 *             imgui.PopStyleVar(1)
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
  }

  /* "dearcygui/core.pyx":11998
 *         if self._theme is not None:
 *             self._theme.pop()
 *         self.context._viewport.pop_applied_pending_theme_actions()             # <<<<<<<<<<<<<<
 * 
 *         if self._font is not None:
 */
  __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport);

  /* "dearcygui/core.pyx":12000
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12001
 * 
 *         if self._font is not None:
 *             self._font.pop()             # <<<<<<<<<<<<<<
 * 
 *         cdef bint closed = not(self._show) or (not(visible) and (self.modal or self.popup))
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->__pyx_base._font->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->__pyx_base._font);

    /* "dearcygui/core.pyx":12000
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":12003
 *             self._font.pop()
 * 
 *         cdef bint closed = not(self._show) or (not(visible) and (self.modal or self.popup))             # <<<<<<<<<<<<<<
 *         if closed:
 *             self._show = False
 */
  __pyx_t_3 = (!(__pyx_v_self->__pyx_base._show != 0));
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L40_bool_binop_done;
  }
  __pyx_t_3 = (!__pyx_v_visible);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L40_bool_binop_done;
  }
  if (!__pyx_v_self->modal) {
  } else {
    __pyx_t_1 = __pyx_v_self->modal;
    goto __pyx_L40_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->popup;
  __pyx_L40_bool_binop_done:;
  __pyx_v_closed = __pyx_t_1;

  /* "dearcygui/core.pyx":12004
 * 
 *         cdef bint closed = not(self._show) or (not(visible) and (self.modal or self.popup))
 *         if closed:             # <<<<<<<<<<<<<<
 *             self._show = False
 *             self.context.queue_callback_noarg(self.on_close_callback,
 */
  if (__pyx_v_closed) {

    /* "dearcygui/core.pyx":12005
 *         cdef bint closed = not(self._show) or (not(visible) and (self.modal or self.popup))
 *         if closed:
 *             self._show = False             # <<<<<<<<<<<<<<
 *             self.context.queue_callback_noarg(self.on_close_callback,
 *                                               self,
 */
    __pyx_v_self->__pyx_base._show = 0;

    /* "dearcygui/core.pyx":12006
 *         if closed:
 *             self._show = False
 *             self.context.queue_callback_noarg(self.on_close_callback,             # <<<<<<<<<<<<<<
 *                                               self,
 *                                               self)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Context *)__pyx_v_self->__pyx_base.__pyx_base.context->__pyx_vtab)->queue_callback_noarg(__pyx_v_self->__pyx_base.__pyx_base.context, __pyx_v_self->on_close_callback, ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":12004
 * 
 *         cdef bint closed = not(self._show) or (not(visible) and (self.modal or self.popup))
 *         if closed:             # <<<<<<<<<<<<<<
 *             self._show = False
 *             self.context.queue_callback_noarg(self.on_close_callback,
 */
  }

  /* "dearcygui/core.pyx":12009
 *                                               self,
 *                                               self)
 *         self.show_update_requested = False             # <<<<<<<<<<<<<<
 * 
 *         self.run_handlers()
 */
  __pyx_v_self->__pyx_base.show_update_requested = 0;

  /* "dearcygui/core.pyx":12011
 *         self.show_update_requested = False
 * 
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_Window *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":11824
 *         self.max_size.y = max(1, value[1])
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Window_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Window_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Window_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_6Window_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Window_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_6Window_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6Window_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Window *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6Window_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Window *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Window.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12021
 * 
 * cdef class Texture(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.hint_dynamic = False
 *         self.dynamic = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Texture_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Texture_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture___cinit__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Texture___cinit__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":12022
 * cdef class Texture(baseItem):
 *     def __cinit__(self):
 *         self.hint_dynamic = False             # <<<<<<<<<<<<<<
 *         self.dynamic = False
 *         self.allocated_texture = NULL
 */
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_hint_dynamic, Py_False) < 0) __PYX_ERR(1, 12022, __pyx_L1_error)

  /* "dearcygui/core.pyx":12023
 *     def __cinit__(self):
 *         self.hint_dynamic = False
 *         self.dynamic = False             # <<<<<<<<<<<<<<
 *         self.allocated_texture = NULL
 *         self._width = 0
 */
  __pyx_v_self->dynamic = 0;

  /* "dearcygui/core.pyx":12024
 *         self.hint_dynamic = False
 *         self.dynamic = False
 *         self.allocated_texture = NULL             # <<<<<<<<<<<<<<
 *         self._width = 0
 *         self._height = 0
 */
  __pyx_v_self->allocated_texture = NULL;

  /* "dearcygui/core.pyx":12025
 *         self.dynamic = False
 *         self.allocated_texture = NULL
 *         self._width = 0             # <<<<<<<<<<<<<<
 *         self._height = 0
 *         self._num_chans = 0
 */
  __pyx_v_self->_width = 0;

  /* "dearcygui/core.pyx":12026
 *         self.allocated_texture = NULL
 *         self._width = 0
 *         self._height = 0             # <<<<<<<<<<<<<<
 *         self._num_chans = 0
 *         self.filtering_mode = 0
 */
  __pyx_v_self->_height = 0;

  /* "dearcygui/core.pyx":12027
 *         self._width = 0
 *         self._height = 0
 *         self._num_chans = 0             # <<<<<<<<<<<<<<
 *         self.filtering_mode = 0
 * 
 */
  __pyx_v_self->_num_chans = 0;

  /* "dearcygui/core.pyx":12028
 *         self._height = 0
 *         self._num_chans = 0
 *         self.filtering_mode = 0             # <<<<<<<<<<<<<<
 * 
 *     def __delalloc__(self):
 */
  __pyx_v_self->filtering_mode = 0;

  /* "dearcygui/core.pyx":12021
 * 
 * cdef class Texture(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.hint_dynamic = False
 *         self.dynamic = False
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Texture.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12030
 *         self.filtering_mode = 0
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] imgui_m
 *         # Note: textures might be referenced during imgui rendering.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_3__delalloc__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Texture_3__delalloc__ = {"__delalloc__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_3__delalloc__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_3__delalloc__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__delalloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_2__delalloc__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_2__delalloc__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_imgui_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__delalloc__", 1);

  /* "dearcygui/core.pyx":12034
 *         # Note: textures might be referenced during imgui rendering.
 *         # Thus we must wait there is no rendering to free a texture.
 *         if self.allocated_texture != NULL:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(imgui_m, self.context.imgui_mutex)
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 */
  __pyx_t_1 = (__pyx_v_self->allocated_texture != NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12035
 *         # Thus we must wait there is no rendering to free a texture.
 *         if self.allocated_texture != NULL:
 *             lock_gil_friendly(imgui_m, self.context.imgui_mutex)             # <<<<<<<<<<<<<<
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *             mvFreeTexture(self.allocated_texture)
 */
    __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_imgui_m, __pyx_v_self->__pyx_base.context->imgui_mutex);

    /* "dearcygui/core.pyx":12036
 *         if self.allocated_texture != NULL:
 *             lock_gil_friendly(imgui_m, self.context.imgui_mutex)
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))             # <<<<<<<<<<<<<<
 *             mvFreeTexture(self.allocated_texture)
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 */
    mvMakeUploadContextCurrent((*__pyx_v_self->__pyx_base.context->_viewport->viewport));

    /* "dearcygui/core.pyx":12037
 *             lock_gil_friendly(imgui_m, self.context.imgui_mutex)
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *             mvFreeTexture(self.allocated_texture)             # <<<<<<<<<<<<<<
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 * 
 */
    mvFreeTexture(__pyx_v_self->allocated_texture);

    /* "dearcygui/core.pyx":12038
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *             mvFreeTexture(self.allocated_texture)
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))             # <<<<<<<<<<<<<<
 * 
 *     def configure(self, *args, **kwargs):
 */
    mvReleaseUploadContext((*__pyx_v_self->__pyx_base.context->_viewport->viewport));

    /* "dearcygui/core.pyx":12034
 *         # Note: textures might be referenced during imgui rendering.
 *         # Thus we must wait there is no rendering to free a texture.
 *         if self.allocated_texture != NULL:             # <<<<<<<<<<<<<<
 *             lock_gil_friendly(imgui_m, self.context.imgui_mutex)
 *             mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 */
  }

  /* "dearcygui/core.pyx":12030
 *         self.filtering_mode = 0
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] imgui_m
 *         # Note: textures might be referenced during imgui rendering.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12040
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 * 
 *     def configure(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_5configure(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Texture_5configure = {"configure", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9dearcygui_4core_7Texture_5configure, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_5configure(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (unlikely(__pyx_kwds)) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_VARARGS(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_4configure(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_4configure(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":12041
 * 
 *     def configure(self, *args, **kwargs):
 *         if len(args) == 1:             # <<<<<<<<<<<<<<
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12041, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":12042
 *     def configure(self, *args, **kwargs):
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))             # <<<<<<<<<<<<<<
 *         elif len(args) != 0:
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_7 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 12042, __pyx_L1_error)
    ((struct __pyx_vtabstruct_9dearcygui_4core_Texture *)__pyx_v_self->__pyx_base.__pyx_vtab)->set_content(__pyx_v_self, ((PyArrayObject *)__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12042, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "dearcygui/core.pyx":12041
 * 
 *     def configure(self, *args, **kwargs):
 *         if len(args) == 1:             # <<<<<<<<<<<<<<
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":12043
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12043, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":12044
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")             # <<<<<<<<<<<<<<
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0
 *         return super().configure(**kwargs)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 12044, __pyx_L1_error)

    /* "dearcygui/core.pyx":12043
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0
 */
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":12045
 *         elif len(args) != 0:
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0             # <<<<<<<<<<<<<<
 *         return super().configure(**kwargs)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 12045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {
    __pyx_t_8 = 1;
  } else {
    __pyx_t_8 = 0;
  }
  __pyx_v_self->filtering_mode = __pyx_t_8;

  /* "dearcygui/core.pyx":12046
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_Texture);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_Texture);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_Texture))) __PYX_ERR(1, 12046, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 12046, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_configure); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12040
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 * 
 *     def configure(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.Texture.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12048
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hint_dynamic(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic___get__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12056
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._hint_dynamic
 *     @hint_dynamic.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12057
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._hint_dynamic             # <<<<<<<<<<<<<<
 *     @hint_dynamic.setter
 *     def hint_dynamic(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_hint_dynamic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12048
 *         return super().configure(**kwargs)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hint_dynamic(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Texture.hint_dynamic.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12058
 *         lock_gil_friendly(m, self.mutex)
 *         return self._hint_dynamic
 *     @hint_dynamic.setter             # <<<<<<<<<<<<<<
 *     def hint_dynamic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12059, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Texture.hint_dynamic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic_2__set__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Texture_12hint_dynamic_2__set__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12061
 *     def hint_dynamic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._hint_dynamic = value
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12062
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint_dynamic = value             # <<<<<<<<<<<<<<
 *     @property
 *     def nearest_neighbor_upsampling(self):
 */
  __pyx_v_self->_hint_dynamic = __pyx_v_value;

  /* "dearcygui/core.pyx":12058
 *         lock_gil_friendly(m, self.mutex)
 *         return self._hint_dynamic
 *     @hint_dynamic.setter             # <<<<<<<<<<<<<<
 *     def hint_dynamic(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12063
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint_dynamic = value
 *     @property             # <<<<<<<<<<<<<<
 *     def nearest_neighbor_upsampling(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling___get__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12071
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return True if self.filtering_mode == 1 else 0
 *     @nearest_neighbor_upsampling.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12072
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return True if self.filtering_mode == 1 else 0             # <<<<<<<<<<<<<<
 *     @nearest_neighbor_upsampling.setter
 *     def nearest_neighbor_upsampling(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (__pyx_v_self->filtering_mode == 1);
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_True);
    __pyx_t_1 = Py_True;
  } else {
    __Pyx_INCREF(__pyx_int_0);
    __pyx_t_1 = __pyx_int_0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12063
 *         lock_gil_friendly(m, self.mutex)
 *         self._hint_dynamic = value
 *     @property             # <<<<<<<<<<<<<<
 *     def nearest_neighbor_upsampling(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12073
 *         lock_gil_friendly(m, self.mutex)
 *         return True if self.filtering_mode == 1 else 0
 *     @nearest_neighbor_upsampling.setter             # <<<<<<<<<<<<<<
 *     def nearest_neighbor_upsampling(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12074, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Texture.nearest_neighbor_upsampling.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_2__set__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_2__set__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":12076
 *     def nearest_neighbor_upsampling(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.filtering_mode = 1 if value else 0
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12077
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.filtering_mode = 1 if value else 0             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  if (__pyx_v_value) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = 0;
  }
  __pyx_v_self->filtering_mode = __pyx_t_1;

  /* "dearcygui/core.pyx":12073
 *         lock_gil_friendly(m, self.mutex)
 *         return True if self.filtering_mode == 1 else 0
 *     @nearest_neighbor_upsampling.setter             # <<<<<<<<<<<<<<
 *     def nearest_neighbor_upsampling(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12078
 *         lock_gil_friendly(m, self.mutex)
 *         self.filtering_mode = 1 if value else 0
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         """ Width of the current texture content """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_5width_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_5width___get__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_5width___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12082
 *         """ Width of the current texture content """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._width
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12083
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12078
 *         lock_gil_friendly(m, self.mutex)
 *         self.filtering_mode = 1 if value else 0
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         """ Width of the current texture content """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Texture.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12084
 *         lock_gil_friendly(m, self.mutex)
 *         return self._width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         """ Height of the current texture content """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_6height_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_6height___get__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_6height___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12088
 *         """ Height of the current texture content """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._height
 *     @property
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12089
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._height             # <<<<<<<<<<<<<<
 *     @property
 *     def num_chans(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12084
 *         lock_gil_friendly(m, self.mutex)
 *         return self._width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         """ Height of the current texture content """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Texture.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12090
 *         lock_gil_friendly(m, self.mutex)
 *         return self._height
 *     @property             # <<<<<<<<<<<<<<
 *     def num_chans(self):
 *         """ Number of channels of the current texture content """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_9num_chans_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_9num_chans_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_9num_chans___get__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_9num_chans___get__(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12094
 *         """ Number of channels of the current texture content """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._num_chans
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12095
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._num_chans             # <<<<<<<<<<<<<<
 * 
 *     def set_value(self, value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_num_chans); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12090
 *         lock_gil_friendly(m, self.mutex)
 *         return self._height
 *     @property             # <<<<<<<<<<<<<<
 *     def num_chans(self):
 *         """ Number of channels of the current texture content """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Texture.num_chans.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12097
 *         return self._num_chans
 * 
 *     def set_value(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Pass an array as texture data.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_7set_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_7Texture_6set_value, "\n        Pass an array as texture data.\n        The currently native formats are:\n        - data type: uint8 or float32.\n            Anything else will be converted to float32\n        - number of channels: 1 (R), 2 (RG), 3 (RGB), 4 (RGBA)\n\n        In the case of single channel textures, during rendering, R is\n        duplicated on G and B, thus the texture is displayed as gray,\n        not red.\n\n        If set_value is called on a texture which already\n        has content, the previous allocation will be reused\n        if the size, type and number of channels is identical.\n\n        The data is uploaded right away during set_value,\n        thus the call is not instantaneous.\n        The data can be discarded after set_value.\n\n        If you change the data of a texture, you don't\n        need to bind it again to the objects it is\n        bound. The objects will automatically take\n        the updated texture.\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Texture_7set_value = {"set_value", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_7set_value, METH_O, __pyx_doc_9dearcygui_4core_7Texture_6set_value};
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_7set_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_value (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_6set_value(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_6set_value(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_value", 1);

  /* "dearcygui/core.pyx":12122
 *         the updated texture.
 *         """
 *         self.set_content(np.ascontiguousarray(value))             # <<<<<<<<<<<<<<
 * 
 *     cdef void set_content(self, cnp.ndarray content): # TODO: deadlock when held by external lock
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_value};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 12122, __pyx_L1_error)
  ((struct __pyx_vtabstruct_9dearcygui_4core_Texture *)__pyx_v_self->__pyx_base.__pyx_vtab)->set_content(__pyx_v_self, ((PyArrayObject *)__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12097
 *         return self._num_chans
 * 
 *     def set_value(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Pass an array as texture data.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Texture.set_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12124
 *         self.set_content(np.ascontiguousarray(value))
 * 
 *     cdef void set_content(self, cnp.ndarray content): # TODO: deadlock when held by external lock             # <<<<<<<<<<<<<<
 *         # The write mutex is to ensure order of processing of set_content
 *         # as we might release the item mutex to wait for imgui to render
 */

static void __pyx_f_9dearcygui_4core_7Texture_set_content(struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, PyArrayObject *__pyx_v_content) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  std::unique_lock<std::recursive_mutex>  __pyx_v_m2;
  int __pyx_v_height;
  int __pyx_v_width;
  int __pyx_v_num_chans;
  int __pyx_v_reuse;
  int __pyx_v_success;
  unsigned int __pyx_v_buffer_type;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_content", 0);
  __Pyx_INCREF((PyObject *)__pyx_v_content);

  /* "dearcygui/core.pyx":12129
 *         cdef unique_lock[recursive_mutex] m
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.write_mutex)             # <<<<<<<<<<<<<<
 *         lock_gil_friendly(m2, self.mutex)
 *         if content.ndim > 3 or content.ndim == 0:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->write_mutex);

  /* "dearcygui/core.pyx":12130
 *         cdef unique_lock[recursive_mutex] m2
 *         lock_gil_friendly(m, self.write_mutex)
 *         lock_gil_friendly(m2, self.mutex)             # <<<<<<<<<<<<<<
 *         if content.ndim > 3 or content.ndim == 0:
 *             raise ValueError("Invalid number of texture dimensions")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m2, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12131
 *         lock_gil_friendly(m, self.write_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         if content.ndim > 3 or content.ndim == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts
 */
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_content) > 3);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_content) == 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12132
 *         lock_gil_friendly(m2, self.mutex)
 *         if content.ndim > 3 or content.ndim == 0:
 *             raise ValueError("Invalid number of texture dimensions")             # <<<<<<<<<<<<<<
 *         if self.readonly: # set for fonts
 *             raise ValueError("Target texture is read-only")
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 12132, __pyx_L1_error)

    /* "dearcygui/core.pyx":12131
 *         lock_gil_friendly(m, self.write_mutex)
 *         lock_gil_friendly(m2, self.mutex)
 *         if content.ndim > 3 or content.ndim == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts
 */
  }

  /* "dearcygui/core.pyx":12133
 *         if content.ndim > 3 or content.ndim == 0:
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts             # <<<<<<<<<<<<<<
 *             raise ValueError("Target texture is read-only")
 *         cdef int height = 1
 */
  if (unlikely(__pyx_v_self->readonly)) {

    /* "dearcygui/core.pyx":12134
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts
 *             raise ValueError("Target texture is read-only")             # <<<<<<<<<<<<<<
 *         cdef int height = 1
 *         cdef int width = 1
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 12134, __pyx_L1_error)

    /* "dearcygui/core.pyx":12133
 *         if content.ndim > 3 or content.ndim == 0:
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts             # <<<<<<<<<<<<<<
 *             raise ValueError("Target texture is read-only")
 *         cdef int height = 1
 */
  }

  /* "dearcygui/core.pyx":12135
 *         if self.readonly: # set for fonts
 *             raise ValueError("Target texture is read-only")
 *         cdef int height = 1             # <<<<<<<<<<<<<<
 *         cdef int width = 1
 *         cdef int num_chans = 1
 */
  __pyx_v_height = 1;

  /* "dearcygui/core.pyx":12136
 *             raise ValueError("Target texture is read-only")
 *         cdef int height = 1
 *         cdef int width = 1             # <<<<<<<<<<<<<<
 *         cdef int num_chans = 1
 *         assert(content.flags['C_CONTIGUOUS'])
 */
  __pyx_v_width = 1;

  /* "dearcygui/core.pyx":12137
 *         cdef int height = 1
 *         cdef int width = 1
 *         cdef int num_chans = 1             # <<<<<<<<<<<<<<
 *         assert(content.flags['C_CONTIGUOUS'])
 *         if content.ndim >= 1:
 */
  __pyx_v_num_chans = 1;

  /* "dearcygui/core.pyx":12138
 *         cdef int width = 1
 *         cdef int num_chans = 1
 *         assert(content.flags['C_CONTIGUOUS'])             # <<<<<<<<<<<<<<
 *         if content.ndim >= 1:
 *             height = content.shape[0]
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_content), __pyx_n_s_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C_CONTIGUOUS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 12138, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 12138, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 12138, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":12139
 *         cdef int num_chans = 1
 *         assert(content.flags['C_CONTIGUOUS'])
 *         if content.ndim >= 1:             # <<<<<<<<<<<<<<
 *             height = content.shape[0]
 *         if content.ndim >= 2:
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_content) >= 1);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12140
 *         assert(content.flags['C_CONTIGUOUS'])
 *         if content.ndim >= 1:
 *             height = content.shape[0]             # <<<<<<<<<<<<<<
 *         if content.ndim >= 2:
 *             width = content.shape[1]
 */
    __pyx_v_height = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_content)[0]);

    /* "dearcygui/core.pyx":12139
 *         cdef int num_chans = 1
 *         assert(content.flags['C_CONTIGUOUS'])
 *         if content.ndim >= 1:             # <<<<<<<<<<<<<<
 *             height = content.shape[0]
 *         if content.ndim >= 2:
 */
  }

  /* "dearcygui/core.pyx":12141
 *         if content.ndim >= 1:
 *             height = content.shape[0]
 *         if content.ndim >= 2:             # <<<<<<<<<<<<<<
 *             width = content.shape[1]
 *         if content.ndim >= 3:
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_content) >= 2);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12142
 *             height = content.shape[0]
 *         if content.ndim >= 2:
 *             width = content.shape[1]             # <<<<<<<<<<<<<<
 *         if content.ndim >= 3:
 *             num_chans = content.shape[2]
 */
    __pyx_v_width = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_content)[1]);

    /* "dearcygui/core.pyx":12141
 *         if content.ndim >= 1:
 *             height = content.shape[0]
 *         if content.ndim >= 2:             # <<<<<<<<<<<<<<
 *             width = content.shape[1]
 *         if content.ndim >= 3:
 */
  }

  /* "dearcygui/core.pyx":12143
 *         if content.ndim >= 2:
 *             width = content.shape[1]
 *         if content.ndim >= 3:             # <<<<<<<<<<<<<<
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_content) >= 3);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12144
 *             width = content.shape[1]
 *         if content.ndim >= 3:
 *             num_chans = content.shape[2]             # <<<<<<<<<<<<<<
 *         if width * height * num_chans == 0:
 *             raise ValueError("Cannot set empty texture")
 */
    __pyx_v_num_chans = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_content)[2]);

    /* "dearcygui/core.pyx":12143
 *         if content.ndim >= 2:
 *             width = content.shape[1]
 *         if content.ndim >= 3:             # <<<<<<<<<<<<<<
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:
 */
  }

  /* "dearcygui/core.pyx":12145
 *         if content.ndim >= 3:
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot set empty texture")
 * 
 */
  __pyx_t_1 = (((__pyx_v_width * __pyx_v_height) * __pyx_v_num_chans) == 0);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12146
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:
 *             raise ValueError("Cannot set empty texture")             # <<<<<<<<<<<<<<
 * 
 *         # TODO: there must be a faster test
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 12146, __pyx_L1_error)

    /* "dearcygui/core.pyx":12145
 *         if content.ndim >= 3:
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot set empty texture")
 * 
 */
  }

  /* "dearcygui/core.pyx":12149
 * 
 *         # TODO: there must be a faster test
 *         if not(content.dtype == np.float32 or content.dtype == np.uint8):             # <<<<<<<<<<<<<<
 *             content = np.ascontiguousarray(content, dtype=np.float32)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_content), __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_content), __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 12149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __pyx_t_2;
  __pyx_L12_bool_binop_done:;
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":12150
 *         # TODO: there must be a faster test
 *         if not(content.dtype == np.float32 or content.dtype == np.uint8):
 *             content = np.ascontiguousarray(content, dtype=np.float32)             # <<<<<<<<<<<<<<
 * 
 *         cdef bint reuse = self.allocated_texture != NULL
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF((PyObject *)__pyx_v_content);
    __Pyx_GIVEREF((PyObject *)__pyx_v_content);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_content))) __PYX_ERR(1, 12150, __pyx_L1_error);
    __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 12150, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_content, ((PyArrayObject *)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":12149
 * 
 *         # TODO: there must be a faster test
 *         if not(content.dtype == np.float32 or content.dtype == np.uint8):             # <<<<<<<<<<<<<<
 *             content = np.ascontiguousarray(content, dtype=np.float32)
 * 
 */
  }

  /* "dearcygui/core.pyx":12152
 *             content = np.ascontiguousarray(content, dtype=np.float32)
 * 
 *         cdef bint reuse = self.allocated_texture != NULL             # <<<<<<<<<<<<<<
 *         cdef bint success
 *         reuse = reuse and (self._width != width or self._height != height or self._num_chans != num_chans)
 */
  __pyx_v_reuse = (__pyx_v_self->allocated_texture != NULL);

  /* "dearcygui/core.pyx":12154
 *         cdef bint reuse = self.allocated_texture != NULL
 *         cdef bint success
 *         reuse = reuse and (self._width != width or self._height != height or self._num_chans != num_chans)             # <<<<<<<<<<<<<<
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0
 *         with nogil:
 */
  if (__pyx_v_reuse) {
  } else {
    __pyx_t_2 = __pyx_v_reuse;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_self->_width != __pyx_v_width);
  if (!__pyx_t_1) {
  } else {
    __pyx_t_2 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_self->_height != __pyx_v_height);
  if (!__pyx_t_1) {
  } else {
    __pyx_t_2 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_self->_num_chans != __pyx_v_num_chans);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L14_bool_binop_done:;
  __pyx_v_reuse = __pyx_t_2;

  /* "dearcygui/core.pyx":12155
 *         cdef bint success
 *         reuse = reuse and (self._width != width or self._height != height or self._num_chans != num_chans)
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0             # <<<<<<<<<<<<<<
 *         with nogil:
 *             if self.allocated_texture != NULL and not(reuse):
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_content), __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 12155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {
    __pyx_t_8 = 1;
  } else {
    __pyx_t_8 = 0;
  }
  __pyx_v_buffer_type = __pyx_t_8;

  /* "dearcygui/core.pyx":12156
 *         reuse = reuse and (self._width != width or self._height != height or self._num_chans != num_chans)
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0
 *         with nogil:             # <<<<<<<<<<<<<<
 *             if self.allocated_texture != NULL and not(reuse):
 *                 # We must wait there is no rendering since the current rendering might reference the texture
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      _save = NULL;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "dearcygui/core.pyx":12157
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0
 *         with nogil:
 *             if self.allocated_texture != NULL and not(reuse):             # <<<<<<<<<<<<<<
 *                 # We must wait there is no rendering since the current rendering might reference the texture
 *                 # Release current lock to not block rendering
 */
        __pyx_t_1 = (__pyx_v_self->allocated_texture != NULL);
        if (__pyx_t_1) {
        } else {
          __pyx_t_2 = __pyx_t_1;
          goto __pyx_L22_bool_binop_done;
        }
        __pyx_t_1 = (!__pyx_v_reuse);
        __pyx_t_2 = __pyx_t_1;
        __pyx_L22_bool_binop_done:;
        if (__pyx_t_2) {

          /* "dearcygui/core.pyx":12161
 *                 # Release current lock to not block rendering
 *                 # Wait we can prevent rendering
 *                 if not(self.context.imgui_mutex.try_lock()):             # <<<<<<<<<<<<<<
 *                     m2.unlock()
 *                     # rendering can take some time, fortunately we avoid holding the gil
 */
          __pyx_t_2 = (!__pyx_v_self->__pyx_base.context->imgui_mutex.try_lock());
          if (__pyx_t_2) {

            /* "dearcygui/core.pyx":12162
 *                 # Wait we can prevent rendering
 *                 if not(self.context.imgui_mutex.try_lock()):
 *                     m2.unlock()             # <<<<<<<<<<<<<<
 *                     # rendering can take some time, fortunately we avoid holding the gil
 *                     self.context.imgui_mutex.lock()
 */
            __pyx_v_m2.unlock();

            /* "dearcygui/core.pyx":12164
 *                     m2.unlock()
 *                     # rendering can take some time, fortunately we avoid holding the gil
 *                     self.context.imgui_mutex.lock()             # <<<<<<<<<<<<<<
 *                     m2.lock()
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 */
            __pyx_v_self->__pyx_base.context->imgui_mutex.lock();

            /* "dearcygui/core.pyx":12165
 *                     # rendering can take some time, fortunately we avoid holding the gil
 *                     self.context.imgui_mutex.lock()
 *                     m2.lock()             # <<<<<<<<<<<<<<
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *                 mvFreeTexture(self.allocated_texture)
 */
            __pyx_v_m2.lock();

            /* "dearcygui/core.pyx":12161
 *                 # Release current lock to not block rendering
 *                 # Wait we can prevent rendering
 *                 if not(self.context.imgui_mutex.try_lock()):             # <<<<<<<<<<<<<<
 *                     m2.unlock()
 *                     # rendering can take some time, fortunately we avoid holding the gil
 */
          }

          /* "dearcygui/core.pyx":12166
 *                     self.context.imgui_mutex.lock()
 *                     m2.lock()
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))             # <<<<<<<<<<<<<<
 *                 mvFreeTexture(self.allocated_texture)
 *                 self.allocated_texture = NULL
 */
          mvMakeUploadContextCurrent((*__pyx_v_self->__pyx_base.context->_viewport->viewport));

          /* "dearcygui/core.pyx":12167
 *                     m2.lock()
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *                 mvFreeTexture(self.allocated_texture)             # <<<<<<<<<<<<<<
 *                 self.allocated_texture = NULL
 *                 self.context.imgui_mutex.unlock()
 */
          mvFreeTexture(__pyx_v_self->allocated_texture);

          /* "dearcygui/core.pyx":12168
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *                 mvFreeTexture(self.allocated_texture)
 *                 self.allocated_texture = NULL             # <<<<<<<<<<<<<<
 *                 self.context.imgui_mutex.unlock()
 *             else:
 */
          __pyx_v_self->allocated_texture = NULL;

          /* "dearcygui/core.pyx":12169
 *                 mvFreeTexture(self.allocated_texture)
 *                 self.allocated_texture = NULL
 *                 self.context.imgui_mutex.unlock()             # <<<<<<<<<<<<<<
 *             else:
 *                 m2.unlock()
 */
          __pyx_v_self->__pyx_base.context->imgui_mutex.unlock();

          /* "dearcygui/core.pyx":12157
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0
 *         with nogil:
 *             if self.allocated_texture != NULL and not(reuse):             # <<<<<<<<<<<<<<
 *                 # We must wait there is no rendering since the current rendering might reference the texture
 *                 # Release current lock to not block rendering
 */
          goto __pyx_L21;
        }

        /* "dearcygui/core.pyx":12171
 *                 self.context.imgui_mutex.unlock()
 *             else:
 *                 m2.unlock()             # <<<<<<<<<<<<<<
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *                 m2.lock()
 */
        /*else*/ {
          __pyx_v_m2.unlock();

          /* "dearcygui/core.pyx":12172
 *             else:
 *                 m2.unlock()
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))             # <<<<<<<<<<<<<<
 *                 m2.lock()
 * 
 */
          mvMakeUploadContextCurrent((*__pyx_v_self->__pyx_base.context->_viewport->viewport));

          /* "dearcygui/core.pyx":12173
 *                 m2.unlock()
 *                 mvMakeUploadContextCurrent(dereference(self.context._viewport.viewport))
 *                 m2.lock()             # <<<<<<<<<<<<<<
 * 
 *             # Note we don't need the imgui mutex to create or upload textures.
 */
          __pyx_v_m2.lock();
        }
        __pyx_L21:;

        /* "dearcygui/core.pyx":12181
 *             # That mutex is held in the relevant parts of frame rendering.
 * 
 *             self._width = width             # <<<<<<<<<<<<<<
 *             self._height = height
 *             self._num_chans = num_chans
 */
        __pyx_v_self->_width = __pyx_v_width;

        /* "dearcygui/core.pyx":12182
 * 
 *             self._width = width
 *             self._height = height             # <<<<<<<<<<<<<<
 *             self._num_chans = num_chans
 * 
 */
        __pyx_v_self->_height = __pyx_v_height;

        /* "dearcygui/core.pyx":12183
 *             self._width = width
 *             self._height = height
 *             self._num_chans = num_chans             # <<<<<<<<<<<<<<
 * 
 *             if not(reuse):
 */
        __pyx_v_self->_num_chans = __pyx_v_num_chans;

        /* "dearcygui/core.pyx":12185
 *             self._num_chans = num_chans
 * 
 *             if not(reuse):             # <<<<<<<<<<<<<<
 *                 self.dynamic = self._hint_dynamic
 *                 self.allocated_texture = mvAllocateTexture(width, height, num_chans, self.dynamic, buffer_type, self.filtering_mode)
 */
        __pyx_t_2 = (!__pyx_v_reuse);
        if (__pyx_t_2) {

          /* "dearcygui/core.pyx":12186
 * 
 *             if not(reuse):
 *                 self.dynamic = self._hint_dynamic             # <<<<<<<<<<<<<<
 *                 self.allocated_texture = mvAllocateTexture(width, height, num_chans, self.dynamic, buffer_type, self.filtering_mode)
 * 
 */
          __pyx_t_2 = __pyx_v_self->_hint_dynamic;
          __pyx_v_self->dynamic = __pyx_t_2;

          /* "dearcygui/core.pyx":12187
 *             if not(reuse):
 *                 self.dynamic = self._hint_dynamic
 *                 self.allocated_texture = mvAllocateTexture(width, height, num_chans, self.dynamic, buffer_type, self.filtering_mode)             # <<<<<<<<<<<<<<
 * 
 *             success = self.allocated_texture != NULL
 */
          __pyx_v_self->allocated_texture = mvAllocateTexture(__pyx_v_width, __pyx_v_height, __pyx_v_num_chans, __pyx_v_self->dynamic, __pyx_v_buffer_type, __pyx_v_self->filtering_mode);

          /* "dearcygui/core.pyx":12185
 *             self._num_chans = num_chans
 * 
 *             if not(reuse):             # <<<<<<<<<<<<<<
 *                 self.dynamic = self._hint_dynamic
 *                 self.allocated_texture = mvAllocateTexture(width, height, num_chans, self.dynamic, buffer_type, self.filtering_mode)
 */
        }

        /* "dearcygui/core.pyx":12189
 *                 self.allocated_texture = mvAllocateTexture(width, height, num_chans, self.dynamic, buffer_type, self.filtering_mode)
 * 
 *             success = self.allocated_texture != NULL             # <<<<<<<<<<<<<<
 *             if success:
 *                 if self.dynamic:
 */
        __pyx_v_success = (__pyx_v_self->allocated_texture != NULL);

        /* "dearcygui/core.pyx":12190
 * 
 *             success = self.allocated_texture != NULL
 *             if success:             # <<<<<<<<<<<<<<
 *                 if self.dynamic:
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 */
        if (__pyx_v_success) {

          /* "dearcygui/core.pyx":12191
 *             success = self.allocated_texture != NULL
 *             if success:
 *                 if self.dynamic:             # <<<<<<<<<<<<<<
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 *                 else:
 */
          if (__pyx_v_self->dynamic) {

            /* "dearcygui/core.pyx":12192
 *             if success:
 *                 if self.dynamic:
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)             # <<<<<<<<<<<<<<
 *                 else:
 *                     success = mvUpdateStaticTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 */
            __pyx_v_success = mvUpdateDynamicTexture(__pyx_v_self->allocated_texture, __pyx_v_width, __pyx_v_height, __pyx_v_num_chans, __pyx_v_buffer_type, ((void *)__pyx_f_5numpy_7ndarray_4data_data(__pyx_v_content)));

            /* "dearcygui/core.pyx":12191
 *             success = self.allocated_texture != NULL
 *             if success:
 *                 if self.dynamic:             # <<<<<<<<<<<<<<
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 *                 else:
 */
            goto __pyx_L27;
          }

          /* "dearcygui/core.pyx":12194
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 *                 else:
 *                     success = mvUpdateStaticTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)             # <<<<<<<<<<<<<<
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 *             m.unlock()
 */
          /*else*/ {
            __pyx_v_success = mvUpdateStaticTexture(__pyx_v_self->allocated_texture, __pyx_v_width, __pyx_v_height, __pyx_v_num_chans, __pyx_v_buffer_type, ((void *)__pyx_f_5numpy_7ndarray_4data_data(__pyx_v_content)));
          }
          __pyx_L27:;

          /* "dearcygui/core.pyx":12190
 * 
 *             success = self.allocated_texture != NULL
 *             if success:             # <<<<<<<<<<<<<<
 *                 if self.dynamic:
 *                     success = mvUpdateDynamicTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 */
        }

        /* "dearcygui/core.pyx":12195
 *                 else:
 *                     success = mvUpdateStaticTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))             # <<<<<<<<<<<<<<
 *             m.unlock()
 *             m2.unlock() # Release before we get gil again
 */
        mvReleaseUploadContext((*__pyx_v_self->__pyx_base.context->_viewport->viewport));

        /* "dearcygui/core.pyx":12196
 *                     success = mvUpdateStaticTexture(self.allocated_texture, width, height, num_chans, buffer_type, <void*>content.data)
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 *             m.unlock()             # <<<<<<<<<<<<<<
 *             m2.unlock() # Release before we get gil again
 *         if not(success):
 */
        __pyx_v_m.unlock();

        /* "dearcygui/core.pyx":12197
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 *             m.unlock()
 *             m2.unlock() # Release before we get gil again             # <<<<<<<<<<<<<<
 *         if not(success):
 *             raise MemoryError("Failed to upload target texture")
 */
        __pyx_v_m2.unlock();
      }

      /* "dearcygui/core.pyx":12156
 *         reuse = reuse and (self._width != width or self._height != height or self._num_chans != num_chans)
 *         cdef unsigned buffer_type = 1 if content.dtype == np.uint8 else 0
 *         with nogil:             # <<<<<<<<<<<<<<
 *             if self.allocated_texture != NULL and not(reuse):
 *                 # We must wait there is no rendering since the current rendering might reference the texture
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L20;
        }
        __pyx_L20:;
      }
  }

  /* "dearcygui/core.pyx":12198
 *             m.unlock()
 *             m2.unlock() # Release before we get gil again
 *         if not(success):             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to upload target texture")
 * 
 */
  __pyx_t_2 = (!__pyx_v_success);
  if (unlikely(__pyx_t_2)) {

    /* "dearcygui/core.pyx":12199
 *             m2.unlock() # Release before we get gil again
 *         if not(success):
 *             raise MemoryError("Failed to upload target texture")             # <<<<<<<<<<<<<<
 * 
 * def get_system_fonts():
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 12199, __pyx_L1_error)

    /* "dearcygui/core.pyx":12198
 *             m.unlock()
 *             m2.unlock() # Release before we get gil again
 *         if not(success):             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to upload target texture")
 * 
 */
  }

  /* "dearcygui/core.pyx":12124
 *         self.set_content(np.ascontiguousarray(value))
 * 
 *     cdef void set_content(self, cnp.ndarray content): # TODO: deadlock when held by external lock             # <<<<<<<<<<<<<<
 *         # The write mutex is to ensure order of processing of set_content
 *         # as we might release the item mutex to wait for imgui to render
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.Texture.set_content", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_content);
  __Pyx_RefNannyFinishContext();
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Texture_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_9__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_8__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Texture.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7Texture_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_11__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7Texture_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_7Texture_10__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_7Texture_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Texture *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Texture.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12201
 *             raise MemoryError("Failed to upload target texture")
 * 
 * def get_system_fonts():             # <<<<<<<<<<<<<<
 *     """
 *     Returns a list of available fonts
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_1get_system_fonts(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_get_system_fonts, "\n    Returns a list of available fonts\n    ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_1get_system_fonts = {"get_system_fonts", (PyCFunction)__pyx_pw_9dearcygui_4core_1get_system_fonts, METH_NOARGS, __pyx_doc_9dearcygui_4core_get_system_fonts};
static PyObject *__pyx_pw_9dearcygui_4core_1get_system_fonts(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_system_fonts (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_get_system_fonts(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_get_system_fonts(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_v_fonts_filename = 0;
  PyObject *__pyx_v_get_system_fonts_filename = 0;
  PyObject *__pyx_v_FindSystemFontsFilenameException = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  unsigned int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_system_fonts", 1);

  /* "dearcygui/core.pyx":12205
 *     Returns a list of available fonts
 *     """
 *     fonts_filename = []             # <<<<<<<<<<<<<<
 *     try:
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_fonts_filename = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12206
 *     """
 *     fonts_filename = []
 *     try:             # <<<<<<<<<<<<<<
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 *         fonts_filename = get_system_fonts_filename()
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "dearcygui/core.pyx":12207
 *     fonts_filename = []
 *     try:
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException             # <<<<<<<<<<<<<<
 *         fonts_filename = get_system_fonts_filename()
 *     except FindSystemFontsFilenameException:
 */
      __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12207, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_n_s_get_system_fonts_filename);
      __Pyx_GIVEREF(__pyx_n_s_get_system_fonts_filename);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_get_system_fonts_filename)) __PYX_ERR(1, 12207, __pyx_L3_error);
      __Pyx_INCREF(__pyx_n_s_FindSystemFontsFilenameException);
      __Pyx_GIVEREF(__pyx_n_s_FindSystemFontsFilenameException);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_FindSystemFontsFilenameException)) __PYX_ERR(1, 12207, __pyx_L3_error);
      __pyx_t_5 = __Pyx_Import(__pyx_n_s_find_system_fonts_filename, __pyx_t_1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12207, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_get_system_fonts_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12207, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_v_get_system_fonts_filename = __pyx_t_1;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_FindSystemFontsFilenameException); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12207, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_v_FindSystemFontsFilenameException = __pyx_t_1;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "dearcygui/core.pyx":12208
 *     try:
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 *         fonts_filename = get_system_fonts_filename()             # <<<<<<<<<<<<<<
 *     except FindSystemFontsFilenameException:
 *         # Deal with the exception
 */
      __Pyx_INCREF(__pyx_v_get_system_fonts_filename);
      __pyx_t_1 = __pyx_v_get_system_fonts_filename; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
          __pyx_t_7 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12208, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
      __Pyx_DECREF_SET(__pyx_v_fonts_filename, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "dearcygui/core.pyx":12206
 *     """
 *     fonts_filename = []
 *     try:             # <<<<<<<<<<<<<<
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 *         fonts_filename = get_system_fonts_filename()
 */
    }
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "dearcygui/core.pyx":12209
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 *         fonts_filename = get_system_fonts_filename()
 *     except FindSystemFontsFilenameException:             # <<<<<<<<<<<<<<
 *         # Deal with the exception
 *         pass
 */
    if (unlikely(!__pyx_v_FindSystemFontsFilenameException)) { __Pyx_RaiseUnboundLocalError("FindSystemFontsFilenameException"); __PYX_ERR(1, 12209, __pyx_L5_except_error) }
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_v_FindSystemFontsFilenameException);
    if (__pyx_t_8) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "dearcygui/core.pyx":12206
 *     """
 *     fonts_filename = []
 *     try:             # <<<<<<<<<<<<<<
 *         from find_system_fonts_filename import get_system_fonts_filename, FindSystemFontsFilenameException
 *         fonts_filename = get_system_fonts_filename()
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    __pyx_L8_try_end:;
  }

  /* "dearcygui/core.pyx":12212
 *         # Deal with the exception
 *         pass
 *     return fonts_filename             # <<<<<<<<<<<<<<
 * 
 * cdef class Font(baseItem):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_fonts_filename);
  __pyx_r = __pyx_v_fonts_filename;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12201
 *             raise MemoryError("Failed to upload target texture")
 * 
 * def get_system_fonts():             # <<<<<<<<<<<<<<
 *     """
 *     Returns a list of available fonts
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.get_system_fonts", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_fonts_filename);
  __Pyx_XDECREF(__pyx_v_get_system_fonts_filename);
  __Pyx_XDECREF(__pyx_v_FindSystemFontsFilenameException);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12215
 * 
 * cdef class Font(baseItem):
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = False
 *         self.font = NULL
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Font_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Font_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_context = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12215, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12215, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 12215, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.Font.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font___cinit__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Font___cinit__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":12216
 * cdef class Font(baseItem):
 *     def __cinit__(self, context, *args, **kwargs):
 *         self.can_have_sibling = False             # <<<<<<<<<<<<<<
 *         self.font = NULL
 *         self.container = None
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 0;

  /* "dearcygui/core.pyx":12217
 *     def __cinit__(self, context, *args, **kwargs):
 *         self.can_have_sibling = False
 *         self.font = NULL             # <<<<<<<<<<<<<<
 *         self.container = None
 * 
 */
  __pyx_v_self->font = NULL;

  /* "dearcygui/core.pyx":12218
 *         self.can_have_sibling = False
 *         self.font = NULL
 *         self.container = None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->container);
  __Pyx_DECREF((PyObject *)__pyx_v_self->container);
  __pyx_v_self->container = ((struct __pyx_obj_9dearcygui_4core_FontTexture *)Py_None);

  /* "dearcygui/core.pyx":12215
 * 
 * cdef class Font(baseItem):
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = False
 *         self.font = NULL
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12220
 *         self.container = None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         return self.container
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Font_7texture_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Font_7texture_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_7texture___get__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Font_7texture___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12222
 *     @property
 *     def texture(self):
 *         return self.container             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->container);
  __pyx_r = ((PyObject *)__pyx_v_self->container);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12220
 *         self.container = None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         return self.container
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12224
 *         return self.container
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """Readonly attribute: native height of characters"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Font_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Font_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_4size___get__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Font_4size___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12227
 *     def size(self):
 *         """Readonly attribute: native height of characters"""
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         return self.font.FontSize
 */
  __pyx_t_1 = (__pyx_v_self->font == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12228
 *         """Readonly attribute: native height of characters"""
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")             # <<<<<<<<<<<<<<
 *         return self.font.FontSize
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12228, __pyx_L1_error)

    /* "dearcygui/core.pyx":12227
 *     def size(self):
 *         """Readonly attribute: native height of characters"""
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         return self.font.FontSize
 */
  }

  /* "dearcygui/core.pyx":12229
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")
 *         return self.font.FontSize             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->font->FontSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12224
 *         return self.container
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         """Readonly attribute: native height of characters"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Font.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12231
 *         return self.font.FontSize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Font_5scale_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Font_5scale_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_5scale___get__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Font_5scale___get__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12234
 *     def scale(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         """Writable attribute: multiplicative factor to scale the font when used"""
 *         if self.font == NULL:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12236
 *         lock_gil_friendly(m, self.mutex)
 *         """Writable attribute: multiplicative factor to scale the font when used"""
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         return self.font.Scale
 */
  __pyx_t_1 = (__pyx_v_self->font == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12237
 *         """Writable attribute: multiplicative factor to scale the font when used"""
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")             # <<<<<<<<<<<<<<
 *         return self.font.Scale
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12237, __pyx_L1_error)

    /* "dearcygui/core.pyx":12236
 *         lock_gil_friendly(m, self.mutex)
 *         """Writable attribute: multiplicative factor to scale the font when used"""
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         return self.font.Scale
 */
  }

  /* "dearcygui/core.pyx":12238
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")
 *         return self.font.Scale             # <<<<<<<<<<<<<<
 * 
 *     @scale.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->font->Scale); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12231
 *         return self.font.FontSize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Font.scale.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12240
 *         return self.font.Scale
 * 
 *     @scale.setter             # <<<<<<<<<<<<<<
 *     def scale(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Font_5scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Font_5scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 12241, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Font.scale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_5scale_2__set__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Font_5scale_2__set__(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":12243
 *     def scale(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12244
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         if value <= 0.:
 */
  __pyx_t_1 = (__pyx_v_self->font == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12245
 *         lock_gil_friendly(m, self.mutex)
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")             # <<<<<<<<<<<<<<
 *         if value <= 0.:
 *             raise ValueError(f"Invalid scale {value}")
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12245, __pyx_L1_error)

    /* "dearcygui/core.pyx":12244
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Uninitialized font")
 *         if value <= 0.:
 */
  }

  /* "dearcygui/core.pyx":12246
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")
 *         if value <= 0.:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Invalid scale {value}")
 *         self.font.Scale = value
 */
  __pyx_t_1 = (__pyx_v_value <= 0.);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12247
 *             raise ValueError("Uninitialized font")
 *         if value <= 0.:
 *             raise ValueError(f"Invalid scale {value}")             # <<<<<<<<<<<<<<
 *         self.font.Scale = value
 * 
 */
    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Invalid_scale, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 12247, __pyx_L1_error)

    /* "dearcygui/core.pyx":12246
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")
 *         if value <= 0.:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Invalid scale {value}")
 *         self.font.Scale = value
 */
  }

  /* "dearcygui/core.pyx":12248
 *         if value <= 0.:
 *             raise ValueError(f"Invalid scale {value}")
 *         self.font.Scale = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void push(self) noexcept nogil:
 */
  __pyx_v_self->font->Scale = __pyx_v_value;

  /* "dearcygui/core.pyx":12240
 *         return self.font.Scale
 * 
 *     @scale.setter             # <<<<<<<<<<<<<<
 *     def scale(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Font.scale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12250
 *         self.font.Scale = value
 * 
 *     cdef void push(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.font == NULL:
 *             return
 */

static void __pyx_f_9dearcygui_4core_4Font_push(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":12251
 * 
 *     cdef void push(self) noexcept nogil:
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             return
 *         self.mutex.lock()
 */
  __pyx_t_1 = (__pyx_v_self->font == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12252
 *     cdef void push(self) noexcept nogil:
 *         if self.font == NULL:
 *             return             # <<<<<<<<<<<<<<
 *         self.mutex.lock()
 *         imgui.PushFont(self.font)
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":12251
 * 
 *     cdef void push(self) noexcept nogil:
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             return
 *         self.mutex.lock()
 */
  }

  /* "dearcygui/core.pyx":12253
 *         if self.font == NULL:
 *             return
 *         self.mutex.lock()             # <<<<<<<<<<<<<<
 *         imgui.PushFont(self.font)
 * 
 */
  __pyx_v_self->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":12254
 *             return
 *         self.mutex.lock()
 *         imgui.PushFont(self.font)             # <<<<<<<<<<<<<<
 * 
 *     cdef void pop(self) noexcept nogil:
 */
  ImGui::PushFont(__pyx_v_self->font);

  /* "dearcygui/core.pyx":12250
 *         self.font.Scale = value
 * 
 *     cdef void push(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.font == NULL:
 *             return
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":12256
 *         imgui.PushFont(self.font)
 * 
 *     cdef void pop(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.font == NULL:
 *             return
 */

static void __pyx_f_9dearcygui_4core_4Font_pop(struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  int __pyx_t_1;

  /* "dearcygui/core.pyx":12257
 * 
 *     cdef void pop(self) noexcept nogil:
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             return
 *         imgui.PopFont()
 */
  __pyx_t_1 = (__pyx_v_self->font == NULL);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12258
 *     cdef void pop(self) noexcept nogil:
 *         if self.font == NULL:
 *             return             # <<<<<<<<<<<<<<
 *         imgui.PopFont()
 *         self.mutex.unlock()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":12257
 * 
 *     cdef void pop(self) noexcept nogil:
 *         if self.font == NULL:             # <<<<<<<<<<<<<<
 *             return
 *         imgui.PopFont()
 */
  }

  /* "dearcygui/core.pyx":12259
 *         if self.font == NULL:
 *             return
 *         imgui.PopFont()             # <<<<<<<<<<<<<<
 *         self.mutex.unlock()
 * 
 */
  ImGui::PopFont();

  /* "dearcygui/core.pyx":12260
 *             return
 *         imgui.PopFont()
 *         self.mutex.unlock()             # <<<<<<<<<<<<<<
 * 
 * cdef class FontTexture(baseItem):
 */
  __pyx_v_self->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":12256
 *         imgui.PushFont(self.font)
 * 
 *     cdef void pop(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         if self.font == NULL:
 *             return
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Font_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Font_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Font_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Font_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Font_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Font.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Font_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Font_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Font_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Font_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Font_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Font_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Font.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12267
 *     a texture for internal use by ImGui.
 *     """
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._built = False
 *         self.can_have_sibling = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11FontTexture_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11FontTexture_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_context = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12267, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12267, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 12267, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.FontTexture.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture___cinit__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11FontTexture___cinit__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":12268
 *     """
 *     def __cinit__(self, context, *args, **kwargs):
 *         self._built = False             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = False
 *         self.atlas = imgui.ImFontAtlas()
 */
  __pyx_v_self->_built = 0;

  /* "dearcygui/core.pyx":12269
 *     def __cinit__(self, context, *args, **kwargs):
 *         self._built = False
 *         self.can_have_sibling = False             # <<<<<<<<<<<<<<
 *         self.atlas = imgui.ImFontAtlas()
 *         self._texture = Texture(context)
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 0;

  /* "dearcygui/core.pyx":12270
 *         self._built = False
 *         self.can_have_sibling = False
 *         self.atlas = imgui.ImFontAtlas()             # <<<<<<<<<<<<<<
 *         self._texture = Texture(context)
 *         self.fonts = []
 */
  __pyx_v_self->atlas = ImFontAtlas();

  /* "dearcygui/core.pyx":12271
 *         self.can_have_sibling = False
 *         self.atlas = imgui.ImFontAtlas()
 *         self._texture = Texture(context)             # <<<<<<<<<<<<<<
 *         self.fonts = []
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Texture), __pyx_v_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_texture);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_texture);
  __pyx_v_self->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12272
 *         self.atlas = imgui.ImFontAtlas()
 *         self._texture = Texture(context)
 *         self.fonts = []             # <<<<<<<<<<<<<<
 * 
 *     def __delalloc__(self):
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->fonts);
  __Pyx_DECREF(__pyx_v_self->fonts);
  __pyx_v_self->fonts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12267
 *     a texture for internal use by ImGui.
 *     """
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._built = False
 *         self.can_have_sibling = False
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12274
 *         self.fonts = []
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         self.atlas.Clear() # Unsure if needed
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_3__delalloc__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11FontTexture_3__delalloc__ = {"__delalloc__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_3__delalloc__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_3__delalloc__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__delalloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_2__delalloc__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_2__delalloc__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__delalloc__", 1);

  /* "dearcygui/core.pyx":12275
 * 
 *     def __delalloc__(self):
 *         self.atlas.Clear() # Unsure if needed             # <<<<<<<<<<<<<<
 * 
 *     def add_font_file(self,
 */
  __pyx_v_self->atlas.Clear();

  /* "dearcygui/core.pyx":12274
 *         self.fonts = []
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         self.atlas.Clear() # Unsure if needed
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12277
 *         self.atlas.Clear() # Unsure if needed
 * 
 *     def add_font_file(self,             # <<<<<<<<<<<<<<
 *                       str path,
 *                       float size=13.,
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_5add_font_file(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_11FontTexture_4add_font_file, "\n        Prepare the target font file to be added to the FontTexture\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_11FontTexture_5add_font_file = {"add_font_file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_11FontTexture_5add_font_file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_11FontTexture_4add_font_file};
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_5add_font_file(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_path = 0;
  float __pyx_v_size;
  int __pyx_v_index_in_file;
  float __pyx_v_density_scale;
  int __pyx_v_subpixel;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_font_file (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_size,&__pyx_n_s_index_in_file,&__pyx_n_s_density_scale,&__pyx_n_s_subpixel,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_path)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12277, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12277, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_index_in_file);
          if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12277, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_density_scale);
          if (value) { values[3] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12277, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_subpixel);
          if (value) { values[4] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12277, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "add_font_file") < 0)) __PYX_ERR(1, 12277, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_path = ((PyObject*)values[0]);
    if (values[1]) {
      __pyx_v_size = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_size == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 12279, __pyx_L3_error)
    } else {
      __pyx_v_size = ((float)13.);
    }
    if (values[2]) {
      __pyx_v_index_in_file = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_index_in_file == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12280, __pyx_L3_error)
    } else {
      __pyx_v_index_in_file = ((int)0);
    }
    if (values[3]) {
      __pyx_v_density_scale = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_density_scale == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 12281, __pyx_L3_error)
    } else {
      __pyx_v_density_scale = ((float)1.);
    }
    if (values[4]) {
      __pyx_v_subpixel = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_subpixel == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12282, __pyx_L3_error)
    } else {

      /* "dearcygui/core.pyx":12282
 *                       int index_in_file=0,
 *                       float density_scale=1.,
 *                       bint subpixel=True):             # <<<<<<<<<<<<<<
 *         """
 *         Prepare the target font file to be added to the FontTexture
 */
      __pyx_v_subpixel = ((int)1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("add_font_file", 0, 1, 5, __pyx_nargs); __PYX_ERR(1, 12277, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("dearcygui.core.FontTexture.add_font_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_path), (&PyUnicode_Type), 1, "path", 1))) __PYX_ERR(1, 12278, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_4add_font_file(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self), __pyx_v_path, __pyx_v_size, __pyx_v_index_in_file, __pyx_v_density_scale, __pyx_v_subpixel);

  /* "dearcygui/core.pyx":12277
 *         self.atlas.Clear() # Unsure if needed
 * 
 *     def add_font_file(self,             # <<<<<<<<<<<<<<
 *                       str path,
 *                       float size=13.,
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_4add_font_file(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_path, float __pyx_v_size, int __pyx_v_index_in_file, float __pyx_v_density_scale, int __pyx_v_subpixel) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImFontConfig __pyx_v_config;
  std::string __pyx_v_path_string;
  ImFont *__pyx_v_font;
  struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_font_object = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  unsigned int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  Py_UCS4 __pyx_t_8;
  int __pyx_t_9;
  std::string __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("add_font_file", 1);

  /* "dearcygui/core.pyx":12287
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._built:
 *             raise ValueError("Cannot add Font to built FontTexture")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12288
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot add Font to built FontTexture")
 *         if not(os.path.exists(path)):
 */
  if (unlikely(__pyx_v_self->_built)) {

    /* "dearcygui/core.pyx":12289
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:
 *             raise ValueError("Cannot add Font to built FontTexture")             # <<<<<<<<<<<<<<
 *         if not(os.path.exists(path)):
 *             raise ValueError(f"File {path} does not exist")
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 12289, __pyx_L1_error)

    /* "dearcygui/core.pyx":12288
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot add Font to built FontTexture")
 *         if not(os.path.exists(path)):
 */
  }

  /* "dearcygui/core.pyx":12290
 *         if self._built:
 *             raise ValueError("Cannot add Font to built FontTexture")
 *         if not(os.path.exists(path)):             # <<<<<<<<<<<<<<
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exists); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 12290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "dearcygui/core.pyx":12291
 *             raise ValueError("Cannot add Font to built FontTexture")
 *         if not(os.path.exists(path)):
 *             raise ValueError(f"File {path} does not exist")             # <<<<<<<<<<<<<<
 *         if size <= 0. or density_scale <= 0.:
 *             raise ValueError("Invalid texture size")
 */
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = 0;
    __pyx_t_8 = 127;
    __Pyx_INCREF(__pyx_kp_u_File);
    __pyx_t_7 += 5;
    __Pyx_GIVEREF(__pyx_kp_u_File);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_File);
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_v_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_8;
    __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_kp_u_does_not_exist);
    __pyx_t_7 += 15;
    __Pyx_GIVEREF(__pyx_kp_u_does_not_exist);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_does_not_exist);
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 12291, __pyx_L1_error)

    /* "dearcygui/core.pyx":12290
 *         if self._built:
 *             raise ValueError("Cannot add Font to built FontTexture")
 *         if not(os.path.exists(path)):             # <<<<<<<<<<<<<<
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:
 */
  }

  /* "dearcygui/core.pyx":12292
 *         if not(os.path.exists(path)):
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid texture size")
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 */
  __pyx_t_5 = (__pyx_v_size <= 0.);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_6 = __pyx_t_5;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_5 = (__pyx_v_density_scale <= 0.);
  __pyx_t_6 = __pyx_t_5;
  __pyx_L6_bool_binop_done:;
  if (unlikely(__pyx_t_6)) {

    /* "dearcygui/core.pyx":12293
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:
 *             raise ValueError("Invalid texture size")             # <<<<<<<<<<<<<<
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 *         config.OversampleH = 3 if subpixel else 1
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 12293, __pyx_L1_error)

    /* "dearcygui/core.pyx":12292
 *         if not(os.path.exists(path)):
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid texture size")
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 */
  }

  /* "dearcygui/core.pyx":12294
 *         if size <= 0. or density_scale <= 0.:
 *             raise ValueError("Invalid texture size")
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()             # <<<<<<<<<<<<<<
 *         config.OversampleH = 3 if subpixel else 1
 *         config.OversampleV = 3 if subpixel else 1
 */
  __pyx_v_config = ImFontConfig();

  /* "dearcygui/core.pyx":12295
 *             raise ValueError("Invalid texture size")
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 *         config.OversampleH = 3 if subpixel else 1             # <<<<<<<<<<<<<<
 *         config.OversampleV = 3 if subpixel else 1
 *         if not(subpixel):
 */
  if (__pyx_v_subpixel) {
    __pyx_t_9 = 3;
  } else {
    __pyx_t_9 = 1;
  }
  __pyx_v_config.OversampleH = __pyx_t_9;

  /* "dearcygui/core.pyx":12296
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 *         config.OversampleH = 3 if subpixel else 1
 *         config.OversampleV = 3 if subpixel else 1             # <<<<<<<<<<<<<<
 *         if not(subpixel):
 *             config.PixelSnapH = True
 */
  if (__pyx_v_subpixel) {
    __pyx_t_9 = 3;
  } else {
    __pyx_t_9 = 1;
  }
  __pyx_v_config.OversampleV = __pyx_t_9;

  /* "dearcygui/core.pyx":12297
 *         config.OversampleH = 3 if subpixel else 1
 *         config.OversampleV = 3 if subpixel else 1
 *         if not(subpixel):             # <<<<<<<<<<<<<<
 *             config.PixelSnapH = True
 *         config.SizePixels = size
 */
  __pyx_t_6 = (!__pyx_v_subpixel);
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":12298
 *         config.OversampleV = 3 if subpixel else 1
 *         if not(subpixel):
 *             config.PixelSnapH = True             # <<<<<<<<<<<<<<
 *         config.SizePixels = size
 *         config.RasterizerDensity = density_scale
 */
    __pyx_v_config.PixelSnapH = 1;

    /* "dearcygui/core.pyx":12297
 *         config.OversampleH = 3 if subpixel else 1
 *         config.OversampleV = 3 if subpixel else 1
 *         if not(subpixel):             # <<<<<<<<<<<<<<
 *             config.PixelSnapH = True
 *         config.SizePixels = size
 */
  }

  /* "dearcygui/core.pyx":12299
 *         if not(subpixel):
 *             config.PixelSnapH = True
 *         config.SizePixels = size             # <<<<<<<<<<<<<<
 *         config.RasterizerDensity = density_scale
 *         config.FontNo = index_in_file
 */
  __pyx_v_config.SizePixels = __pyx_v_size;

  /* "dearcygui/core.pyx":12300
 *             config.PixelSnapH = True
 *         config.SizePixels = size
 *         config.RasterizerDensity = density_scale             # <<<<<<<<<<<<<<
 *         config.FontNo = index_in_file
 *         cdef string path_string = bytes(path, 'utf-8')
 */
  __pyx_v_config.RasterizerDensity = __pyx_v_density_scale;

  /* "dearcygui/core.pyx":12301
 *         config.SizePixels = size
 *         config.RasterizerDensity = density_scale
 *         config.FontNo = index_in_file             # <<<<<<<<<<<<<<
 *         cdef string path_string = bytes(path, 'utf-8')
 *         cdef imgui.ImFont *font = \
 */
  __pyx_v_config.FontNo = __pyx_v_index_in_file;

  /* "dearcygui/core.pyx":12302
 *         config.RasterizerDensity = density_scale
 *         config.FontNo = index_in_file
 *         cdef string path_string = bytes(path, 'utf-8')             # <<<<<<<<<<<<<<
 *         cdef imgui.ImFont *font = \
 *             self.atlas.AddFontFromFileTTF(path_string.c_str(), size,
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_path);
  __Pyx_GIVEREF(__pyx_v_path);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_path)) __PYX_ERR(1, 12302, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 12302, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_10 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_path_string = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_10);

  /* "dearcygui/core.pyx":12304
 *         cdef string path_string = bytes(path, 'utf-8')
 *         cdef imgui.ImFont *font = \
 *             self.atlas.AddFontFromFileTTF(path_string.c_str(), size,             # <<<<<<<<<<<<<<
 * 		                                  &config, NULL)
 *         if font == NULL:
 */
  __pyx_v_font = __pyx_v_self->atlas.AddFontFromFileTTF(__pyx_v_path_string.c_str(), __pyx_v_size, (&__pyx_v_config), NULL);

  /* "dearcygui/core.pyx":12306
 *             self.atlas.AddFontFromFileTTF(path_string.c_str(), size,
 * 		                                  &config, NULL)
 *         if font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Failed to load target Font file {path}")
 *         cdef Font font_object = Font(self.context)
 */
  __pyx_t_6 = (__pyx_v_font == NULL);
  if (unlikely(__pyx_t_6)) {

    /* "dearcygui/core.pyx":12307
 * 		                                  &config, NULL)
 *         if font == NULL:
 *             raise ValueError(f"Failed to load target Font file {path}")             # <<<<<<<<<<<<<<
 *         cdef Font font_object = Font(self.context)
 *         font_object.container = self
 */
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_v_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_load_target_Font_file, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12307, __pyx_L1_error)

    /* "dearcygui/core.pyx":12306
 *             self.atlas.AddFontFromFileTTF(path_string.c_str(), size,
 * 		                                  &config, NULL)
 *         if font == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError(f"Failed to load target Font file {path}")
 *         cdef Font font_object = Font(self.context)
 */
  }

  /* "dearcygui/core.pyx":12308
 *         if font == NULL:
 *             raise ValueError(f"Failed to load target Font file {path}")
 *         cdef Font font_object = Font(self.context)             # <<<<<<<<<<<<<<
 *         font_object.container = self
 *         font_object.font = font
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_Font), ((PyObject *)__pyx_v_self->__pyx_base.context)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_font_object = ((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":12309
 *             raise ValueError(f"Failed to load target Font file {path}")
 *         cdef Font font_object = Font(self.context)
 *         font_object.container = self             # <<<<<<<<<<<<<<
 *         font_object.font = font
 *         self.fonts.append(font_object)
 */
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF((PyObject *)__pyx_v_font_object->container);
  __Pyx_DECREF((PyObject *)__pyx_v_font_object->container);
  __pyx_v_font_object->container = __pyx_v_self;

  /* "dearcygui/core.pyx":12310
 *         cdef Font font_object = Font(self.context)
 *         font_object.container = self
 *         font_object.font = font             # <<<<<<<<<<<<<<
 *         self.fonts.append(font_object)
 * 
 */
  __pyx_v_font_object->font = __pyx_v_font;

  /* "dearcygui/core.pyx":12311
 *         font_object.container = self
 *         font_object.font = font
 *         self.fonts.append(font_object)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  if (unlikely(__pyx_v_self->fonts == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(1, 12311, __pyx_L1_error)
  }
  __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->fonts, ((PyObject *)__pyx_v_font_object)); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(1, 12311, __pyx_L1_error)

  /* "dearcygui/core.pyx":12277
 *         self.atlas.Clear() # Unsure if needed
 * 
 *     def add_font_file(self,             # <<<<<<<<<<<<<<
 *                       str path,
 *                       float size=13.,
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.add_font_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_font_object);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12313
 *         self.fonts.append(font_object)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def built(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_5built_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_5built_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_5built___get__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_5built___get__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12316
 *     def built(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._built
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12317
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._built             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_built); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12313
 *         self.fonts.append(font_object)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def built(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.built.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12319
 *         return self._built
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_7texture_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_7texture_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_7texture___get__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_7texture___get__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12326
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12327
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             raise ValueError("Texture not yet built")
 *         return self._texture
 */
  __pyx_t_1 = (!__pyx_v_self->_built);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12328
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")             # <<<<<<<<<<<<<<
 *         return self._texture
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12328, __pyx_L1_error)

    /* "dearcygui/core.pyx":12327
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             raise ValueError("Texture not yet built")
 *         return self._texture
 */
  }

  /* "dearcygui/core.pyx":12329
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")
 *         return self._texture             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_texture);
  __pyx_r = ((PyObject *)__pyx_v_self->_texture);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12319
 *         return self._built
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def texture(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.texture.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12331
 *         return self._texture
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_9dearcygui_4core_11FontTexture_7__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_9dearcygui_4core_11FontTexture_7__len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_6__len__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_9dearcygui_4core_11FontTexture_6__len__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  Py_ssize_t __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":12333
 *     def __len__(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(self._built):
 *             return 0
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12334
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             return 0
 *         return <int>self.atlas.Fonts.size()
 */
  __pyx_t_1 = (!__pyx_v_self->_built);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":12335
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):
 *             return 0             # <<<<<<<<<<<<<<
 *         return <int>self.atlas.Fonts.size()
 * 
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":12334
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             return 0
 *         return <int>self.atlas.Fonts.size()
 */
  }

  /* "dearcygui/core.pyx":12336
 *         if not(self._built):
 *             return 0
 *         return <int>self.atlas.Fonts.size()             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, index):
 */
  __pyx_r = ((int)__pyx_v_self->atlas.Fonts.size());
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12331
 *         return self._texture
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12338
 *         return <int>self.atlas.Fonts.size()
 * 
 *     def __getitem__(self, index):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_9__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_9__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_8__getitem__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self), ((PyObject *)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_8__getitem__(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, PyObject *__pyx_v_index) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 1);

  /* "dearcygui/core.pyx":12340
 *     def __getitem__(self, index):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12341
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 */
  __pyx_t_1 = (!__pyx_v_self->_built);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12342
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")             # <<<<<<<<<<<<<<
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 *             raise IndexError("Outside range")
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12342, __pyx_L1_error)

    /* "dearcygui/core.pyx":12341
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):             # <<<<<<<<<<<<<<
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 */
  }

  /* "dearcygui/core.pyx":12343
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():             # <<<<<<<<<<<<<<
 *             raise IndexError("Outside range")
 *         return self.fonts[index]
 */
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_index, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12343, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 12343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_self->atlas.Fonts.size())); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_v_index, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 12343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12344
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 *             raise IndexError("Outside range")             # <<<<<<<<<<<<<<
 *         return self.fonts[index]
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 12344, __pyx_L1_error)

    /* "dearcygui/core.pyx":12343
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():             # <<<<<<<<<<<<<<
 *             raise IndexError("Outside range")
 *         return self.fonts[index]
 */
  }

  /* "dearcygui/core.pyx":12345
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 *             raise IndexError("Outside range")
 *         return self.fonts[index]             # <<<<<<<<<<<<<<
 * 
 *     def build(self):
 */
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_self->fonts == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12345, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self->fonts, __pyx_v_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12338
 *         return <int>self.atlas.Fonts.size()
 * 
 *     def __getitem__(self, index):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12347
 *         return self.fonts[index]
 * 
 *     def build(self):             # <<<<<<<<<<<<<<
 *         """
 *         Packs all the fonts appended with add_font_file
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_11build(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_11FontTexture_10build, "\n        Packs all the fonts appended with add_font_file\n        into a readonly texture. \n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_11FontTexture_11build = {"build", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_11build, METH_NOARGS, __pyx_doc_9dearcygui_4core_11FontTexture_10build};
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_11build(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("build (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_10build(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_10build(struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  unsigned char *__pyx_v_data;
  int __pyx_v_width;
  int __pyx_v_height;
  int __pyx_v_bpp;
  struct __pyx_array_obj *__pyx_v_data_array = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  unsigned int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("build", 1);

  /* "dearcygui/core.pyx":12353
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if self._built:
 *             return
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12354
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:             # <<<<<<<<<<<<<<
 *             return
 *         if self.atlas.Fonts.Size == 0:
 */
  if (__pyx_v_self->_built) {

    /* "dearcygui/core.pyx":12355
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:
 *             return             # <<<<<<<<<<<<<<
 *         if self.atlas.Fonts.Size == 0:
 *             raise ValueError("You must add fonts first")
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "dearcygui/core.pyx":12354
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:             # <<<<<<<<<<<<<<
 *             return
 *         if self.atlas.Fonts.Size == 0:
 */
  }

  /* "dearcygui/core.pyx":12356
 *         if self._built:
 *             return
 *         if self.atlas.Fonts.Size == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("You must add fonts first")
 *         # build
 */
  __pyx_t_1 = (__pyx_v_self->atlas.Fonts.Size == 0);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12357
 *             return
 *         if self.atlas.Fonts.Size == 0:
 *             raise ValueError("You must add fonts first")             # <<<<<<<<<<<<<<
 *         # build
 *         if not(self.atlas.Build()):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12357, __pyx_L1_error)

    /* "dearcygui/core.pyx":12356
 *         if self._built:
 *             return
 *         if self.atlas.Fonts.Size == 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("You must add fonts first")
 *         # build
 */
  }

  /* "dearcygui/core.pyx":12359
 *             raise ValueError("You must add fonts first")
 *         # build
 *         if not(self.atlas.Build()):             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Failed to build target texture data")
 *         # Retrieve the target buffer
 */
  __pyx_t_1 = (!__pyx_v_self->atlas.Build());
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":12360
 *         # build
 *         if not(self.atlas.Build()):
 *             raise RuntimeError("Failed to build target texture data")             # <<<<<<<<<<<<<<
 *         # Retrieve the target buffer
 *         cdef unsigned char *data = NULL
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 12360, __pyx_L1_error)

    /* "dearcygui/core.pyx":12359
 *             raise ValueError("You must add fonts first")
 *         # build
 *         if not(self.atlas.Build()):             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Failed to build target texture data")
 *         # Retrieve the target buffer
 */
  }

  /* "dearcygui/core.pyx":12362
 *             raise RuntimeError("Failed to build target texture data")
 *         # Retrieve the target buffer
 *         cdef unsigned char *data = NULL             # <<<<<<<<<<<<<<
 *         cdef int width, height, bpp
 *         if self.atlas.TexPixelsUseColors:
 */
  __pyx_v_data = NULL;

  /* "dearcygui/core.pyx":12364
 *         cdef unsigned char *data = NULL
 *         cdef int width, height, bpp
 *         if self.atlas.TexPixelsUseColors:             # <<<<<<<<<<<<<<
 *             self.atlas.GetTexDataAsRGBA32(&data, &width, &height, &bpp)
 *         else:
 */
  if (__pyx_v_self->atlas.TexPixelsUseColors) {

    /* "dearcygui/core.pyx":12365
 *         cdef int width, height, bpp
 *         if self.atlas.TexPixelsUseColors:
 *             self.atlas.GetTexDataAsRGBA32(&data, &width, &height, &bpp)             # <<<<<<<<<<<<<<
 *         else:
 *             self.atlas.GetTexDataAsAlpha8(&data, &width, &height, &bpp)
 */
    __pyx_v_self->atlas.GetTexDataAsRGBA32((&__pyx_v_data), (&__pyx_v_width), (&__pyx_v_height), (&__pyx_v_bpp));

    /* "dearcygui/core.pyx":12364
 *         cdef unsigned char *data = NULL
 *         cdef int width, height, bpp
 *         if self.atlas.TexPixelsUseColors:             # <<<<<<<<<<<<<<
 *             self.atlas.GetTexDataAsRGBA32(&data, &width, &height, &bpp)
 *         else:
 */
    goto __pyx_L6;
  }

  /* "dearcygui/core.pyx":12367
 *             self.atlas.GetTexDataAsRGBA32(&data, &width, &height, &bpp)
 *         else:
 *             self.atlas.GetTexDataAsAlpha8(&data, &width, &height, &bpp)             # <<<<<<<<<<<<<<
 * 
 *         # Upload texture
 */
  /*else*/ {
    __pyx_v_self->atlas.GetTexDataAsAlpha8((&__pyx_v_data), (&__pyx_v_width), (&__pyx_v_height), (&__pyx_v_bpp));
  }
  __pyx_L6:;

  /* "dearcygui/core.pyx":12370
 * 
 *         # Upload texture
 *         cdef cython.view.array data_array = cython.view.array(shape=(height, width, bpp), itemsize=1, format='B', mode='c', allocate_buffer=False)             # <<<<<<<<<<<<<<
 *         data_array.data = <char*>data
 *         self._texture.filtering_mode = 2 # 111A bilinear
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_height); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_width); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_bpp); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(1, 12370, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 12370, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(1, 12370, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_t_6) < 0) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_itemsize, __pyx_int_1) < 0) __PYX_ERR(1, 12370, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_format, __pyx_n_u_B) < 0) __PYX_ERR(1, 12370, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_u_c) < 0) __PYX_ERR(1, 12370, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_allocate_buffer, Py_False) < 0) __PYX_ERR(1, 12370, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_data_array = ((struct __pyx_array_obj *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "dearcygui/core.pyx":12371
 *         # Upload texture
 *         cdef cython.view.array data_array = cython.view.array(shape=(height, width, bpp), itemsize=1, format='B', mode='c', allocate_buffer=False)
 *         data_array.data = <char*>data             # <<<<<<<<<<<<<<
 *         self._texture.filtering_mode = 2 # 111A bilinear
 *         self._texture.set_value(np.asarray(data_array, dtype=np.uint8))
 */
  __pyx_v_data_array->data = ((char *)__pyx_v_data);

  /* "dearcygui/core.pyx":12372
 *         cdef cython.view.array data_array = cython.view.array(shape=(height, width, bpp), itemsize=1, format='B', mode='c', allocate_buffer=False)
 *         data_array.data = <char*>data
 *         self._texture.filtering_mode = 2 # 111A bilinear             # <<<<<<<<<<<<<<
 *         self._texture.set_value(np.asarray(data_array, dtype=np.uint8))
 *         assert(self._texture.allocated_texture != NULL)
 */
  __pyx_v_self->_texture->filtering_mode = 2;

  /* "dearcygui/core.pyx":12373
 *         data_array.data = <char*>data
 *         self._texture.filtering_mode = 2 # 111A bilinear
 *         self._texture.set_value(np.asarray(data_array, dtype=np.uint8))             # <<<<<<<<<<<<<<
 *         assert(self._texture.allocated_texture != NULL)
 *         self._texture.readonly = True
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_texture), __pyx_n_s_set_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF((PyObject *)__pyx_v_data_array);
  __Pyx_GIVEREF((PyObject *)__pyx_v_data_array);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_data_array))) __PYX_ERR(1, 12373, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint8); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "dearcygui/core.pyx":12374
 *         self._texture.filtering_mode = 2 # 111A bilinear
 *         self._texture.set_value(np.asarray(data_array, dtype=np.uint8))
 *         assert(self._texture.allocated_texture != NULL)             # <<<<<<<<<<<<<<
 *         self._texture.readonly = True
 *         self.atlas.SetTexID(self._texture.allocated_texture)
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->_texture->allocated_texture != NULL);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
      __PYX_ERR(1, 12374, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 12374, __pyx_L1_error)
  #endif

  /* "dearcygui/core.pyx":12375
 *         self._texture.set_value(np.asarray(data_array, dtype=np.uint8))
 *         assert(self._texture.allocated_texture != NULL)
 *         self._texture.readonly = True             # <<<<<<<<<<<<<<
 *         self.atlas.SetTexID(self._texture.allocated_texture)
 * 
 */
  __pyx_v_self->_texture->readonly = 1;

  /* "dearcygui/core.pyx":12376
 *         assert(self._texture.allocated_texture != NULL)
 *         self._texture.readonly = True
 *         self.atlas.SetTexID(self._texture.allocated_texture)             # <<<<<<<<<<<<<<
 * 
 *         # Release temporary CPU memory
 */
  __pyx_v_self->atlas.SetTexID(__pyx_v_self->_texture->allocated_texture);

  /* "dearcygui/core.pyx":12379
 * 
 *         # Release temporary CPU memory
 *         self.atlas.ClearInputData()             # <<<<<<<<<<<<<<
 *         self._built = True
 * 
 */
  __pyx_v_self->atlas.ClearInputData();

  /* "dearcygui/core.pyx":12380
 *         # Release temporary CPU memory
 *         self.atlas.ClearInputData()
 *         self._built = True             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->_built = 1;

  /* "dearcygui/core.pyx":12347
 *         return self.fonts[index]
 * 
 *     def build(self):             # <<<<<<<<<<<<<<
 *         """
 *         Packs all the fonts appended with add_font_file
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.FontTexture.build", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_data_array);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11FontTexture_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_13__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_12__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.FontTexture.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11FontTexture_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_15__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11FontTexture_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11FontTexture_14__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_FontTexture *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11FontTexture_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_FontTexture *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.FontTexture.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12388
 *     to apply for a given category (color, style)/(imgui/implot/imnode)
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_theme
 *         self.can_have_sibling = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9baseTheme_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_9baseTheme_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme___cinit__(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9baseTheme___cinit__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":12389
 *     """
 *     def __cinit__(self):
 *         self.element_child_category = child_type.cat_theme             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = True
 *         self.enabled = True
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_theme;

  /* "dearcygui/core.pyx":12390
 *     def __cinit__(self):
 *         self.element_child_category = child_type.cat_theme
 *         self.can_have_sibling = True             # <<<<<<<<<<<<<<
 *         self.enabled = True
 *     def configure(self, **kwargs):
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 1;

  /* "dearcygui/core.pyx":12391
 *         self.element_child_category = child_type.cat_theme
 *         self.can_have_sibling = True
 *         self.enabled = True             # <<<<<<<<<<<<<<
 *     def configure(self, **kwargs):
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 */
  __pyx_v_self->enabled = 1;

  /* "dearcygui/core.pyx":12388
 *     to apply for a given category (color, style)/(imgui/implot/imnode)
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_theme
 *         self.can_have_sibling = True
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12392
 *         self.can_have_sibling = True
 *         self.enabled = True
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9baseTheme_3configure = {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_9baseTheme_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_3configure(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("configure (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("configure", 1, 0, 0, __pyx_nargs); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "configure", 1))) return NULL;
  if (__pyx_kwds) {
    __pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  } else {
    __pyx_v_kwargs = PyDict_New();
    if (unlikely(!__pyx_v_kwargs)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwargs);
  }
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme_2configure(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_2configure(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 1);

  /* "dearcygui/core.pyx":12393
 *         self.enabled = True
 *     def configure(self, **kwargs):
 *         self.enabled = kwargs.pop("enabled", self.enabled)             # <<<<<<<<<<<<<<
 *         self.enabled = kwargs.pop("show", self.enabled)
 *         return super().configure(**kwargs)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_n_u_enabled, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->enabled = __pyx_t_6;

  /* "dearcygui/core.pyx":12394
 *     def configure(self, **kwargs):
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)             # <<<<<<<<<<<<<<
 *         return super().configure(**kwargs)
 *     @property
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_n_u_show, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->enabled = __pyx_t_6;

  /* "dearcygui/core.pyx":12395
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)
 *         return super().configure(**kwargs)             # <<<<<<<<<<<<<<
 *     @property
 *     def enabled(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_ptype_9dearcygui_4core_baseTheme);
  __Pyx_GIVEREF((PyObject *)__pyx_ptype_9dearcygui_4core_baseTheme);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_9dearcygui_4core_baseTheme))) __PYX_ERR(1, 12395, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 12395, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_configure); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
    __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12392
 *         self.can_have_sibling = True
 *         self.enabled = True
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.baseTheme.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12396
 *         self.enabled = kwargs.pop("show", self.enabled)
 *         return super().configure(**kwargs)
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_7enabled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme_7enabled___get__(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_7enabled___get__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12399
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.enabled
 *     @enabled.setter
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12400
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.enabled             # <<<<<<<<<<<<<<
 *     @enabled.setter
 *     def enabled(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12396
 *         self.enabled = kwargs.pop("show", self.enabled)
 *         return super().configure(**kwargs)
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.baseTheme.enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12401
 *         lock_gil_friendly(m, self.mutex)
 *         return self.enabled
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9baseTheme_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9baseTheme_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12402, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.baseTheme.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme_7enabled_2__set__(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9baseTheme_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12404
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.enabled = value
 *     # should be always defined by subclass
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12405
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.enabled = value             # <<<<<<<<<<<<<<
 *     # should be always defined by subclass
 *     cdef void push(self) noexcept nogil:
 */
  __pyx_v_self->enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":12401
 *         lock_gil_friendly(m, self.mutex)
 *         return self.enabled
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12407
 *         self.enabled = value
 *     # should be always defined by subclass
 *     cdef void push(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 *     cdef void pop(self) noexcept nogil:
 */

static void __pyx_f_9dearcygui_4core_9baseTheme_push(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self) {

  /* "dearcygui/core.pyx":12408
 *     # should be always defined by subclass
 *     cdef void push(self) noexcept nogil:
 *         return             # <<<<<<<<<<<<<<
 *     cdef void pop(self) noexcept nogil:
 *         return
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12407
 *         self.enabled = value
 *     # should be always defined by subclass
 *     cdef void push(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 *     cdef void pop(self) noexcept nogil:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":12409
 *     cdef void push(self) noexcept nogil:
 *         return
 *     cdef void pop(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:
 */

static void __pyx_f_9dearcygui_4core_9baseTheme_pop(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self) {

  /* "dearcygui/core.pyx":12410
 *         return
 *     cdef void pop(self) noexcept nogil:
 *         return             # <<<<<<<<<<<<<<
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:
 *         return
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12409
 *     cdef void push(self) noexcept nogil:
 *         return
 *     cdef void pop(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":12411
 *     cdef void pop(self) noexcept nogil:
 *         return
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

static void __pyx_f_9dearcygui_4core_9baseTheme_push_to_list(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, CYTHON_UNUSED std::vector<__pyx_t_9dearcygui_4core_theme_action>  &__pyx_v_v) {

  /* "dearcygui/core.pyx":12412
 *         return
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:
 *         return             # <<<<<<<<<<<<<<
 * 
 * """
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12411
 *     cdef void pop(self) noexcept nogil:
 *         return
 *     cdef void push_to_list(self, vector[theme_action]& v) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9baseTheme_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9baseTheme_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseTheme.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9baseTheme_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9baseTheme_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9baseTheme_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9baseTheme_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9baseTheme_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.baseTheme.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12446
 * # BaseItem that has has no parent/child nor sibling
 * cdef class PlotAxisConfig(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_clicked = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig___cinit__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig___cinit__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  int __pyx_r;
  std::string __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "dearcygui/core.pyx":12447
 * cdef class PlotAxisConfig(baseItem):
 *     def __cinit__(self):
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.p_state = &self.state
 */
  __pyx_v_self->state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":12448
 *     def __cinit__(self):
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.p_state = &self.state
 *         self._enabled = True
 */
  __pyx_v_self->state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":12449
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_clicked = True
 *         self.p_state = &self.state             # <<<<<<<<<<<<<<
 *         self._enabled = True
 *         self._scale = AxisScale.linear
 */
  __pyx_v_self->__pyx_base.p_state = (&__pyx_v_self->state);

  /* "dearcygui/core.pyx":12450
 *         self.state.cap.can_be_clicked = True
 *         self.p_state = &self.state
 *         self._enabled = True             # <<<<<<<<<<<<<<
 *         self._scale = AxisScale.linear
 *         self._tick_format = b""
 */
  __pyx_v_self->_enabled = 1;

  /* "dearcygui/core.pyx":12451
 *         self.p_state = &self.state
 *         self._enabled = True
 *         self._scale = AxisScale.linear             # <<<<<<<<<<<<<<
 *         self._tick_format = b""
 *         self.flags = 0
 */
  __pyx_v_self->_scale = __pyx_e_9dearcygui_4core_linear;

  /* "dearcygui/core.pyx":12452
 *         self._enabled = True
 *         self._scale = AxisScale.linear
 *         self._tick_format = b""             # <<<<<<<<<<<<<<
 *         self.flags = 0
 *         self._min = 0
 */
  __pyx_t_1 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12452, __pyx_L1_error)
  __pyx_v_self->_tick_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_1);

  /* "dearcygui/core.pyx":12453
 *         self._scale = AxisScale.linear
 *         self._tick_format = b""
 *         self.flags = 0             # <<<<<<<<<<<<<<
 *         self._min = 0
 *         self._max = 1
 */
  __pyx_v_self->flags = 0;

  /* "dearcygui/core.pyx":12454
 *         self._tick_format = b""
 *         self.flags = 0
 *         self._min = 0             # <<<<<<<<<<<<<<
 *         self._max = 1
 *         self.to_fit = True
 */
  __pyx_v_self->_min = 0.0;

  /* "dearcygui/core.pyx":12455
 *         self.flags = 0
 *         self._min = 0
 *         self._max = 1             # <<<<<<<<<<<<<<
 *         self.to_fit = True
 *         self.dirty_minmax = False
 */
  __pyx_v_self->_max = 1.0;

  /* "dearcygui/core.pyx":12456
 *         self._min = 0
 *         self._max = 1
 *         self.to_fit = True             # <<<<<<<<<<<<<<
 *         self.dirty_minmax = False
 *         self._constraint_min = -INFINITY
 */
  __pyx_v_self->to_fit = 1;

  /* "dearcygui/core.pyx":12457
 *         self._max = 1
 *         self.to_fit = True
 *         self.dirty_minmax = False             # <<<<<<<<<<<<<<
 *         self._constraint_min = -INFINITY
 *         self._constraint_max = INFINITY
 */
  __pyx_v_self->dirty_minmax = 0;

  /* "dearcygui/core.pyx":12458
 *         self.to_fit = True
 *         self.dirty_minmax = False
 *         self._constraint_min = -INFINITY             # <<<<<<<<<<<<<<
 *         self._constraint_max = INFINITY
 *         self._zoom_min = 0
 */
  __pyx_v_self->_constraint_min = (-INFINITY);

  /* "dearcygui/core.pyx":12459
 *         self.dirty_minmax = False
 *         self._constraint_min = -INFINITY
 *         self._constraint_max = INFINITY             # <<<<<<<<<<<<<<
 *         self._zoom_min = 0
 *         self._zoom_max = INFINITY
 */
  __pyx_v_self->_constraint_max = INFINITY;

  /* "dearcygui/core.pyx":12460
 *         self._constraint_min = -INFINITY
 *         self._constraint_max = INFINITY
 *         self._zoom_min = 0             # <<<<<<<<<<<<<<
 *         self._zoom_max = INFINITY
 * 
 */
  __pyx_v_self->_zoom_min = 0.0;

  /* "dearcygui/core.pyx":12461
 *         self._constraint_max = INFINITY
 *         self._zoom_min = 0
 *         self._zoom_max = INFINITY             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_zoom_max = INFINITY;

  /* "dearcygui/core.pyx":12446
 * # BaseItem that has has no parent/child nor sibling
 * cdef class PlotAxisConfig(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.can_be_clicked = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12463
 *         self._zoom_max = INFINITY
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12470
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._enabled
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12471
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled             # <<<<<<<<<<<<<<
 * 
 *     @enabled.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12463
 *         self._zoom_max = INFINITY
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12473
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12474, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12476
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._enabled = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12477
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._enabled = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":12473
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12479
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12486
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._scale
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12487
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._scale             # <<<<<<<<<<<<<<
 * 
 *     @scale.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_9dearcygui_4core_enum__dunderpyx_t_9dearcygui_4core_AxisScale_to_py(__pyx_v_self->_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12479
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def scale(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.scale.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12489
 *         return self._scale
 * 
 *     @scale.setter             # <<<<<<<<<<<<<<
 *     def scale(self, AxisScale value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  enum __pyx_t_9dearcygui_4core_AxisScale __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = ((enum __pyx_t_9dearcygui_4core_AxisScale)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_arg_value)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12490, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.scale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((enum __pyx_t_9dearcygui_4core_AxisScale)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5scale_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, enum __pyx_t_9dearcygui_4core_AxisScale __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":12492
 *     def scale(self, AxisScale value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value == AxisScale.linear or \
 *            value == AxisScale.time or \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12493
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value == AxisScale.linear or \             # <<<<<<<<<<<<<<
 *            value == AxisScale.time or \
 *            value == AxisScale.log10 or\
 */
  switch (__pyx_v_value) {
    case __pyx_e_9dearcygui_4core_linear:
    case __pyx_e_9dearcygui_4core_time:

    /* "dearcygui/core.pyx":12494
 *         lock_gil_friendly(m, self.mutex)
 *         if value == AxisScale.linear or \
 *            value == AxisScale.time or \             # <<<<<<<<<<<<<<
 *            value == AxisScale.log10 or\
 *            value == AxisScale.symlog:
 */
    case __pyx_e_9dearcygui_4core_log10:

    /* "dearcygui/core.pyx":12495
 *         if value == AxisScale.linear or \
 *            value == AxisScale.time or \
 *            value == AxisScale.log10 or\             # <<<<<<<<<<<<<<
 *            value == AxisScale.symlog:
 *             self._scale = value
 */
    case __pyx_e_9dearcygui_4core_symlog:

    /* "dearcygui/core.pyx":12497
 *            value == AxisScale.log10 or\
 *            value == AxisScale.symlog:
 *             self._scale = value             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError("Invalid scale. Expecting an AxisScale")
 */
    __pyx_v_self->_scale = __pyx_v_value;

    /* "dearcygui/core.pyx":12493
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value == AxisScale.linear or \             # <<<<<<<<<<<<<<
 *            value == AxisScale.time or \
 *            value == AxisScale.log10 or\
 */
    break;
    default:

    /* "dearcygui/core.pyx":12499
 *             self._scale = value
 *         else:
 *             raise ValueError("Invalid scale. Expecting an AxisScale")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 12499, __pyx_L1_error)
    break;
  }

  /* "dearcygui/core.pyx":12489
 *         return self._scale
 * 
 *     @scale.setter             # <<<<<<<<<<<<<<
 *     def scale(self, AxisScale value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.scale.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12501
 *             raise ValueError("Invalid scale. Expecting an AxisScale")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12509
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12510
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._min             # <<<<<<<<<<<<<<
 * 
 *     @min.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12501
 *             raise ValueError("Invalid scale. Expecting an AxisScale")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def min(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.min.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12512
 *         return self._min
 * 
 *     @min.setter             # <<<<<<<<<<<<<<
 *     def min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12513, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.min.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12515
 *     def min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._min = value
 *         self.dirty_minmax = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12516
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._min = value             # <<<<<<<<<<<<<<
 *         self.dirty_minmax = True
 * 
 */
  __pyx_v_self->_min = __pyx_v_value;

  /* "dearcygui/core.pyx":12517
 *         lock_gil_friendly(m, self.mutex)
 *         self._min = value
 *         self.dirty_minmax = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->dirty_minmax = 1;

  /* "dearcygui/core.pyx":12512
 *         return self._min
 * 
 *     @min.setter             # <<<<<<<<<<<<<<
 *     def min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12519
 *         self.dirty_minmax = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12527
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12528
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._max             # <<<<<<<<<<<<<<
 * 
 *     @max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12519
 *         self.dirty_minmax = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def max(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12530
 *         return self._max
 * 
 *     @max.setter             # <<<<<<<<<<<<<<
 *     def max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12531, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_3max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12533
 *     def max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._max = value
 *         self.dirty_minmax = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12534
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._max = value             # <<<<<<<<<<<<<<
 *         self.dirty_minmax = True
 * 
 */
  __pyx_v_self->_max = __pyx_v_value;

  /* "dearcygui/core.pyx":12535
 *         lock_gil_friendly(m, self.mutex)
 *         self._max = value
 *         self.dirty_minmax = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->dirty_minmax = 1;

  /* "dearcygui/core.pyx":12530
 *         return self._max
 * 
 *     @max.setter             # <<<<<<<<<<<<<<
 *     def max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12537
 *         self.dirty_minmax = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def constraint_min(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12544
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._constraint_min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12545
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._constraint_min             # <<<<<<<<<<<<<<
 * 
 *     @constraint_min.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_constraint_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12537
 *         self.dirty_minmax = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def constraint_min(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.constraint_min.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12547
 *         return self._constraint_min
 * 
 *     @constraint_min.setter             # <<<<<<<<<<<<<<
 *     def constraint_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12548, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.constraint_min.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12550
 *     def constraint_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._constraint_min = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12551
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._constraint_min = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_constraint_min = __pyx_v_value;

  /* "dearcygui/core.pyx":12547
 *         return self._constraint_min
 * 
 *     @constraint_min.setter             # <<<<<<<<<<<<<<
 *     def constraint_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12553
 *         self._constraint_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def constraint_max(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12560
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._constraint_max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12561
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._constraint_max             # <<<<<<<<<<<<<<
 * 
 *     @constraint_max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_constraint_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12553
 *         self._constraint_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def constraint_max(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.constraint_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12563
 *         return self._constraint_max
 * 
 *     @constraint_max.setter             # <<<<<<<<<<<<<<
 *     def constraint_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12564, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.constraint_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14constraint_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12566
 *     def constraint_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._constraint_max = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12567
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._constraint_max = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_constraint_max = __pyx_v_value;

  /* "dearcygui/core.pyx":12563
 *         return self._constraint_max
 * 
 *     @constraint_max.setter             # <<<<<<<<<<<<<<
 *     def constraint_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12569
 *         self._constraint_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_min(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12576
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._zoom_min
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12577
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._zoom_min             # <<<<<<<<<<<<<<
 * 
 *     @zoom_min.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zoom_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12569
 *         self._constraint_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_min(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.zoom_min.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12579
 *         return self._zoom_min
 * 
 *     @zoom_min.setter             # <<<<<<<<<<<<<<
 *     def zoom_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12580, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.zoom_min.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12582
 *     def zoom_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._zoom_min = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12583
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._zoom_min = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_zoom_min = __pyx_v_value;

  /* "dearcygui/core.pyx":12579
 *         return self._zoom_min
 * 
 *     @zoom_min.setter             # <<<<<<<<<<<<<<
 *     def zoom_min(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12585
 *         self._zoom_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_max(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12592
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._zoom_max
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12593
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._zoom_max             # <<<<<<<<<<<<<<
 * 
 *     @zoom_max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zoom_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12585
 *         self._zoom_min = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_max(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.zoom_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12595
 *         return self._zoom_max
 * 
 *     @zoom_max.setter             # <<<<<<<<<<<<<<
 *     def zoom_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12596, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.zoom_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8zoom_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12598
 *     def zoom_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._zoom_max = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12599
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._zoom_max = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_zoom_max = __pyx_v_value;

  /* "dearcygui/core.pyx":12595
 *         return self._zoom_max
 * 
 *     @zoom_max.setter             # <<<<<<<<<<<<<<
 *     def zoom_max(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12601
 *         self._zoom_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12607
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoLabel) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12608
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoLabel) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoLabel) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12601
 *         self._zoom_max = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_label(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_label.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12610
 *         return (self.flags & implot.ImPlotAxisFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12611, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_label_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12613
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoLabel
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12614
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoLabel             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoLabel));

  /* "dearcygui/core.pyx":12615
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12616
 *         self.flags &= ~implot.ImPlotAxisFlags_NoLabel
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoLabel);

    /* "dearcygui/core.pyx":12615
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoLabel
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel
 * 
 */
  }

  /* "dearcygui/core.pyx":12610
 *         return (self.flags & implot.ImPlotAxisFlags_NoLabel) != 0
 * 
 *     @no_label.setter             # <<<<<<<<<<<<<<
 *     def no_label(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12618
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_gridlines(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12624
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoGridLines) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12625
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoGridLines) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_gridlines.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoGridLines) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12618
 *             self.flags |= implot.ImPlotAxisFlags_NoLabel
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_gridlines(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_gridlines.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12627
 *         return (self.flags & implot.ImPlotAxisFlags_NoGridLines) != 0
 * 
 *     @no_gridlines.setter             # <<<<<<<<<<<<<<
 *     def no_gridlines(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12628, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_gridlines.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12630
 *     def no_gridlines(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoGridLines
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12631
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoGridLines             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoGridLines));

  /* "dearcygui/core.pyx":12632
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoGridLines
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12633
 *         self.flags &= ~implot.ImPlotAxisFlags_NoGridLines
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoGridLines);

    /* "dearcygui/core.pyx":12632
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoGridLines
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines
 * 
 */
  }

  /* "dearcygui/core.pyx":12627
 *         return (self.flags & implot.ImPlotAxisFlags_NoGridLines) != 0
 * 
 *     @no_gridlines.setter             # <<<<<<<<<<<<<<
 *     def no_gridlines(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12635
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tick_marks(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12641
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickMarks) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12642
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickMarks) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tick_marks.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoTickMarks) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12635
 *             self.flags |= implot.ImPlotAxisFlags_NoGridLines
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tick_marks(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_tick_marks.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12644
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickMarks) != 0
 * 
 *     @no_tick_marks.setter             # <<<<<<<<<<<<<<
 *     def no_tick_marks(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12645, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_tick_marks.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12647
 *     def no_tick_marks(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickMarks
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12648
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickMarks             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoTickMarks));

  /* "dearcygui/core.pyx":12649
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickMarks
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12650
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickMarks
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoTickMarks);

    /* "dearcygui/core.pyx":12649
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickMarks
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks
 * 
 */
  }

  /* "dearcygui/core.pyx":12644
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickMarks) != 0
 * 
 *     @no_tick_marks.setter             # <<<<<<<<<<<<<<
 *     def no_tick_marks(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12652
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tick_labels(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12658
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickLabels) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12659
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickLabels) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_tick_labels.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoTickLabels) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12652
 *             self.flags |= implot.ImPlotAxisFlags_NoTickMarks
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_tick_labels(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_tick_labels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12661
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickLabels) != 0
 * 
 *     @no_tick_labels.setter             # <<<<<<<<<<<<<<
 *     def no_tick_labels(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12662, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_tick_labels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12664
 *     def no_tick_labels(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickLabels
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12665
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickLabels             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoTickLabels));

  /* "dearcygui/core.pyx":12666
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickLabels
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12667
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickLabels
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoTickLabels);

    /* "dearcygui/core.pyx":12666
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoTickLabels
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels
 * 
 */
  }

  /* "dearcygui/core.pyx":12661
 *         return (self.flags & implot.ImPlotAxisFlags_NoTickLabels) != 0
 * 
 *     @no_tick_labels.setter             # <<<<<<<<<<<<<<
 *     def no_tick_labels(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12669
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_initial_fit(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12676
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoInitialFit) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12677
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoInitialFit) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_initial_fit.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoInitialFit) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12669
 *             self.flags |= implot.ImPlotAxisFlags_NoTickLabels
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_initial_fit(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_initial_fit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12679
 *         return (self.flags & implot.ImPlotAxisFlags_NoInitialFit) != 0
 * 
 *     @no_initial_fit.setter             # <<<<<<<<<<<<<<
 *     def no_initial_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12680, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_initial_fit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12682
 *     def no_initial_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoInitialFit
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12683
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoInitialFit             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoInitialFit
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoInitialFit));

  /* "dearcygui/core.pyx":12684
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoInitialFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoInitialFit
 *             self.to_fit = False
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12685
 *         self.flags &= ~implot.ImPlotAxisFlags_NoInitialFit
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoInitialFit             # <<<<<<<<<<<<<<
 *             self.to_fit = False
 * 
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoInitialFit);

    /* "dearcygui/core.pyx":12686
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoInitialFit
 *             self.to_fit = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->to_fit = 0;

    /* "dearcygui/core.pyx":12684
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoInitialFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoInitialFit
 *             self.to_fit = False
 */
  }

  /* "dearcygui/core.pyx":12679
 *         return (self.flags & implot.ImPlotAxisFlags_NoInitialFit) != 0
 * 
 *     @no_initial_fit.setter             # <<<<<<<<<<<<<<
 *     def no_initial_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12688
 *             self.to_fit = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12695
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoMenus) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12696
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoMenus) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_menus.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoMenus) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12688
 *             self.to_fit = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_menus.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12698
 *         return (self.flags & implot.ImPlotAxisFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12699, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_menus.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12701
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoMenus
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12702
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoMenus             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoMenus));

  /* "dearcygui/core.pyx":12703
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12704
 *         self.flags &= ~implot.ImPlotAxisFlags_NoMenus
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoMenus);

    /* "dearcygui/core.pyx":12703
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus
 * 
 */
  }

  /* "dearcygui/core.pyx":12698
 *         return (self.flags & implot.ImPlotAxisFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12706
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_side_switch(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12713
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoSideSwitch) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12714
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoSideSwitch) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_side_switch.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoSideSwitch) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12706
 *             self.flags |= implot.ImPlotAxisFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_side_switch(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_side_switch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12716
 *         return (self.flags & implot.ImPlotAxisFlags_NoSideSwitch) != 0
 * 
 *     @no_side_switch.setter             # <<<<<<<<<<<<<<
 *     def no_side_switch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12717, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_side_switch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12719
 *     def no_side_switch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoSideSwitch
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12720
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoSideSwitch             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoSideSwitch));

  /* "dearcygui/core.pyx":12721
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoSideSwitch
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12722
 *         self.flags &= ~implot.ImPlotAxisFlags_NoSideSwitch
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoSideSwitch);

    /* "dearcygui/core.pyx":12721
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoSideSwitch
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch
 * 
 */
  }

  /* "dearcygui/core.pyx":12716
 *         return (self.flags & implot.ImPlotAxisFlags_NoSideSwitch) != 0
 * 
 *     @no_side_switch.setter             # <<<<<<<<<<<<<<
 *     def no_side_switch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12724
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12731
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_NoHighlight) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12732
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_NoHighlight) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_highlight.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_NoHighlight) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12724
 *             self.flags |= implot.ImPlotAxisFlags_NoSideSwitch
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_highlight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12734
 *         return (self.flags & implot.ImPlotAxisFlags_NoHighlight) != 0
 * 
 *     @no_highlight.setter             # <<<<<<<<<<<<<<
 *     def no_highlight(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12735, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.no_highlight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12no_highlight_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12737
 *     def no_highlight(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_NoHighlight
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12738
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoHighlight             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_NoHighlight));

  /* "dearcygui/core.pyx":12739
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoHighlight
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12740
 *         self.flags &= ~implot.ImPlotAxisFlags_NoHighlight
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_NoHighlight);

    /* "dearcygui/core.pyx":12739
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_NoHighlight
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight
 * 
 */
  }

  /* "dearcygui/core.pyx":12734
 *         return (self.flags & implot.ImPlotAxisFlags_NoHighlight) != 0
 * 
 *     @no_highlight.setter             # <<<<<<<<<<<<<<
 *     def no_highlight(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12742
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def opposite(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12749
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_Opposite) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12750
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_Opposite) != 0             # <<<<<<<<<<<<<<
 * 
 *     @opposite.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_Opposite) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12742
 *             self.flags |= implot.ImPlotAxisFlags_NoHighlight
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def opposite(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.opposite.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12752
 *         return (self.flags & implot.ImPlotAxisFlags_Opposite) != 0
 * 
 *     @opposite.setter             # <<<<<<<<<<<<<<
 *     def opposite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12753, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.opposite.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8opposite_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12755
 *     def opposite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_Opposite
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12756
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Opposite             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Opposite
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_Opposite));

  /* "dearcygui/core.pyx":12757
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Opposite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Opposite
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12758
 *         self.flags &= ~implot.ImPlotAxisFlags_Opposite
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Opposite             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_Opposite);

    /* "dearcygui/core.pyx":12757
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Opposite
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Opposite
 * 
 */
  }

  /* "dearcygui/core.pyx":12752
 *         return (self.flags & implot.ImPlotAxisFlags_Opposite) != 0
 * 
 *     @opposite.setter             # <<<<<<<<<<<<<<
 *     def opposite(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12760
 *             self.flags |= implot.ImPlotAxisFlags_Opposite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def foreground_grid(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12767
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_Foreground) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12768
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_Foreground) != 0             # <<<<<<<<<<<<<<
 * 
 *     @foreground_grid.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_Foreground) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12760
 *             self.flags |= implot.ImPlotAxisFlags_Opposite
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def foreground_grid(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.foreground_grid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12770
 *         return (self.flags & implot.ImPlotAxisFlags_Foreground) != 0
 * 
 *     @foreground_grid.setter             # <<<<<<<<<<<<<<
 *     def foreground_grid(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12771, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.foreground_grid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12773
 *     def foreground_grid(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_Foreground
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12774
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Foreground             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Foreground
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_Foreground));

  /* "dearcygui/core.pyx":12775
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Foreground
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Foreground
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12776
 *         self.flags &= ~implot.ImPlotAxisFlags_Foreground
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Foreground             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_Foreground);

    /* "dearcygui/core.pyx":12775
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Foreground
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Foreground
 * 
 */
  }

  /* "dearcygui/core.pyx":12770
 *         return (self.flags & implot.ImPlotAxisFlags_Foreground) != 0
 * 
 *     @foreground_grid.setter             # <<<<<<<<<<<<<<
 *     def foreground_grid(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12778
 *             self.flags |= implot.ImPlotAxisFlags_Foreground
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def invert(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12784
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_Invert) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12785
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_Invert) != 0             # <<<<<<<<<<<<<<
 * 
 *     @invert.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_Invert) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12778
 *             self.flags |= implot.ImPlotAxisFlags_Foreground
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def invert(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.invert.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12787
 *         return (self.flags & implot.ImPlotAxisFlags_Invert) != 0
 * 
 *     @invert.setter             # <<<<<<<<<<<<<<
 *     def invert(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12788, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.invert.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6invert_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12790
 *     def invert(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_Invert
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12791
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Invert             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Invert
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_Invert));

  /* "dearcygui/core.pyx":12792
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Invert
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Invert
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12793
 *         self.flags &= ~implot.ImPlotAxisFlags_Invert
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_Invert             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_Invert);

    /* "dearcygui/core.pyx":12792
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_Invert
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_Invert
 * 
 */
  }

  /* "dearcygui/core.pyx":12787
 *         return (self.flags & implot.ImPlotAxisFlags_Invert) != 0
 * 
 *     @invert.setter             # <<<<<<<<<<<<<<
 *     def invert(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12795
 *             self.flags |= implot.ImPlotAxisFlags_Invert
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_fit(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12802
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_AutoFit) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12803
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_AutoFit) != 0             # <<<<<<<<<<<<<<
 * 
 *     @auto_fit.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_AutoFit) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12795
 *             self.flags |= implot.ImPlotAxisFlags_Invert
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def auto_fit(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.auto_fit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12805
 *         return (self.flags & implot.ImPlotAxisFlags_AutoFit) != 0
 * 
 *     @auto_fit.setter             # <<<<<<<<<<<<<<
 *     def auto_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12806, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.auto_fit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8auto_fit_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12808
 *     def auto_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_AutoFit
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12809
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_AutoFit             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_AutoFit));

  /* "dearcygui/core.pyx":12810
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_AutoFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12811
 *         self.flags &= ~implot.ImPlotAxisFlags_AutoFit
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_AutoFit);

    /* "dearcygui/core.pyx":12810
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_AutoFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit
 * 
 */
  }

  /* "dearcygui/core.pyx":12805
 *         return (self.flags & implot.ImPlotAxisFlags_AutoFit) != 0
 * 
 *     @auto_fit.setter             # <<<<<<<<<<<<<<
 *     def auto_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12813
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def restrict_fit_to_range(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12821
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_RangeFit) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12822
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_RangeFit) != 0             # <<<<<<<<<<<<<<
 * 
 *     @restrict_fit_to_range.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_RangeFit) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12813
 *             self.flags |= implot.ImPlotAxisFlags_AutoFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def restrict_fit_to_range(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.restrict_fit_to_range.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12824
 *         return (self.flags & implot.ImPlotAxisFlags_RangeFit) != 0
 * 
 *     @restrict_fit_to_range.setter             # <<<<<<<<<<<<<<
 *     def restrict_fit_to_range(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12825, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.restrict_fit_to_range.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12827
 *     def restrict_fit_to_range(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_RangeFit
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12828
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_RangeFit             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_RangeFit));

  /* "dearcygui/core.pyx":12829
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_RangeFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12830
 *         self.flags &= ~implot.ImPlotAxisFlags_RangeFit
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_RangeFit);

    /* "dearcygui/core.pyx":12829
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_RangeFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit
 * 
 */
  }

  /* "dearcygui/core.pyx":12824
 *         return (self.flags & implot.ImPlotAxisFlags_RangeFit) != 0
 * 
 *     @restrict_fit_to_range.setter             # <<<<<<<<<<<<<<
 *     def restrict_fit_to_range(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12832
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_stretch(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12840
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_PanStretch) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12841
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_PanStretch) != 0             # <<<<<<<<<<<<<<
 * 
 *     @pan_stretch.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_PanStretch) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12832
 *             self.flags |= implot.ImPlotAxisFlags_RangeFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_stretch(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.pan_stretch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12843
 *         return (self.flags & implot.ImPlotAxisFlags_PanStretch) != 0
 * 
 *     @pan_stretch.setter             # <<<<<<<<<<<<<<
 *     def pan_stretch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12844, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.pan_stretch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12846
 *     def pan_stretch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_PanStretch
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12847
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_PanStretch             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_PanStretch));

  /* "dearcygui/core.pyx":12848
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_PanStretch
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12849
 *         self.flags &= ~implot.ImPlotAxisFlags_PanStretch
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_PanStretch);

    /* "dearcygui/core.pyx":12848
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_PanStretch
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch
 * 
 */
  }

  /* "dearcygui/core.pyx":12843
 *         return (self.flags & implot.ImPlotAxisFlags_PanStretch) != 0
 * 
 *     @pan_stretch.setter             # <<<<<<<<<<<<<<
 *     def pan_stretch(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12851
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def lock_min(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12858
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_LockMin) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12859
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_LockMin) != 0             # <<<<<<<<<<<<<<
 * 
 *     @lock_min.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_LockMin) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12851
 *             self.flags |= implot.ImPlotAxisFlags_PanStretch
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def lock_min(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.lock_min.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12861
 *         return (self.flags & implot.ImPlotAxisFlags_LockMin) != 0
 * 
 *     @lock_min.setter             # <<<<<<<<<<<<<<
 *     def lock_min(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12862, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.lock_min.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_min_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12864
 *     def lock_min(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMin
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12865
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMin             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_LockMin
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_LockMin));

  /* "dearcygui/core.pyx":12866
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMin
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_LockMin
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12867
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMin
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_LockMin             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_LockMin);

    /* "dearcygui/core.pyx":12866
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMin
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_LockMin
 * 
 */
  }

  /* "dearcygui/core.pyx":12861
 *         return (self.flags & implot.ImPlotAxisFlags_LockMin) != 0
 * 
 *     @lock_min.setter             # <<<<<<<<<<<<<<
 *     def lock_min(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12869
 *             self.flags |= implot.ImPlotAxisFlags_LockMin
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def lock_max(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12876
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotAxisFlags_LockMax) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12877
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotAxisFlags_LockMax) != 0             # <<<<<<<<<<<<<<
 * 
 *     @lock_max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotAxisFlags_LockMax) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12869
 *             self.flags |= implot.ImPlotAxisFlags_LockMin
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def lock_max(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.lock_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12879
 *         return (self.flags & implot.ImPlotAxisFlags_LockMax) != 0
 * 
 *     @lock_max.setter             # <<<<<<<<<<<<<<
 *     def lock_max(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12880, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.lock_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8lock_max_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":12882
 *     def lock_max(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMax
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12883
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMax             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_LockMax
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotAxisFlags_LockMax));

  /* "dearcygui/core.pyx":12884
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMax
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_LockMax
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":12885
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMax
 *         if value:
 *             self.flags |= implot.ImPlotAxisFlags_LockMax             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotAxisFlags_LockMax);

    /* "dearcygui/core.pyx":12884
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotAxisFlags_LockMax
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotAxisFlags_LockMax
 * 
 */
  }

  /* "dearcygui/core.pyx":12879
 *         return (self.flags & implot.ImPlotAxisFlags_LockMax) != 0
 * 
 *     @lock_max.setter             # <<<<<<<<<<<<<<
 *     def lock_max(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":12887
 *             self.flags |= implot.ImPlotAxisFlags_LockMax
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7hovered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7hovered_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7hovered___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7hovered___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12893
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.hovered
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12894
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.hovered             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.hovered); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12887
 *             self.flags |= implot.ImPlotAxisFlags_LockMax
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hovered(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.hovered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12896
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7clicked_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7clicked_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_7clicked___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_7clicked___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12906
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return tuple(self.state.cur.clicked)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12907
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return tuple(self.state.cur.clicked)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_bint(__pyx_v_self->state.cur.clicked, ((int)ImGuiMouseButton_COUNT)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12896
 *         return self.state.cur.hovered
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def clicked(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.clicked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12909
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def mouse_coord(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_11mouse_coord_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_11mouse_coord_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_11mouse_coord___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_11mouse_coord___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12922
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._mouse_coord
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12923
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._mouse_coord             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_mouse_coord); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12909
 *         return tuple(self.state.cur.clicked)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def mouse_coord(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.mouse_coord.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12925
 *         return self._mouse_coord
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12932
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12933
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef baseHandler handler
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12936
 *         cdef int i
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 */
  __pyx_t_2 = ((int)__pyx_v_self->__pyx_base._handlers.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":12937
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]             # <<<<<<<<<<<<<<
 *             result.append(handler)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->__pyx_base._handlers[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":12938
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_handler)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 12938, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":12939
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @handlers.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12925
 *         return self._mouse_coord
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def handlers(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.handlers.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_handler);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12941
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_8handlers_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":12944
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12945
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":12947
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":12948
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12948, __pyx_L1_error)

    /* "dearcygui/core.pyx":12949
 *         if value is None:
 *             clear_obj_vector(self._handlers)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":12947
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  }

  /* "dearcygui/core.pyx":12950
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 12950, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":12951
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 12951, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":12950
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  }

  /* "dearcygui/core.pyx":12952
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12952, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":12953
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseHandler); 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = (!__pyx_t_3);
    if (unlikely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":12954
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")             # <<<<<<<<<<<<<<
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 */
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u_is_not_a_handler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 12954, __pyx_L1_error)

      /* "dearcygui/core.pyx":12953
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    }

    /* "dearcygui/core.pyx":12956
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)             # <<<<<<<<<<<<<<
 *             items.append(value[i])
 *         # Success: bind
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12956, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":12957
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 *             items.append(value[i])             # <<<<<<<<<<<<<<
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 12957, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":12959
 *             items.append(value[i])
 *         # Success: bind
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._handlers, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12959, __pyx_L1_error)

  /* "dearcygui/core.pyx":12960
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 *         append_obj_vector(self._handlers, items)             # <<<<<<<<<<<<<<
 * 
 *     def fit(self):
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->__pyx_base._handlers, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12960, __pyx_L1_error)

  /* "dearcygui/core.pyx":12941
 *         return result
 * 
 *     @handlers.setter             # <<<<<<<<<<<<<<
 *     def handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.handlers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12962
 *         append_obj_vector(self._handlers, items)
 * 
 *     def fit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Request for a fit of min/max to the data the next time the plot is drawn
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3fit(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9dearcygui_4core_14PlotAxisConfig_2fit, "\n        Request for a fit of min/max to the data the next time the plot is drawn\n        ");
static PyMethodDef __pyx_mdef_9dearcygui_4core_14PlotAxisConfig_3fit = {"fit", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3fit, METH_NOARGS, __pyx_doc_9dearcygui_4core_14PlotAxisConfig_2fit};
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3fit(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_2fit(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_2fit(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit", 1);

  /* "dearcygui/core.pyx":12967
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.to_fit = True
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12968
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.to_fit = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->to_fit = 1;

  /* "dearcygui/core.pyx":12962
 *         append_obj_vector(self._handlers, items)
 * 
 *     def fit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Request for a fit of min/max to the data the next time the plot is drawn
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12970
 *         self.to_fit = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12976
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._label, encoding='utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12977
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._label, encoding='utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 12977, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 12977, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12970
 *         self.to_fit = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.label.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12979
 *         return str(self._label, encoding='utf-8')
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_5label_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":12982
 *     def label(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._label = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12983
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._label = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 12983, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 12983, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":12979
 *         return str(self._label, encoding='utf-8')
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12985
 *         self._label = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":12991
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return str(self._format, encoding='utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12992
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return str(self._format, encoding='utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @format.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_v_self->_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 12992, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 12992, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":12985
 *         self._label = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":12994
 *         return str(self._format, encoding='utf-8')
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6format_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":12997
 *     def format(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._format = bytes(value, 'utf-8')
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":12998
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._format = bytes(value, 'utf-8')             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 12998, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 12998, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_format = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":12994
 *         return str(self._format, encoding='utf-8')
 * 
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13000
 *         self._format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def labels(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_8genexpr3__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<std::string> ::iterator __pyx_t_2;
  std::string __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13006
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [str(v, encoding='utf-8') for v in self._labels]
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13007
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [str(v, encoding='utf-8') for v in self._labels]             # <<<<<<<<<<<<<<
 * 
 *     @labels.setter
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13007, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_labels.begin();
    for (;;) {
      if (!(__pyx_t_2 != __pyx_v_self->_labels.end())) break;
      __pyx_t_3 = *__pyx_t_2;
      ++__pyx_t_2;
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13007, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13007, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_8genexpr3__pyx_v_v);
      __Pyx_GIVEREF(__pyx_8genexpr3__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_8genexpr3__pyx_v_v)) __PYX_ERR(1, 13007, __pyx_L5_error);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13007, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_encoding, __pyx_kp_u_utf_8) < 0) __PYX_ERR(1, 13007, __pyx_L5_error)
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13007, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13007, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v); __pyx_8genexpr3__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v); __pyx_8genexpr3__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13000
 *         self._format = bytes(value, 'utf-8')
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def labels(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.labels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13009
 *         return [str(v, encoding='utf-8') for v in self._labels]
 * 
 *     @labels.setter             # <<<<<<<<<<<<<<
 *     def labels(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6labels_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_i;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  std::string __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  Py_UCS4 __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13013
 *         cdef unique_lock[recursive_mutex] m
 *         cdef int i
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._labels.clear()
 *         self._labels_cstr.clear()
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13014
 *         cdef int i
 *         lock_gil_friendly(m, self.mutex)
 *         self._labels.clear()             # <<<<<<<<<<<<<<
 *         self._labels_cstr.clear()
 *         if value is None:
 */
  __pyx_v_self->_labels.clear();

  /* "dearcygui/core.pyx":13015
 *         lock_gil_friendly(m, self.mutex)
 *         self._labels.clear()
 *         self._labels_cstr.clear()             # <<<<<<<<<<<<<<
 *         if value is None:
 *             return
 */
  __pyx_v_self->_labels_cstr.clear();

  /* "dearcygui/core.pyx":13016
 *         self._labels.clear()
 *         self._labels_cstr.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if hasattr(value, '__len__'):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13017
 *         self._labels_cstr.clear()
 *         if value is None:
 *             return             # <<<<<<<<<<<<<<
 *         if hasattr(value, '__len__'):
 *             for v in value:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":13016
 *         self._labels.clear()
 *         self._labels_cstr.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if hasattr(value, '__len__'):
 */
  }

  /* "dearcygui/core.pyx":13018
 *         if value is None:
 *             return
 *         if hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 13018, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13019
 *             return
 *         if hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 *             for i in range(<int>self._labels.size()):
 */
    if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
      __pyx_t_2 = __pyx_v_value; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      __pyx_t_4 = NULL;
    } else {
      __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13019, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13019, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_4)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13019, __pyx_L1_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 13019, __pyx_L1_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13019, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13019, __pyx_L1_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 13019, __pyx_L1_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13019, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_4(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 13019, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "dearcygui/core.pyx":13020
 *         if hasattr(value, '__len__'):
 *             for v in value:
 *                 self._labels.push_back(bytes(v, 'utf-8'))             # <<<<<<<<<<<<<<
 *             for i in range(<int>self._labels.size()):
 *                 self._labels_cstr.push_back(self._labels[i].c_str())
 */
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13020, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_v_v);
      __Pyx_GIVEREF(__pyx_v_v);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_v)) __PYX_ERR(1, 13020, __pyx_L1_error);
      __Pyx_INCREF(__pyx_kp_u_utf_8);
      __Pyx_GIVEREF(__pyx_kp_u_utf_8);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 13020, __pyx_L1_error);
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13020, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_7 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13020, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      try {
        __pyx_v_self->_labels.push_back(__pyx_t_7);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 13020, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":13019
 *             return
 *         if hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 *             for i in range(<int>self._labels.size()):
 */
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":13021
 *             for v in value:
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 *             for i in range(<int>self._labels.size()):             # <<<<<<<<<<<<<<
 *                 self._labels_cstr.push_back(self._labels[i].c_str())
 *         else:
 */
    __pyx_t_8 = ((int)__pyx_v_self->_labels.size());
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "dearcygui/core.pyx":13022
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 *             for i in range(<int>self._labels.size()):
 *                 self._labels_cstr.push_back(self._labels[i].c_str())             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as labels. Expected array of strings")
 */
      try {
        __pyx_v_self->_labels_cstr.push_back((__pyx_v_self->_labels[__pyx_v_i]).c_str());
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 13022, __pyx_L1_error)
      }
    }

    /* "dearcygui/core.pyx":13018
 *         if value is None:
 *             return
 *         if hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._labels.push_back(bytes(v, 'utf-8'))
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":13024
 *                 self._labels_cstr.push_back(self._labels[i].c_str())
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as labels. Expected array of strings")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_11 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_type);
    __pyx_t_3 += 13;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_type);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Invalid_type);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_11;
    __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_as_labels_Expected_array);
    __pyx_t_3 += 44;
    __Pyx_GIVEREF(__pyx_kp_u_passed_as_labels_Expected_array);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_passed_as_labels_Expected_array);
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 13024, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":13009
 *         return [str(v, encoding='utf-8') for v in self._labels]
 * 
 *     @labels.setter             # <<<<<<<<<<<<<<
 *     def labels(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.labels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13026
 *             raise ValueError(f"Invalid type {type(value)} passed as labels. Expected array of strings")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def labels_coord(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord___get__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord___get__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_8genexpr4__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<double> ::iterator __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13033
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [v for v in self._labels_coord]
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13034
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [v for v in self._labels_coord]             # <<<<<<<<<<<<<<
 * 
 *     @labels_coord.setter
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13034, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_labels_coord.begin();
    for (;;) {
      if (!(__pyx_t_2 != __pyx_v_self->_labels_coord.end())) break;
      __pyx_t_3 = *__pyx_t_2;
      ++__pyx_t_2;
      __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13034, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_8genexpr4__pyx_v_v))) __PYX_ERR(1, 13034, __pyx_L5_error)
    }
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v); __pyx_8genexpr4__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v); __pyx_8genexpr4__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13026
 *             raise ValueError(f"Invalid type {type(value)} passed as labels. Expected array of strings")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def labels_coord(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.labels_coord.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13036
 *         return [v for v in self._labels_coord]
 * 
 *     @labels_coord.setter             # <<<<<<<<<<<<<<
 *     def labels_coord(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14PlotAxisConfig_12labels_coord_2__set__(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_v = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  double __pyx_t_6;
  Py_UCS4 __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13039
 *     def labels_coord(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._labels_coord.clear()
 *         if value is None:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13040
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._labels_coord.clear()             # <<<<<<<<<<<<<<
 *         if value is None:
 *             return
 */
  __pyx_v_self->_labels_coord.clear();

  /* "dearcygui/core.pyx":13041
 *         lock_gil_friendly(m, self.mutex)
 *         self._labels_coord.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if hasattr(value, '__len__'):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13042
 *         self._labels_coord.clear()
 *         if value is None:
 *             return             # <<<<<<<<<<<<<<
 *         if hasattr(value, '__len__'):
 *             for v in value:
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":13041
 *         lock_gil_friendly(m, self.mutex)
 *         self._labels_coord.clear()
 *         if value is None:             # <<<<<<<<<<<<<<
 *             return
 *         if hasattr(value, '__len__'):
 */
  }

  /* "dearcygui/core.pyx":13043
 *         if value is None:
 *             return
 *         if hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._labels_coord.push_back(v)
 */
  __pyx_t_1 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 13043, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13044
 *             return
 *         if hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._labels_coord.push_back(v)
 *         else:
 */
    if (likely(PyList_CheckExact(__pyx_v_value)) || PyTuple_CheckExact(__pyx_v_value)) {
      __pyx_t_2 = __pyx_v_value; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      __pyx_t_4 = NULL;
    } else {
      __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13044, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13044, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_4)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13044, __pyx_L1_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 13044, __pyx_L1_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13044, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13044, __pyx_L1_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 13044, __pyx_L1_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13044, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_4(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 13044, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "dearcygui/core.pyx":13045
 *         if hasattr(value, '__len__'):
 *             for v in value:
 *                 self._labels_coord.push_back(v)             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as labels_coord. Expected array of strings")
 */
      __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 13045, __pyx_L1_error)
      try {
        __pyx_v_self->_labels_coord.push_back(__pyx_t_6);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(1, 13045, __pyx_L1_error)
      }

      /* "dearcygui/core.pyx":13044
 *             return
 *         if hasattr(value, '__len__'):
 *             for v in value:             # <<<<<<<<<<<<<<
 *                 self._labels_coord.push_back(v)
 *         else:
 */
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "dearcygui/core.pyx":13043
 *         if value is None:
 *             return
 *         if hasattr(value, '__len__'):             # <<<<<<<<<<<<<<
 *             for v in value:
 *                 self._labels_coord.push_back(v)
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":13047
 *                 self._labels_coord.push_back(v)
 *         else:
 *             raise ValueError(f"Invalid type {type(value)} passed as labels_coord. Expected array of strings")             # <<<<<<<<<<<<<<
 * 
 *     cdef void setup(self, implot.ImAxis axis) noexcept nogil:
 */
  /*else*/ {
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_7 = 127;
    __Pyx_INCREF(__pyx_kp_u_Invalid_type);
    __pyx_t_3 += 13;
    __Pyx_GIVEREF(__pyx_kp_u_Invalid_type);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Invalid_type);
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_value)), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7;
    __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_INCREF(__pyx_kp_u_passed_as_labels_coord_Expected);
    __pyx_t_3 += 50;
    __Pyx_GIVEREF(__pyx_kp_u_passed_as_labels_coord_Expected);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_passed_as_labels_coord_Expected);
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 13047, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":13036
 *         return [v for v in self._labels_coord]
 * 
 *     @labels_coord.setter             # <<<<<<<<<<<<<<
 *     def labels_coord(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.labels_coord.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13049
 *             raise ValueError(f"Invalid type {type(value)} passed as labels_coord. Expected array of strings")
 * 
 *     cdef void setup(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Apply the config to the target axis during plot
 */

static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_setup(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, ImAxis __pyx_v_axis) {
  ImPlotAxisFlags __pyx_v_flags;
  int __pyx_v_label_count;
  int __pyx_t_1;
  ImPlotAxisFlags __pyx_t_2;
  double __pyx_t_3;
  int __pyx_t_4;
  double __pyx_t_5;
  double __pyx_t_6;
  long __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;

  /* "dearcygui/core.pyx":13054
 *         setup
 *         """
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = False
 *         self.state.cur.rendered = False
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":13055
 *         """
 *         self.set_previous_states()
 *         self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = False
 * 
 */
  __pyx_v_self->state.cur.hovered = 0;

  /* "dearcygui/core.pyx":13056
 *         self.set_previous_states()
 *         self.state.cur.hovered = False
 *         self.state.cur.rendered = False             # <<<<<<<<<<<<<<
 * 
 *         if self._enabled == False:
 */
  __pyx_v_self->state.cur.rendered = 0;

  /* "dearcygui/core.pyx":13058
 *         self.state.cur.rendered = False
 * 
 *         if self._enabled == False:             # <<<<<<<<<<<<<<
 *             self.context._viewport.enabled_axes[axis] = False
 *             return
 */
  __pyx_t_1 = (__pyx_v_self->_enabled == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13059
 * 
 *         if self._enabled == False:
 *             self.context._viewport.enabled_axes[axis] = False             # <<<<<<<<<<<<<<
 *             return
 *         self.context._viewport.enabled_axes[axis] = True
 */
    (__pyx_v_self->__pyx_base.context->_viewport->enabled_axes[__pyx_v_axis]) = 0;

    /* "dearcygui/core.pyx":13060
 *         if self._enabled == False:
 *             self.context._viewport.enabled_axes[axis] = False
 *             return             # <<<<<<<<<<<<<<
 *         self.context._viewport.enabled_axes[axis] = True
 *         self.state.cur.rendered = True
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":13058
 *         self.state.cur.rendered = False
 * 
 *         if self._enabled == False:             # <<<<<<<<<<<<<<
 *             self.context._viewport.enabled_axes[axis] = False
 *             return
 */
  }

  /* "dearcygui/core.pyx":13061
 *             self.context._viewport.enabled_axes[axis] = False
 *             return
 *         self.context._viewport.enabled_axes[axis] = True             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = True
 * 
 */
  (__pyx_v_self->__pyx_base.context->_viewport->enabled_axes[__pyx_v_axis]) = 1;

  /* "dearcygui/core.pyx":13062
 *             return
 *         self.context._viewport.enabled_axes[axis] = True
 *         self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 * 
 *         cdef implot.ImPlotAxisFlags flags = self.flags
 */
  __pyx_v_self->state.cur.rendered = 1;

  /* "dearcygui/core.pyx":13064
 *         self.state.cur.rendered = True
 * 
 *         cdef implot.ImPlotAxisFlags flags = self.flags             # <<<<<<<<<<<<<<
 *         if self.to_fit:
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 */
  __pyx_t_2 = __pyx_v_self->flags;
  __pyx_v_flags = __pyx_t_2;

  /* "dearcygui/core.pyx":13065
 * 
 *         cdef implot.ImPlotAxisFlags flags = self.flags
 *         if self.to_fit:             # <<<<<<<<<<<<<<
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 *         if <int>self._label.size() > 0:
 */
  if (__pyx_v_self->to_fit) {

    /* "dearcygui/core.pyx":13066
 *         cdef implot.ImPlotAxisFlags flags = self.flags
 *         if self.to_fit:
 *             flags |= implot.ImPlotAxisFlags_AutoFit             # <<<<<<<<<<<<<<
 *         if <int>self._label.size() > 0:
 *             implot.SetupAxis(axis, self._label.c_str(), flags)
 */
    __pyx_v_flags = (__pyx_v_flags | ImPlotAxisFlags_AutoFit);

    /* "dearcygui/core.pyx":13065
 * 
 *         cdef implot.ImPlotAxisFlags flags = self.flags
 *         if self.to_fit:             # <<<<<<<<<<<<<<
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 *         if <int>self._label.size() > 0:
 */
  }

  /* "dearcygui/core.pyx":13067
 *         if self.to_fit:
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 *         if <int>self._label.size() > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxis(axis, self._label.c_str(), flags)
 *         else:
 */
  __pyx_t_1 = (((int)__pyx_v_self->_label.size()) > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13068
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 *         if <int>self._label.size() > 0:
 *             implot.SetupAxis(axis, self._label.c_str(), flags)             # <<<<<<<<<<<<<<
 *         else:
 *             implot.SetupAxis(axis, NULL, flags)
 */
    ImPlot::SetupAxis(__pyx_v_axis, __pyx_v_self->_label.c_str(), __pyx_v_flags);

    /* "dearcygui/core.pyx":13067
 *         if self.to_fit:
 *             flags |= implot.ImPlotAxisFlags_AutoFit
 *         if <int>self._label.size() > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxis(axis, self._label.c_str(), flags)
 *         else:
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":13070
 *             implot.SetupAxis(axis, self._label.c_str(), flags)
 *         else:
 *             implot.SetupAxis(axis, NULL, flags)             # <<<<<<<<<<<<<<
 *         """
 *         if self.dirty_minmax:
 */
  /*else*/ {
    ImPlot::SetupAxis(__pyx_v_axis, NULL, __pyx_v_flags);
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":13080
 *                                    implot.ImPlotCond_Always)
 *         """
 *         self.prev_min = self._min             # <<<<<<<<<<<<<<
 *         self.prev_max = self._max
 *         # We use SetupAxisLinks to get the min/max update
 */
  __pyx_t_3 = __pyx_v_self->_min;
  __pyx_v_self->prev_min = __pyx_t_3;

  /* "dearcygui/core.pyx":13081
 *         """
 *         self.prev_min = self._min
 *         self.prev_max = self._max             # <<<<<<<<<<<<<<
 *         # We use SetupAxisLinks to get the min/max update
 *         # right away during EndPlot(), rather than the
 */
  __pyx_t_3 = __pyx_v_self->_max;
  __pyx_v_self->prev_max = __pyx_t_3;

  /* "dearcygui/core.pyx":13085
 *         # right away during EndPlot(), rather than the
 *         # next frame
 *         implot.SetupAxisLinks(axis, &self._min, &self._max)             # <<<<<<<<<<<<<<
 * 
 *         implot.SetupAxisScale(axis, self._scale)
 */
  ImPlot::SetupAxisLinks(__pyx_v_axis, (&__pyx_v_self->_min), (&__pyx_v_self->_max));

  /* "dearcygui/core.pyx":13087
 *         implot.SetupAxisLinks(axis, &self._min, &self._max)
 * 
 *         implot.SetupAxisScale(axis, self._scale)             # <<<<<<<<<<<<<<
 * 
 *         if <int>self._format.size() > 0:
 */
  ImPlot::SetupAxisScale(__pyx_v_axis, __pyx_v_self->_scale);

  /* "dearcygui/core.pyx":13089
 *         implot.SetupAxisScale(axis, self._scale)
 * 
 *         if <int>self._format.size() > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxisFormat(axis, self._format.c_str())
 * 
 */
  __pyx_t_1 = (((int)__pyx_v_self->_format.size()) > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13090
 * 
 *         if <int>self._format.size() > 0:
 *             implot.SetupAxisFormat(axis, self._format.c_str())             # <<<<<<<<<<<<<<
 * 
 *         if self._constraint_min != -INFINITY or \
 */
    ImPlot::SetupAxisFormat(__pyx_v_axis, __pyx_v_self->_format.c_str());

    /* "dearcygui/core.pyx":13089
 *         implot.SetupAxisScale(axis, self._scale)
 * 
 *         if <int>self._format.size() > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxisFormat(axis, self._format.c_str())
 * 
 */
  }

  /* "dearcygui/core.pyx":13092
 *             implot.SetupAxisFormat(axis, self._format.c_str())
 * 
 *         if self._constraint_min != -INFINITY or \             # <<<<<<<<<<<<<<
 *            self._constraint_max != INFINITY:
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)
 */
  __pyx_t_4 = (__pyx_v_self->_constraint_min != (-INFINITY));
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L8_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13093
 * 
 *         if self._constraint_min != -INFINITY or \
 *            self._constraint_max != INFINITY:             # <<<<<<<<<<<<<<
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)
 *             implot.SetupAxisLimitsConstraints(axis,
 */
  __pyx_t_4 = (__pyx_v_self->_constraint_max != INFINITY);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L8_bool_binop_done:;

  /* "dearcygui/core.pyx":13092
 *             implot.SetupAxisFormat(axis, self._format.c_str())
 * 
 *         if self._constraint_min != -INFINITY or \             # <<<<<<<<<<<<<<
 *            self._constraint_max != INFINITY:
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13094
 *         if self._constraint_min != -INFINITY or \
 *            self._constraint_max != INFINITY:
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)             # <<<<<<<<<<<<<<
 *             implot.SetupAxisLimitsConstraints(axis,
 *                                               self._constraint_min,
 */
    __pyx_t_3 = (__pyx_v_self->_constraint_min + 1e-12);
    __pyx_t_5 = __pyx_v_self->_constraint_max;
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_5);
    if (__pyx_t_1) {
      __pyx_t_6 = __pyx_t_3;
    } else {
      __pyx_t_6 = __pyx_t_5;
    }
    __pyx_v_self->_constraint_max = __pyx_t_6;

    /* "dearcygui/core.pyx":13095
 *            self._constraint_max != INFINITY:
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)
 *             implot.SetupAxisLimitsConstraints(axis,             # <<<<<<<<<<<<<<
 *                                               self._constraint_min,
 *                                               self._constraint_max)
 */
    ImPlot::SetupAxisLimitsConstraints(__pyx_v_axis, __pyx_v_self->_constraint_min, __pyx_v_self->_constraint_max);

    /* "dearcygui/core.pyx":13092
 *             implot.SetupAxisFormat(axis, self._format.c_str())
 * 
 *         if self._constraint_min != -INFINITY or \             # <<<<<<<<<<<<<<
 *            self._constraint_max != INFINITY:
 *             self._constraint_max = max(self._constraint_max, self._constraint_min + 1e-12)
 */
  }

  /* "dearcygui/core.pyx":13098
 *                                               self._constraint_min,
 *                                               self._constraint_max)
 *         if self._zoom_min > 0 or \             # <<<<<<<<<<<<<<
 *            self._zoom_max != INFINITY:
 *             self._zoom_min = max(0, self._zoom_min)
 */
  __pyx_t_4 = (__pyx_v_self->_zoom_min > 0.0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L11_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13099
 *                                               self._constraint_max)
 *         if self._zoom_min > 0 or \
 *            self._zoom_max != INFINITY:             # <<<<<<<<<<<<<<
 *             self._zoom_min = max(0, self._zoom_min)
 *             self._zoom_max = max(self._zoom_min, self._zoom_max)
 */
  __pyx_t_4 = (__pyx_v_self->_zoom_max != INFINITY);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L11_bool_binop_done:;

  /* "dearcygui/core.pyx":13098
 *                                               self._constraint_min,
 *                                               self._constraint_max)
 *         if self._zoom_min > 0 or \             # <<<<<<<<<<<<<<
 *            self._zoom_max != INFINITY:
 *             self._zoom_min = max(0, self._zoom_min)
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13100
 *         if self._zoom_min > 0 or \
 *            self._zoom_max != INFINITY:
 *             self._zoom_min = max(0, self._zoom_min)             # <<<<<<<<<<<<<<
 *             self._zoom_max = max(self._zoom_min, self._zoom_max)
 *             implot.SetupAxisZoomConstraints(axis,
 */
    __pyx_t_6 = __pyx_v_self->_zoom_min;
    __pyx_t_7 = 0;
    __pyx_t_1 = (__pyx_t_6 > __pyx_t_7);
    if (__pyx_t_1) {
      __pyx_t_3 = __pyx_t_6;
    } else {
      __pyx_t_3 = __pyx_t_7;
    }
    __pyx_v_self->_zoom_min = __pyx_t_3;

    /* "dearcygui/core.pyx":13101
 *            self._zoom_max != INFINITY:
 *             self._zoom_min = max(0, self._zoom_min)
 *             self._zoom_max = max(self._zoom_min, self._zoom_max)             # <<<<<<<<<<<<<<
 *             implot.SetupAxisZoomConstraints(axis,
 *                                             self._zoom_min,
 */
    __pyx_t_3 = __pyx_v_self->_zoom_max;
    __pyx_t_6 = __pyx_v_self->_zoom_min;
    __pyx_t_1 = (__pyx_t_3 > __pyx_t_6);
    if (__pyx_t_1) {
      __pyx_t_5 = __pyx_t_3;
    } else {
      __pyx_t_5 = __pyx_t_6;
    }
    __pyx_v_self->_zoom_max = __pyx_t_5;

    /* "dearcygui/core.pyx":13102
 *             self._zoom_min = max(0, self._zoom_min)
 *             self._zoom_max = max(self._zoom_min, self._zoom_max)
 *             implot.SetupAxisZoomConstraints(axis,             # <<<<<<<<<<<<<<
 *                                             self._zoom_min,
 *                                             self._zoom_max)
 */
    ImPlot::SetupAxisZoomConstraints(__pyx_v_axis, __pyx_v_self->_zoom_min, __pyx_v_self->_zoom_max);

    /* "dearcygui/core.pyx":13098
 *                                               self._constraint_min,
 *                                               self._constraint_max)
 *         if self._zoom_min > 0 or \             # <<<<<<<<<<<<<<
 *            self._zoom_max != INFINITY:
 *             self._zoom_min = max(0, self._zoom_min)
 */
  }

  /* "dearcygui/core.pyx":13105
 *                                             self._zoom_min,
 *                                             self._zoom_max)
 *         cdef int label_count = min(<int>self._labels_coord.size(), <int>self._labels_cstr.size())             # <<<<<<<<<<<<<<
 *         if label_count > 0:
 *             implot.SetupAxisTicks(axis,
 */
  __pyx_t_8 = ((int)__pyx_v_self->_labels_cstr.size());
  __pyx_t_9 = ((int)__pyx_v_self->_labels_coord.size());
  __pyx_t_1 = (__pyx_t_8 < __pyx_t_9);
  if (__pyx_t_1) {
    __pyx_t_10 = __pyx_t_8;
  } else {
    __pyx_t_10 = __pyx_t_9;
  }
  __pyx_v_label_count = __pyx_t_10;

  /* "dearcygui/core.pyx":13106
 *                                             self._zoom_max)
 *         cdef int label_count = min(<int>self._labels_coord.size(), <int>self._labels_cstr.size())
 *         if label_count > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxisTicks(axis,
 *                                   self._labels_coord.data(),
 */
  __pyx_t_1 = (__pyx_v_label_count > 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13107
 *         cdef int label_count = min(<int>self._labels_coord.size(), <int>self._labels_cstr.size())
 *         if label_count > 0:
 *             implot.SetupAxisTicks(axis,             # <<<<<<<<<<<<<<
 *                                   self._labels_coord.data(),
 *                                   label_count,
 */
    ImPlot::SetupAxisTicks(__pyx_v_axis, __pyx_v_self->_labels_coord.data(), __pyx_v_label_count, __pyx_v_self->_labels_cstr.data());

    /* "dearcygui/core.pyx":13106
 *                                             self._zoom_max)
 *         cdef int label_count = min(<int>self._labels_coord.size(), <int>self._labels_cstr.size())
 *         if label_count > 0:             # <<<<<<<<<<<<<<
 *             implot.SetupAxisTicks(axis,
 *                                   self._labels_coord.data(),
 */
  }

  /* "dearcygui/core.pyx":13049
 *             raise ValueError(f"Invalid type {type(value)} passed as labels_coord. Expected array of strings")
 * 
 *     cdef void setup(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Apply the config to the target axis during plot
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":13112
 *                                   self._labels_cstr.data())
 * 
 *     cdef void after_setup(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Update states, etc. after the elements were setup
 */

static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_after_setup(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, ImAxis __pyx_v_axis) {
  CYTHON_UNUSED ImPlotRect __pyx_v_rect;
  ImPlotAxisFlags __pyx_v_flags;
  int __pyx_v_hovered;
  int __pyx_v_i;
  int __pyx_v_backup_hovered;
  int __pyx_t_1;
  double __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;

  /* "dearcygui/core.pyx":13116
 *         Update states, etc. after the elements were setup
 *         """
 *         if not(self.context._viewport.enabled_axes[axis]):             # <<<<<<<<<<<<<<
 *             if self.state.cur.rendered:
 *                 self.set_hidden()
 */
  __pyx_t_1 = (!(__pyx_v_self->__pyx_base.context->_viewport->enabled_axes[__pyx_v_axis]));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13117
 *         """
 *         if not(self.context._viewport.enabled_axes[axis]):
 *             if self.state.cur.rendered:             # <<<<<<<<<<<<<<
 *                 self.set_hidden()
 *             return
 */
    if (__pyx_v_self->state.cur.rendered) {

      /* "dearcygui/core.pyx":13118
 *         if not(self.context._viewport.enabled_axes[axis]):
 *             if self.state.cur.rendered:
 *                 self.set_hidden()             # <<<<<<<<<<<<<<
 *             return
 *         cdef implot.ImPlotRect rect
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self);

      /* "dearcygui/core.pyx":13117
 *         """
 *         if not(self.context._viewport.enabled_axes[axis]):
 *             if self.state.cur.rendered:             # <<<<<<<<<<<<<<
 *                 self.set_hidden()
 *             return
 */
    }

    /* "dearcygui/core.pyx":13119
 *             if self.state.cur.rendered:
 *                 self.set_hidden()
 *             return             # <<<<<<<<<<<<<<
 *         cdef implot.ImPlotRect rect
 *         #self.prev_min = self._min
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":13116
 *         Update states, etc. after the elements were setup
 *         """
 *         if not(self.context._viewport.enabled_axes[axis]):             # <<<<<<<<<<<<<<
 *             if self.state.cur.rendered:
 *                 self.set_hidden()
 */
  }

  /* "dearcygui/core.pyx":13123
 *         #self.prev_min = self._min
 *         #self.prev_max = self._max
 *         self.dirty_minmax = False             # <<<<<<<<<<<<<<
 *         if axis <= implot.ImAxis_X3:
 *             rect = implot.GetPlotLimits(axis, implot.IMPLOT_AUTO)
 */
  __pyx_v_self->dirty_minmax = 0;

  /* "dearcygui/core.pyx":13124
 *         #self.prev_max = self._max
 *         self.dirty_minmax = False
 *         if axis <= implot.ImAxis_X3:             # <<<<<<<<<<<<<<
 *             rect = implot.GetPlotLimits(axis, implot.IMPLOT_AUTO)
 *             #self._min = rect.X.Min
 */
  __pyx_t_1 = (__pyx_v_axis <= ImAxis_X3);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13125
 *         self.dirty_minmax = False
 *         if axis <= implot.ImAxis_X3:
 *             rect = implot.GetPlotLimits(axis, implot.IMPLOT_AUTO)             # <<<<<<<<<<<<<<
 *             #self._min = rect.X.Min
 *             #self._max = rect.X.Max
 */
    __pyx_v_rect = ImPlot::GetPlotLimits(__pyx_v_axis, IMPLOT_AUTO);

    /* "dearcygui/core.pyx":13128
 *             #self._min = rect.X.Min
 *             #self._max = rect.X.Max
 *             self._mouse_coord = implot.GetPlotMousePos(axis, implot.IMPLOT_AUTO).x             # <<<<<<<<<<<<<<
 *         else:
 *             rect = implot.GetPlotLimits(implot.IMPLOT_AUTO, axis)
 */
    __pyx_t_2 = ImPlot::GetPlotMousePos(__pyx_v_axis, IMPLOT_AUTO).x;
    __pyx_v_self->_mouse_coord = __pyx_t_2;

    /* "dearcygui/core.pyx":13124
 *         #self.prev_max = self._max
 *         self.dirty_minmax = False
 *         if axis <= implot.ImAxis_X3:             # <<<<<<<<<<<<<<
 *             rect = implot.GetPlotLimits(axis, implot.IMPLOT_AUTO)
 *             #self._min = rect.X.Min
 */
    goto __pyx_L5;
  }

  /* "dearcygui/core.pyx":13130
 *             self._mouse_coord = implot.GetPlotMousePos(axis, implot.IMPLOT_AUTO).x
 *         else:
 *             rect = implot.GetPlotLimits(implot.IMPLOT_AUTO, axis)             # <<<<<<<<<<<<<<
 *             #self._min = rect.Y.Min
 *             #self._max = rect.Y.Max
 */
  /*else*/ {
    __pyx_v_rect = ImPlot::GetPlotLimits(IMPLOT_AUTO, __pyx_v_axis);

    /* "dearcygui/core.pyx":13133
 *             #self._min = rect.Y.Min
 *             #self._max = rect.Y.Max
 *             self._mouse_coord = implot.GetPlotMousePos(implot.IMPLOT_AUTO, axis).y             # <<<<<<<<<<<<<<
 * 
 *         # Take into accounts flags changed by user interactions
 */
    __pyx_t_2 = ImPlot::GetPlotMousePos(IMPLOT_AUTO, __pyx_v_axis).y;
    __pyx_v_self->_mouse_coord = __pyx_t_2;
  }
  __pyx_L5:;

  /* "dearcygui/core.pyx":13136
 * 
 *         # Take into accounts flags changed by user interactions
 *         cdef implot.ImPlotAxisFlags flags = GetAxisConfig(<int>axis)             # <<<<<<<<<<<<<<
 *         if self.to_fit and (self.flags & implot.ImPlotAxisFlags_AutoFit) == 0:
 *             # Remove Autofit flag introduced for to_fit
 */
  __pyx_v_flags = GetAxisConfig(((int)__pyx_v_axis));

  /* "dearcygui/core.pyx":13137
 *         # Take into accounts flags changed by user interactions
 *         cdef implot.ImPlotAxisFlags flags = GetAxisConfig(<int>axis)
 *         if self.to_fit and (self.flags & implot.ImPlotAxisFlags_AutoFit) == 0:             # <<<<<<<<<<<<<<
 *             # Remove Autofit flag introduced for to_fit
 *             flags &= ~implot.ImPlotAxisFlags_AutoFit
 */
  if (__pyx_v_self->to_fit) {
  } else {
    __pyx_t_1 = __pyx_v_self->to_fit;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = ((__pyx_v_self->flags & ImPlotAxisFlags_AutoFit) == 0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13139
 *         if self.to_fit and (self.flags & implot.ImPlotAxisFlags_AutoFit) == 0:
 *             # Remove Autofit flag introduced for to_fit
 *             flags &= ~implot.ImPlotAxisFlags_AutoFit             # <<<<<<<<<<<<<<
 *             self.to_fit = False
 *         self.flags = flags
 */
    __pyx_v_flags = (__pyx_v_flags & (~ImPlotAxisFlags_AutoFit));

    /* "dearcygui/core.pyx":13140
 *             # Remove Autofit flag introduced for to_fit
 *             flags &= ~implot.ImPlotAxisFlags_AutoFit
 *             self.to_fit = False             # <<<<<<<<<<<<<<
 *         self.flags = flags
 * 
 */
    __pyx_v_self->to_fit = 0;

    /* "dearcygui/core.pyx":13137
 *         # Take into accounts flags changed by user interactions
 *         cdef implot.ImPlotAxisFlags flags = GetAxisConfig(<int>axis)
 *         if self.to_fit and (self.flags & implot.ImPlotAxisFlags_AutoFit) == 0:             # <<<<<<<<<<<<<<
 *             # Remove Autofit flag introduced for to_fit
 *             flags &= ~implot.ImPlotAxisFlags_AutoFit
 */
  }

  /* "dearcygui/core.pyx":13141
 *             flags &= ~implot.ImPlotAxisFlags_AutoFit
 *             self.to_fit = False
 *         self.flags = flags             # <<<<<<<<<<<<<<
 * 
 *         cdef bint hovered = implot.IsAxisHovered(axis)
 */
  __pyx_v_self->flags = __pyx_v_flags;

  /* "dearcygui/core.pyx":13143
 *         self.flags = flags
 * 
 *         cdef bint hovered = implot.IsAxisHovered(axis)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_v_hovered = ImPlot::IsAxisHovered(__pyx_v_axis);

  /* "dearcygui/core.pyx":13145
 *         cdef bint hovered = implot.IsAxisHovered(axis)
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             self.state.cur.clicked[i] = hovered and imgui.IsMouseClicked(i, False)
 *             self.state.cur.double_clicked[i] = hovered and imgui.IsMouseDoubleClicked(i)
 */
  __pyx_t_4 = ((int)ImGuiMouseButton_COUNT);
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":13146
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = hovered and imgui.IsMouseClicked(i, False)             # <<<<<<<<<<<<<<
 *             self.state.cur.double_clicked[i] = hovered and imgui.IsMouseDoubleClicked(i)
 *         cdef bint backup_hovered = self.state.cur.hovered
 */
    if (__pyx_v_hovered) {
    } else {
      __pyx_t_1 = __pyx_v_hovered;
      goto __pyx_L11_bool_binop_done;
    }
    __pyx_t_3 = ImGui::IsMouseClicked(__pyx_v_i, 0);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L11_bool_binop_done:;
    (__pyx_v_self->state.cur.clicked[__pyx_v_i]) = __pyx_t_1;

    /* "dearcygui/core.pyx":13147
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = hovered and imgui.IsMouseClicked(i, False)
 *             self.state.cur.double_clicked[i] = hovered and imgui.IsMouseDoubleClicked(i)             # <<<<<<<<<<<<<<
 *         cdef bint backup_hovered = self.state.cur.hovered
 *         self.state.cur.hovered = hovered
 */
    if (__pyx_v_hovered) {
    } else {
      __pyx_t_1 = __pyx_v_hovered;
      goto __pyx_L13_bool_binop_done;
    }
    __pyx_t_3 = ImGui::IsMouseDoubleClicked(__pyx_v_i);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L13_bool_binop_done:;
    (__pyx_v_self->state.cur.double_clicked[__pyx_v_i]) = __pyx_t_1;
  }

  /* "dearcygui/core.pyx":13148
 *             self.state.cur.clicked[i] = hovered and imgui.IsMouseClicked(i, False)
 *             self.state.cur.double_clicked[i] = hovered and imgui.IsMouseDoubleClicked(i)
 *         cdef bint backup_hovered = self.state.cur.hovered             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = hovered
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?
 */
  __pyx_t_1 = __pyx_v_self->state.cur.hovered;
  __pyx_v_backup_hovered = __pyx_t_1;

  /* "dearcygui/core.pyx":13149
 *             self.state.cur.double_clicked[i] = hovered and imgui.IsMouseDoubleClicked(i)
 *         cdef bint backup_hovered = self.state.cur.hovered
 *         self.state.cur.hovered = hovered             # <<<<<<<<<<<<<<
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?
 *         if not(backup_hovered) or self.state.cur.hovered:
 */
  __pyx_v_self->state.cur.hovered = __pyx_v_hovered;

  /* "dearcygui/core.pyx":13150
 *         cdef bint backup_hovered = self.state.cur.hovered
 *         self.state.cur.hovered = hovered
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?             # <<<<<<<<<<<<<<
 *         if not(backup_hovered) or self.state.cur.hovered:
 *             return
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":13151
 *         self.state.cur.hovered = hovered
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?
 *         if not(backup_hovered) or self.state.cur.hovered:             # <<<<<<<<<<<<<<
 *             return
 *         # Restore correct states
 */
  __pyx_t_3 = (!__pyx_v_backup_hovered);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L16_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->state.cur.hovered;
  __pyx_L16_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13152
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?
 *         if not(backup_hovered) or self.state.cur.hovered:
 *             return             # <<<<<<<<<<<<<<
 *         # Restore correct states
 *         # We do it here and not above to trigger the handlers only once
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":13151
 *         self.state.cur.hovered = hovered
 *         self.run_handlers() # TODO FIX multiple configs tied. Maybe just not support ?
 *         if not(backup_hovered) or self.state.cur.hovered:             # <<<<<<<<<<<<<<
 *             return
 *         # Restore correct states
 */
  }

  /* "dearcygui/core.pyx":13155
 *         # Restore correct states
 *         # We do it here and not above to trigger the handlers only once
 *         self.state.cur.hovered |= backup_hovered             # <<<<<<<<<<<<<<
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = self.state.cur.hovered and imgui.IsMouseClicked(i, False)
 */
  __pyx_v_self->state.cur.hovered = (__pyx_v_self->state.cur.hovered | __pyx_v_backup_hovered);

  /* "dearcygui/core.pyx":13156
 *         # We do it here and not above to trigger the handlers only once
 *         self.state.cur.hovered |= backup_hovered
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             self.state.cur.clicked[i] = self.state.cur.hovered and imgui.IsMouseClicked(i, False)
 *             self.state.cur.double_clicked[i] = self.state.cur.hovered and imgui.IsMouseDoubleClicked(i)
 */
  __pyx_t_4 = ((int)ImGuiMouseButton_COUNT);
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":13157
 *         self.state.cur.hovered |= backup_hovered
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = self.state.cur.hovered and imgui.IsMouseClicked(i, False)             # <<<<<<<<<<<<<<
 *             self.state.cur.double_clicked[i] = self.state.cur.hovered and imgui.IsMouseDoubleClicked(i)
 * 
 */
    if (__pyx_v_self->state.cur.hovered) {
    } else {
      __pyx_t_1 = __pyx_v_self->state.cur.hovered;
      goto __pyx_L20_bool_binop_done;
    }
    __pyx_t_3 = ImGui::IsMouseClicked(__pyx_v_i, 0);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L20_bool_binop_done:;
    (__pyx_v_self->state.cur.clicked[__pyx_v_i]) = __pyx_t_1;

    /* "dearcygui/core.pyx":13158
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = self.state.cur.hovered and imgui.IsMouseClicked(i, False)
 *             self.state.cur.double_clicked[i] = self.state.cur.hovered and imgui.IsMouseDoubleClicked(i)             # <<<<<<<<<<<<<<
 * 
 *     cdef void after_plot(self, implot.ImAxis axis) noexcept nogil:
 */
    if (__pyx_v_self->state.cur.hovered) {
    } else {
      __pyx_t_1 = __pyx_v_self->state.cur.hovered;
      goto __pyx_L22_bool_binop_done;
    }
    __pyx_t_3 = ImGui::IsMouseDoubleClicked(__pyx_v_i);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L22_bool_binop_done:;
    (__pyx_v_self->state.cur.double_clicked[__pyx_v_i]) = __pyx_t_1;
  }

  /* "dearcygui/core.pyx":13112
 *                                   self._labels_cstr.data())
 * 
 *     cdef void after_setup(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         """
 *         Update states, etc. after the elements were setup
 */

  /* function exit code */
  __pyx_L0:;
}

/* "dearcygui/core.pyx":13160
 *             self.state.cur.double_clicked[i] = self.state.cur.hovered and imgui.IsMouseDoubleClicked(i)
 * 
 *     cdef void after_plot(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # The fit only impacts the next frame
 *         if self._min != self.prev_min or self._max != self.prev_max:
 */

static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_after_plot(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, CYTHON_UNUSED ImAxis __pyx_v_axis) {
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":13162
 *     cdef void after_plot(self, implot.ImAxis axis) noexcept nogil:
 *         # The fit only impacts the next frame
 *         if self._min != self.prev_min or self._max != self.prev_max:             # <<<<<<<<<<<<<<
 *             self.context._viewport.viewport.needs_refresh.store(True)
 * 
 */
  __pyx_t_2 = (__pyx_v_self->_min != __pyx_v_self->prev_min);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->_max != __pyx_v_self->prev_max);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13163
 *         # The fit only impacts the next frame
 *         if self._min != self.prev_min or self._max != self.prev_max:
 *             self.context._viewport.viewport.needs_refresh.store(True)             # <<<<<<<<<<<<<<
 * 
 *     cdef void set_hidden(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.context->_viewport->viewport->needs_refresh.store(1);

    /* "dearcygui/core.pyx":13162
 *     cdef void after_plot(self, implot.ImAxis axis) noexcept nogil:
 *         # The fit only impacts the next frame
 *         if self._min != self.prev_min or self._max != self.prev_max:             # <<<<<<<<<<<<<<
 *             self.context._viewport.viewport.needs_refresh.store(True)
 * 
 */
  }

  /* "dearcygui/core.pyx":13160
 *             self.state.cur.double_clicked[i] = self.state.cur.hovered and imgui.IsMouseDoubleClicked(i)
 * 
 *     cdef void after_plot(self, implot.ImAxis axis) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # The fit only impacts the next frame
 *         if self._min != self.prev_min or self._max != self.prev_max:
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":13165
 *             self.context._viewport.viewport.needs_refresh.store(True)
 * 
 *     cdef void set_hidden(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.set_previous_states()
 *         self.state.cur.hovered = False
 */

static void __pyx_f_9dearcygui_4core_14PlotAxisConfig_set_hidden(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":13166
 * 
 *     cdef void set_hidden(self) noexcept nogil:
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = False
 *         self.state.cur.rendered = False
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":13167
 *     cdef void set_hidden(self) noexcept nogil:
 *         self.set_previous_states()
 *         self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *         self.state.cur.rendered = False
 *         cdef int i
 */
  __pyx_v_self->state.cur.hovered = 0;

  /* "dearcygui/core.pyx":13168
 *         self.set_previous_states()
 *         self.state.cur.hovered = False
 *         self.state.cur.rendered = False             # <<<<<<<<<<<<<<
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 */
  __pyx_v_self->state.cur.rendered = 0;

  /* "dearcygui/core.pyx":13170
 *         self.state.cur.rendered = False
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):             # <<<<<<<<<<<<<<
 *             self.state.cur.clicked[i] = False
 *             self.state.cur.double_clicked[i] = False
 */
  __pyx_t_1 = ((int)ImGuiMouseButton_COUNT);
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":13171
 *         cdef int i
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = False             # <<<<<<<<<<<<<<
 *             self.state.cur.double_clicked[i] = False
 *         self.run_handlers()
 */
    (__pyx_v_self->state.cur.clicked[__pyx_v_i]) = 0;

    /* "dearcygui/core.pyx":13172
 *         for i in range(<int>imgui.ImGuiMouseButton_COUNT):
 *             self.state.cur.clicked[i] = False
 *             self.state.cur.double_clicked[i] = False             # <<<<<<<<<<<<<<
 *         self.run_handlers()
 * 
 */
    (__pyx_v_self->state.cur.double_clicked[__pyx_v_i]) = 0;
  }

  /* "dearcygui/core.pyx":13173
 *             self.state.cur.clicked[i] = False
 *             self.state.cur.double_clicked[i] = False
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":13165
 *             self.context._viewport.viewport.needs_refresh.store(True)
 * 
 *     cdef void set_hidden(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.set_previous_states()
 *         self.state.cur.hovered = False
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_4__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotAxisConfig_6__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotAxisConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotAxisConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13177
 * 
 * cdef class PlotLegendConfig(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self._location = LegendLocation.northwest
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig___cinit__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig___cinit__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":13178
 * cdef class PlotLegendConfig(baseItem):
 *     def __cinit__(self):
 *         self._show = True             # <<<<<<<<<<<<<<
 *         self._location = LegendLocation.northwest
 *         self.flags = 0
 */
  __pyx_v_self->_show = 1;

  /* "dearcygui/core.pyx":13179
 *     def __cinit__(self):
 *         self._show = True
 *         self._location = LegendLocation.northwest             # <<<<<<<<<<<<<<
 *         self.flags = 0
 * 
 */
  __pyx_v_self->_location = __pyx_e_9dearcygui_4core_northwest;

  /* "dearcygui/core.pyx":13180
 *         self._show = True
 *         self._location = LegendLocation.northwest
 *         self.flags = 0             # <<<<<<<<<<<<<<
 * 
 *     '''
 */
  __pyx_v_self->flags = 0;

  /* "dearcygui/core.pyx":13177
 * 
 * cdef class PlotLegendConfig(baseItem):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self._location = LegendLocation.northwest
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13202
 *     '''
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13209
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._location
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13210
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._location             # <<<<<<<<<<<<<<
 * 
 *     @location.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_Enum_bd8ddf__9dearcygui_4core_enum__dunderpyx_t_9dearcygui___etc_to_py(__pyx_v_self->_location); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13202
 *     '''
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.location.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13212
 *         return self._location
 * 
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, LegendLocation value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  enum __pyx_t_9dearcygui_4core_LegendLocation __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = ((enum __pyx_t_9dearcygui_4core_LegendLocation)__Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_arg_value)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13213, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((enum __pyx_t_9dearcygui_4core_LegendLocation)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8location_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, enum __pyx_t_9dearcygui_4core_LegendLocation __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13215
 *     def location(self, LegendLocation value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value == LegendLocation.center or \
 *            value == LegendLocation.north or \
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13216
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value == LegendLocation.center or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.north or \
 *            value == LegendLocation.south or \
 */
  __pyx_t_2 = (__pyx_v_value == __pyx_e_9dearcygui_4core_center);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13217
 *         lock_gil_friendly(m, self.mutex)
 *         if value == LegendLocation.center or \
 *            value == LegendLocation.north or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.south or \
 *            value == LegendLocation.west or \
 */
  __pyx_t_2 = (__pyx_v_value == __pyx_e_9dearcygui_4core_north);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13218
 *         if value == LegendLocation.center or \
 *            value == LegendLocation.north or \
 *            value == LegendLocation.south or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.west or \
 *            value == LegendLocation.east or \
 */
  __pyx_t_2 = (__pyx_v_value == __pyx_e_9dearcygui_4core_south);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13219
 *            value == LegendLocation.north or \
 *            value == LegendLocation.south or \
 *            value == LegendLocation.west or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.east or \
 *            value == LegendLocation.northeast or \
 */
  __pyx_t_2 = (__pyx_v_value == __pyx_e_9dearcygui_4core_west);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":13220
 *            value == LegendLocation.south or \
 *            value == LegendLocation.west or \
 *            value == LegendLocation.east or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.northeast or \
 *            value == LegendLocation.northwest or \
 */
  switch (__pyx_v_value) {
    case __pyx_e_9dearcygui_4core_east:
    case __pyx_e_9dearcygui_4core_northeast:

    /* "dearcygui/core.pyx":13221
 *            value == LegendLocation.west or \
 *            value == LegendLocation.east or \
 *            value == LegendLocation.northeast or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.northwest or \
 *            value == LegendLocation.southeast or \
 */
    case __pyx_e_9dearcygui_4core_northwest:

    /* "dearcygui/core.pyx":13222
 *            value == LegendLocation.east or \
 *            value == LegendLocation.northeast or \
 *            value == LegendLocation.northwest or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.southeast or \
 *            value == LegendLocation.southwest:
 */
    case __pyx_e_9dearcygui_4core_southeast:

    /* "dearcygui/core.pyx":13223
 *            value == LegendLocation.northeast or \
 *            value == LegendLocation.northwest or \
 *            value == LegendLocation.southeast or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.southwest:
 *             self._location = value
 */
    case __pyx_e_9dearcygui_4core_southwest:

    /* "dearcygui/core.pyx":13220
 *            value == LegendLocation.south or \
 *            value == LegendLocation.west or \
 *            value == LegendLocation.east or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.northeast or \
 *            value == LegendLocation.northwest or \
 */
    __pyx_t_2 = 1;
    break;
    default:
    __pyx_t_2 = 0;
    break;
  }
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":13216
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value == LegendLocation.center or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.north or \
 *            value == LegendLocation.south or \
 */
  if (likely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13225
 *            value == LegendLocation.southeast or \
 *            value == LegendLocation.southwest:
 *             self._location = value             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError("Invalid location. Must be a LegendLocation")
 */
    __pyx_v_self->_location = __pyx_v_value;

    /* "dearcygui/core.pyx":13216
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value == LegendLocation.center or \             # <<<<<<<<<<<<<<
 *            value == LegendLocation.north or \
 *            value == LegendLocation.south or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":13227
 *             self._location = value
 *         else:
 *             raise ValueError("Invalid location. Must be a LegendLocation")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 13227, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":13212
 *         return self._location
 * 
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, LegendLocation value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13229
 *             raise ValueError("Invalid location. Must be a LegendLocation")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_buttons(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13236
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_NoButtons) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13237
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_NoButtons) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_buttons.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_NoButtons) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13229
 *             raise ValueError("Invalid location. Must be a LegendLocation")
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_buttons(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_buttons.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13239
 *         return (self.flags & implot.ImPlotLegendFlags_NoButtons) != 0
 * 
 *     @no_buttons.setter             # <<<<<<<<<<<<<<
 *     def no_buttons(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_buttons.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10no_buttons_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13242
 *     def no_buttons(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_NoButtons
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13243
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoButtons             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_NoButtons));

  /* "dearcygui/core.pyx":13244
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoButtons
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13245
 *         self.flags &= ~implot.ImPlotLegendFlags_NoButtons
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_NoButtons);

    /* "dearcygui/core.pyx":13244
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoButtons
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons
 * 
 */
  }

  /* "dearcygui/core.pyx":13239
 *         return (self.flags & implot.ImPlotLegendFlags_NoButtons) != 0
 * 
 *     @no_buttons.setter             # <<<<<<<<<<<<<<
 *     def no_buttons(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13247
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight_item(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13254
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightItem) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13255
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightItem) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_highlight_item.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_NoHighlightItem) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13247
 *             self.flags |= implot.ImPlotLegendFlags_NoButtons
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight_item(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_highlight_item.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13257
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightItem) != 0
 * 
 *     @no_highlight_item.setter             # <<<<<<<<<<<<<<
 *     def no_highlight_item(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13258, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_highlight_item.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13260
 *     def no_highlight_item(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightItem
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13261
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightItem             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_NoHighlightItem));

  /* "dearcygui/core.pyx":13262
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightItem
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13263
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightItem
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_NoHighlightItem);

    /* "dearcygui/core.pyx":13262
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightItem
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem
 * 
 */
  }

  /* "dearcygui/core.pyx":13257
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightItem) != 0
 * 
 *     @no_highlight_item.setter             # <<<<<<<<<<<<<<
 *     def no_highlight_item(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13265
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight_axis(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13273
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightAxis) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13274
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightAxis) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_highlight_axis.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_NoHighlightAxis) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13265
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightItem
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_highlight_axis(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_highlight_axis.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13276
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightAxis) != 0
 * 
 *     @no_highlight_axis.setter             # <<<<<<<<<<<<<<
 *     def no_highlight_axis(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13277, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_highlight_axis.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13279
 *     def no_highlight_axis(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightAxis
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13280
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightAxis             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_NoHighlightAxis));

  /* "dearcygui/core.pyx":13281
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightAxis
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13282
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightAxis
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_NoHighlightAxis);

    /* "dearcygui/core.pyx":13281
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoHighlightAxis
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis
 * 
 */
  }

  /* "dearcygui/core.pyx":13276
 *         return (self.flags & implot.ImPlotLegendFlags_NoHighlightAxis) != 0
 * 
 *     @no_highlight_axis.setter             # <<<<<<<<<<<<<<
 *     def no_highlight_axis(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13284
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13291
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_NoMenus) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13292
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_NoMenus) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_menus.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_NoMenus) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13284
 *             self.flags |= implot.ImPlotLegendFlags_NoHighlightAxis
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_menus.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13294
 *         return (self.flags & implot.ImPlotLegendFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13295, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.no_menus.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13297
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_NoMenus
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13298
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoMenus             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_NoMenus));

  /* "dearcygui/core.pyx":13299
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13300
 *         self.flags &= ~implot.ImPlotLegendFlags_NoMenus
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_NoMenus);

    /* "dearcygui/core.pyx":13299
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus
 * 
 */
  }

  /* "dearcygui/core.pyx":13294
 *         return (self.flags & implot.ImPlotLegendFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13302
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def outside(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13309
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_Outside) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13310
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_Outside) != 0             # <<<<<<<<<<<<<<
 * 
 *     @outside.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_Outside) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13302
 *             self.flags |= implot.ImPlotLegendFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def outside(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.outside.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13312
 *         return (self.flags & implot.ImPlotLegendFlags_Outside) != 0
 * 
 *     @outside.setter             # <<<<<<<<<<<<<<
 *     def outside(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13313, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.outside.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_7outside_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13315
 *     def outside(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_Outside
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13316
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Outside             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Outside
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_Outside));

  /* "dearcygui/core.pyx":13317
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Outside
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Outside
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13318
 *         self.flags &= ~implot.ImPlotLegendFlags_Outside
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Outside             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_Outside);

    /* "dearcygui/core.pyx":13317
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Outside
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Outside
 * 
 */
  }

  /* "dearcygui/core.pyx":13312
 *         return (self.flags & implot.ImPlotLegendFlags_Outside) != 0
 * 
 *     @outside.setter             # <<<<<<<<<<<<<<
 *     def outside(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13320
 *             self.flags |= implot.ImPlotLegendFlags_Outside
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13327
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_Horizontal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13328
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_Horizontal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_Horizontal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13320
 *             self.flags |= implot.ImPlotLegendFlags_Outside
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13330
 *         return (self.flags & implot.ImPlotLegendFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13331, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13333
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_Horizontal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13334
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Horizontal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_Horizontal));

  /* "dearcygui/core.pyx":13335
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13336
 *         self.flags &= ~implot.ImPlotLegendFlags_Horizontal
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_Horizontal);

    /* "dearcygui/core.pyx":13335
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal
 * 
 */
  }

  /* "dearcygui/core.pyx":13330
 *         return (self.flags & implot.ImPlotLegendFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13338
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def sorted(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted___get__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted___get__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13345
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLegendFlags_Sort) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13346
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLegendFlags_Sort) != 0             # <<<<<<<<<<<<<<
 * 
 *     @sorted.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotLegendFlags_Sort) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13338
 *             self.flags |= implot.ImPlotLegendFlags_Horizontal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def sorted(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.sorted.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13348
 *         return (self.flags & implot.ImPlotLegendFlags_Sort) != 0
 * 
 *     @sorted.setter             # <<<<<<<<<<<<<<
 *     def sorted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13349, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.sorted.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_16PlotLegendConfig_6sorted_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13351
 *     def sorted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLegendFlags_Sort
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13352
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Sort             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Sort
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotLegendFlags_Sort));

  /* "dearcygui/core.pyx":13353
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Sort
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Sort
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13354
 *         self.flags &= ~implot.ImPlotLegendFlags_Sort
 *         if value:
 *             self.flags |= implot.ImPlotLegendFlags_Sort             # <<<<<<<<<<<<<<
 * 
 *     cdef void setup(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotLegendFlags_Sort);

    /* "dearcygui/core.pyx":13353
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLegendFlags_Sort
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLegendFlags_Sort
 * 
 */
  }

  /* "dearcygui/core.pyx":13348
 *         return (self.flags & implot.ImPlotLegendFlags_Sort) != 0
 * 
 *     @sorted.setter             # <<<<<<<<<<<<<<
 *     def sorted(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13356
 *             self.flags |= implot.ImPlotLegendFlags_Sort
 * 
 *     cdef void setup(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         implot.SetupLegend(self._location, self.flags)
 *         # NOTE: Setup does just fill the location and flags.
 */

static void __pyx_f_9dearcygui_4core_16PlotLegendConfig_setup(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {

  /* "dearcygui/core.pyx":13357
 * 
 *     cdef void setup(self) noexcept nogil:
 *         implot.SetupLegend(self._location, self.flags)             # <<<<<<<<<<<<<<
 *         # NOTE: Setup does just fill the location and flags.
 *         # No item is created at this point,
 */
  ImPlot::SetupLegend(__pyx_v_self->_location, __pyx_v_self->flags);

  /* "dearcygui/core.pyx":13356
 *             self.flags |= implot.ImPlotLegendFlags_Sort
 * 
 *     cdef void setup(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         implot.SetupLegend(self._location, self.flags)
 *         # NOTE: Setup does just fill the location and flags.
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":13362
 *         # and thus we don't push fonts, check states, etc.
 * 
 *     cdef void after_setup(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # The user can interact with legend configuration
 *         # with the mouse
 */

static void __pyx_f_9dearcygui_4core_16PlotLegendConfig_after_setup(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {

  /* "dearcygui/core.pyx":13365
 *         # The user can interact with legend configuration
 *         # with the mouse
 *         self._location = <LegendLocation>GetLegendConfig(self.flags)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->_location = ((enum __pyx_t_9dearcygui_4core_LegendLocation)GetLegendConfig(__pyx_v_self->flags));

  /* "dearcygui/core.pyx":13362
 *         # and thus we don't push fonts, check states, etc.
 * 
 *     cdef void after_setup(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # The user can interact with legend configuration
 *         # with the mouse
 */

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_16PlotLegendConfig_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_16PlotLegendConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLegendConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13387
 *     to the plot (+ some logic in your callbacks).
 *     """
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.can_have_plot_element_child = True
 *         self.state.cap.can_be_clicked = True
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_context = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_VARARGS(__pyx_args, 1, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return -1;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        default:
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13387, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, used_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13387, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs < 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_context = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(1, 13387, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("dearcygui.core.Plot.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot___cinit__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), __pyx_v_context, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot___cinit__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, PyObject *__pyx_v_context, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":13388
 *     """
 *     def __cinit__(self, context, *args, **kwargs):
 *         self.can_have_plot_element_child = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_plot_element_child = 1;

  /* "dearcygui/core.pyx":13389
 *     def __cinit__(self, context, *args, **kwargs):
 *         self.can_have_plot_element_child = True
 *         self.state.cap.can_be_clicked = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_clicked = 1;

  /* "dearcygui/core.pyx":13390
 *         self.can_have_plot_element_child = True
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_dragged = 1;

  /* "dearcygui/core.pyx":13391
 *         self.state.cap.can_be_clicked = True
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.state.cap.has_content_region = True
 *         self._X1 = PlotAxisConfig(context)
 */
  __pyx_v_self->__pyx_base.state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":13392
 *         self.state.cap.can_be_dragged = True
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True             # <<<<<<<<<<<<<<
 *         self._X1 = PlotAxisConfig(context)
 *         self._X2 = PlotAxisConfig(context, enabled=False)
 */
  __pyx_v_self->__pyx_base.state.cap.has_content_region = 1;

  /* "dearcygui/core.pyx":13393
 *         self.state.cap.can_be_hovered = True
 *         self.state.cap.has_content_region = True
 *         self._X1 = PlotAxisConfig(context)             # <<<<<<<<<<<<<<
 *         self._X2 = PlotAxisConfig(context, enabled=False)
 *         self._X3 = PlotAxisConfig(context, enabled=False)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_v_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X1);
  __pyx_v_self->_X1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":13394
 *         self.state.cap.has_content_region = True
 *         self._X1 = PlotAxisConfig(context)
 *         self._X2 = PlotAxisConfig(context, enabled=False)             # <<<<<<<<<<<<<<
 *         self._X3 = PlotAxisConfig(context, enabled=False)
 *         self._Y1 = PlotAxisConfig(context)
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_context);
  __Pyx_GIVEREF(__pyx_v_context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_context)) __PYX_ERR(1, 13394, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_enabled, Py_False) < 0) __PYX_ERR(1, 13394, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X2);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X2);
  __pyx_v_self->_X2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":13395
 *         self._X1 = PlotAxisConfig(context)
 *         self._X2 = PlotAxisConfig(context, enabled=False)
 *         self._X3 = PlotAxisConfig(context, enabled=False)             # <<<<<<<<<<<<<<
 *         self._Y1 = PlotAxisConfig(context)
 *         self._Y2 = PlotAxisConfig(context, enabled=False)
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_context);
  __Pyx_GIVEREF(__pyx_v_context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_context)) __PYX_ERR(1, 13395, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_enabled, Py_False) < 0) __PYX_ERR(1, 13395, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X3);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X3);
  __pyx_v_self->_X3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":13396
 *         self._X2 = PlotAxisConfig(context, enabled=False)
 *         self._X3 = PlotAxisConfig(context, enabled=False)
 *         self._Y1 = PlotAxisConfig(context)             # <<<<<<<<<<<<<<
 *         self._Y2 = PlotAxisConfig(context, enabled=False)
 *         self._Y3 = PlotAxisConfig(context, enabled=False)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_v_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
  __pyx_v_self->_Y1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":13397
 *         self._X3 = PlotAxisConfig(context, enabled=False)
 *         self._Y1 = PlotAxisConfig(context)
 *         self._Y2 = PlotAxisConfig(context, enabled=False)             # <<<<<<<<<<<<<<
 *         self._Y3 = PlotAxisConfig(context, enabled=False)
 *         self._legend = PlotLegendConfig(context)
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_context);
  __Pyx_GIVEREF(__pyx_v_context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_context)) __PYX_ERR(1, 13397, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_enabled, Py_False) < 0) __PYX_ERR(1, 13397, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
  __pyx_v_self->_Y2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":13398
 *         self._Y1 = PlotAxisConfig(context)
 *         self._Y2 = PlotAxisConfig(context, enabled=False)
 *         self._Y3 = PlotAxisConfig(context, enabled=False)             # <<<<<<<<<<<<<<
 *         self._legend = PlotLegendConfig(context)
 *         self._pan_button = imgui.ImGuiMouseButton_Left
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_context);
  __Pyx_GIVEREF(__pyx_v_context);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_context)) __PYX_ERR(1, 13398, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_enabled, Py_False) < 0) __PYX_ERR(1, 13398, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig), __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y3);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y3);
  __pyx_v_self->_Y3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":13399
 *         self._Y2 = PlotAxisConfig(context, enabled=False)
 *         self._Y3 = PlotAxisConfig(context, enabled=False)
 *         self._legend = PlotLegendConfig(context)             # <<<<<<<<<<<<<<
 *         self._pan_button = imgui.ImGuiMouseButton_Left
 *         self._pan_modifier = 0
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9dearcygui_4core_PlotLegendConfig), __pyx_v_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_legend);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_legend);
  __pyx_v_self->_legend = ((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":13400
 *         self._Y3 = PlotAxisConfig(context, enabled=False)
 *         self._legend = PlotLegendConfig(context)
 *         self._pan_button = imgui.ImGuiMouseButton_Left             # <<<<<<<<<<<<<<
 *         self._pan_modifier = 0
 *         self._fit_button = imgui.ImGuiMouseButton_Left
 */
  __pyx_v_self->_pan_button = ImGuiMouseButton_Left;

  /* "dearcygui/core.pyx":13401
 *         self._legend = PlotLegendConfig(context)
 *         self._pan_button = imgui.ImGuiMouseButton_Left
 *         self._pan_modifier = 0             # <<<<<<<<<<<<<<
 *         self._fit_button = imgui.ImGuiMouseButton_Left
 *         self._menu_button = imgui.ImGuiMouseButton_Right
 */
  __pyx_v_self->_pan_modifier = 0;

  /* "dearcygui/core.pyx":13402
 *         self._pan_button = imgui.ImGuiMouseButton_Left
 *         self._pan_modifier = 0
 *         self._fit_button = imgui.ImGuiMouseButton_Left             # <<<<<<<<<<<<<<
 *         self._menu_button = imgui.ImGuiMouseButton_Right
 *         self._override_mod = imgui.ImGuiMod_Ctrl
 */
  __pyx_v_self->_fit_button = ImGuiMouseButton_Left;

  /* "dearcygui/core.pyx":13403
 *         self._pan_modifier = 0
 *         self._fit_button = imgui.ImGuiMouseButton_Left
 *         self._menu_button = imgui.ImGuiMouseButton_Right             # <<<<<<<<<<<<<<
 *         self._override_mod = imgui.ImGuiMod_Ctrl
 *         self._zoom_mod = 0
 */
  __pyx_v_self->_menu_button = ImGuiMouseButton_Right;

  /* "dearcygui/core.pyx":13404
 *         self._fit_button = imgui.ImGuiMouseButton_Left
 *         self._menu_button = imgui.ImGuiMouseButton_Right
 *         self._override_mod = imgui.ImGuiMod_Ctrl             # <<<<<<<<<<<<<<
 *         self._zoom_mod = 0
 *         self._zoom_rate = 0.1
 */
  __pyx_v_self->_override_mod = ImGuiMod_Ctrl;

  /* "dearcygui/core.pyx":13405
 *         self._menu_button = imgui.ImGuiMouseButton_Right
 *         self._override_mod = imgui.ImGuiMod_Ctrl
 *         self._zoom_mod = 0             # <<<<<<<<<<<<<<
 *         self._zoom_rate = 0.1
 *         self._use_local_time = False
 */
  __pyx_v_self->_zoom_mod = 0;

  /* "dearcygui/core.pyx":13406
 *         self._override_mod = imgui.ImGuiMod_Ctrl
 *         self._zoom_mod = 0
 *         self._zoom_rate = 0.1             # <<<<<<<<<<<<<<
 *         self._use_local_time = False
 *         self._use_ISO8601 = False
 */
  __pyx_v_self->_zoom_rate = 0.1;

  /* "dearcygui/core.pyx":13407
 *         self._zoom_mod = 0
 *         self._zoom_rate = 0.1
 *         self._use_local_time = False             # <<<<<<<<<<<<<<
 *         self._use_ISO8601 = False
 *         self._use_24hour_clock = False
 */
  __pyx_v_self->_use_local_time = 0;

  /* "dearcygui/core.pyx":13408
 *         self._zoom_rate = 0.1
 *         self._use_local_time = False
 *         self._use_ISO8601 = False             # <<<<<<<<<<<<<<
 *         self._use_24hour_clock = False
 *         # Box select/Query rects. To remove
 */
  __pyx_v_self->_use_ISO8601 = 0;

  /* "dearcygui/core.pyx":13409
 *         self._use_local_time = False
 *         self._use_ISO8601 = False
 *         self._use_24hour_clock = False             # <<<<<<<<<<<<<<
 *         # Box select/Query rects. To remove
 *         # Disabling implot query rects. This is better
 */
  __pyx_v_self->_use_24hour_clock = 0;

  /* "dearcygui/core.pyx":13413
 *         # Disabling implot query rects. This is better
 *         # to have it implemented outside implot.
 *         self.flags = implot.ImPlotFlags_NoBoxSelect             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->flags = ImPlotFlags_NoBoxSelect;

  /* "dearcygui/core.pyx":13387
 *     to the plot (+ some logic in your callbacks).
 *     """
 *     def __cinit__(self, context, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self.can_have_plot_element_child = True
 *         self.state.cap.can_be_clicked = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Plot.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13415
 *         self.flags = implot.ImPlotFlags_NoBoxSelect
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X1___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X1___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13418
 *     def X1(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X1
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13419
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X1             # <<<<<<<<<<<<<<
 * 
 *     @X1.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X1);
  __pyx_r = ((PyObject *)__pyx_v_self->_X1);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13415
 *         self.flags = implot.ImPlotFlags_NoBoxSelect
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13421
 *         return self._X1
 * 
 *     @X1.setter             # <<<<<<<<<<<<<<
 *     def X1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2X1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2X1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13422, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X1_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2X1_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13424
 *     def X1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._X1 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13425
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._X1 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X1);
  __pyx_v_self->_X1 = __pyx_v_value;

  /* "dearcygui/core.pyx":13421
 *         return self._X1
 * 
 *     @X1.setter             # <<<<<<<<<<<<<<
 *     def X1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13427
 *         self._X1 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X2_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X2___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X2___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13430
 *     def X2(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X2
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13431
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X2             # <<<<<<<<<<<<<<
 * 
 *     @X2.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X2);
  __pyx_r = ((PyObject *)__pyx_v_self->_X2);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13427
 *         self._X1 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13433
 *         return self._X2
 * 
 *     @X2.setter             # <<<<<<<<<<<<<<
 *     def X2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2X2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2X2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13434, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X2_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2X2_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13436
 *     def X2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._X2 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13437
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._X2 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X2);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X2);
  __pyx_v_self->_X2 = __pyx_v_value;

  /* "dearcygui/core.pyx":13433
 *         return self._X2
 * 
 *     @X2.setter             # <<<<<<<<<<<<<<
 *     def X2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13439
 *         self._X2 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X3(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X3_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2X3_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X3___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2X3___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13442
 *     def X3(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X3
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13443
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X3             # <<<<<<<<<<<<<<
 * 
 *     @X3.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X3);
  __pyx_r = ((PyObject *)__pyx_v_self->_X3);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13439
 *         self._X2 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X3(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13445
 *         return self._X3
 * 
 *     @X3.setter             # <<<<<<<<<<<<<<
 *     def X3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2X3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2X3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13446, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2X3_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2X3_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13448
 *     def X3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._X3 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13449
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._X3 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X3);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X3);
  __pyx_v_self->_X3 = __pyx_v_value;

  /* "dearcygui/core.pyx":13445
 *         return self._X3
 * 
 *     @X3.setter             # <<<<<<<<<<<<<<
 *     def X3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13451
 *         self._X3 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y1___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y1___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13454
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y1
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13455
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y1             # <<<<<<<<<<<<<<
 * 
 *     @Y1.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y1);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y1);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13451
 *         self._X3 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13457
 *         return self._Y1
 * 
 *     @Y1.setter             # <<<<<<<<<<<<<<
 *     def Y1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2Y1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2Y1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13458, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y1_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2Y1_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13460
 *     def Y1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._Y1 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13461
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._Y1 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
  __pyx_v_self->_Y1 = __pyx_v_value;

  /* "dearcygui/core.pyx":13457
 *         return self._Y1
 * 
 *     @Y1.setter             # <<<<<<<<<<<<<<
 *     def Y1(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13463
 *         self._Y1 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y2_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y2___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y2___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13466
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y2
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13467
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y2             # <<<<<<<<<<<<<<
 * 
 *     @Y2.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y2);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y2);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13463
 *         self._Y1 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13469
 *         return self._Y2
 * 
 *     @Y2.setter             # <<<<<<<<<<<<<<
 *     def Y2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2Y2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2Y2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13470, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y2_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2Y2_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13472
 *     def Y2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._Y2 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13473
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._Y2 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
  __pyx_v_self->_Y2 = __pyx_v_value;

  /* "dearcygui/core.pyx":13469
 *         return self._Y2
 * 
 *     @Y2.setter             # <<<<<<<<<<<<<<
 *     def Y2(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13475
 *         self._Y2 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y3(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y3_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_2Y3_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y3___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2Y3___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13478
 *     def Y3(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y3
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13479
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y3             # <<<<<<<<<<<<<<
 * 
 *     @Y3.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y3);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y3);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13475
 *         self._Y2 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y3(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13481
 *         return self._Y3
 * 
 *     @Y3.setter             # <<<<<<<<<<<<<<
 *     def Y3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_2Y3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_2Y3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotAxisConfig, 0, "value", 0))) __PYX_ERR(1, 13482, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2Y3_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_2Y3_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13484
 *     def Y3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._Y3 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13485
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._Y3 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y3);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y3);
  __pyx_v_self->_Y3 = __pyx_v_value;

  /* "dearcygui/core.pyx":13481
 *         return self._Y3
 * 
 *     @Y3.setter             # <<<<<<<<<<<<<<
 *     def Y3(self, PlotAxisConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13487
 *         self._Y3 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def axes(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_4axes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_4axes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_4axes___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_4axes___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13494
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return [self._X1, self._X2, self._X3, \
 *                 self._Y1, self._Y2, self._Y3]
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13495
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return [self._X1, self._X2, self._X3, \             # <<<<<<<<<<<<<<
 *                 self._Y1, self._Y2, self._Y3]
 * 
 */
  __Pyx_XDECREF(__pyx_r);

  /* "dearcygui/core.pyx":13496
 *         lock_gil_friendly(m, self.mutex)
 *         return [self._X1, self._X2, self._X3, \
 *                 self._Y1, self._Y2, self._Y3]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X1);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->_X1))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X2);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X2);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->_X2))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X3);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X3);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_self->_X3))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y1);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_self->_Y1))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y2);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y2);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 4, ((PyObject *)__pyx_v_self->_Y2))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y3);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y3);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 5, ((PyObject *)__pyx_v_self->_Y3))) __PYX_ERR(1, 13495, __pyx_L1_error);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13487
 *         self._Y3 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def axes(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.axes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13498
 *                 self._Y1, self._Y2, self._Y3]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_config(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_13legend_config_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_13legend_config_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_13legend_config___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_13legend_config___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13501
 *     def legend_config(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._legend
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13502
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._legend             # <<<<<<<<<<<<<<
 * 
 *     @legend_config.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_legend);
  __pyx_r = ((PyObject *)__pyx_v_self->_legend);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13498
 *                 self._Y1, self._Y2, self._Y3]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_config(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13504
 *         return self._legend
 * 
 *     @legend_config.setter             # <<<<<<<<<<<<<<
 *     def legend_config(self, PlotLegendConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_13legend_config_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_13legend_config_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_PlotLegendConfig, 0, "value", 0))) __PYX_ERR(1, 13505, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_13legend_config_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_13legend_config_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13507
 *     def legend_config(self, PlotLegendConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._legend = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13508
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._legend = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_legend);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_legend);
  __pyx_v_self->_legend = __pyx_v_value;

  /* "dearcygui/core.pyx":13504
 *         return self._legend
 * 
 *     @legend_config.setter             # <<<<<<<<<<<<<<
 *     def legend_config(self, PlotLegendConfig value not None):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13510
 *         self._legend = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def content_pos(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11content_pos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11content_pos_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_11content_pos___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11content_pos___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13520
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return IntPairFromVec2(self._content_pos)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13521
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return IntPairFromVec2(self._content_pos)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9dearcygui_4core_IntPairFromVec2(__pyx_v_self->_content_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13510
 *         self._legend = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def content_pos(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.content_pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13523
 *         return IntPairFromVec2(self._content_pos)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10pan_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10pan_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10pan_button___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10pan_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13530
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._pan_button
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13531
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._pan_button             # <<<<<<<<<<<<<<
 * 
 *     @pan_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_pan_button); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13523
 *         return IntPairFromVec2(self._content_pos)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13533
 *         return self._pan_button
 * 
 *     @pan_button.setter             # <<<<<<<<<<<<<<
 *     def pan_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_10pan_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_10pan_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13534, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10pan_button_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_10pan_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13536
 *     def pan_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13537
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._pan_button = button
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13538
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         self._pan_button = button
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 13538, __pyx_L1_error)

    /* "dearcygui/core.pyx":13537
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._pan_button = button
 */
  }

  /* "dearcygui/core.pyx":13539
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         self._pan_button = button             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_pan_button = __pyx_v_button;

  /* "dearcygui/core.pyx":13533
 *         return self._pan_button
 * 
 *     @pan_button.setter             # <<<<<<<<<<<<<<
 *     def pan_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13541
 *         self._pan_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_mod(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_7pan_mod_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_7pan_mod_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_7pan_mod___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_7pan_mod___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13549
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._pan_modifier
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13550
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._pan_modifier             # <<<<<<<<<<<<<<
 * 
 *     @pan_mod.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_ImGuiKeyChord(__pyx_v_self->_pan_modifier); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13541
 *         self._pan_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pan_mod(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_mod.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13552
 *         return self._pan_modifier
 * 
 *     @pan_mod.setter             # <<<<<<<<<<<<<<
 *     def pan_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_7pan_mod_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_modifier); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_7pan_mod_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_modifier) {
  int __pyx_v_modifier;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_modifier); {
    __pyx_v_modifier = __Pyx_PyInt_As_int(__pyx_arg_modifier); if (unlikely((__pyx_v_modifier == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13553, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_mod.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_7pan_mod_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_modifier));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_7pan_mod_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_modifier) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13555
 *     def pan_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("pan_mod must be a combinaison of modifiers")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13556
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("pan_mod must be a combinaison of modifiers")
 *         self._pan_modifier = modifier
 */
  __pyx_t_1 = ((__pyx_v_modifier & (~ImGuiMod_Mask_)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13557
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("pan_mod must be a combinaison of modifiers")             # <<<<<<<<<<<<<<
 *         self._pan_modifier = modifier
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 13557, __pyx_L1_error)

    /* "dearcygui/core.pyx":13556
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("pan_mod must be a combinaison of modifiers")
 *         self._pan_modifier = modifier
 */
  }

  /* "dearcygui/core.pyx":13558
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("pan_mod must be a combinaison of modifiers")
 *         self._pan_modifier = modifier             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_pan_modifier = __pyx_v_modifier;

  /* "dearcygui/core.pyx":13552
 *         return self._pan_modifier
 * 
 *     @pan_mod.setter             # <<<<<<<<<<<<<<
 *     def pan_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Plot.pan_mod.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13560
 *         self._pan_modifier = modifier
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fit_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10fit_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10fit_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10fit_button___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10fit_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13568
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._fit_button
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13569
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._fit_button             # <<<<<<<<<<<<<<
 * 
 *     @fit_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_fit_button); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13560
 *         self._pan_modifier = modifier
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def fit_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.fit_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13571
 *         return self._fit_button
 * 
 *     @fit_button.setter             # <<<<<<<<<<<<<<
 *     def fit_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_10fit_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_10fit_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13572, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.fit_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10fit_button_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_10fit_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13574
 *     def fit_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13575
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._fit_button = button
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13576
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         self._fit_button = button
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 13576, __pyx_L1_error)

    /* "dearcygui/core.pyx":13575
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._fit_button = button
 */
  }

  /* "dearcygui/core.pyx":13577
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         self._fit_button = button             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_fit_button = __pyx_v_button;

  /* "dearcygui/core.pyx":13571
 *         return self._fit_button
 * 
 *     @fit_button.setter             # <<<<<<<<<<<<<<
 *     def fit_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Plot.fit_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13579
 *         self._fit_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menu_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11menu_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11menu_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_11menu_button___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11menu_button___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13587
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._menu_button
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13588
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._menu_button             # <<<<<<<<<<<<<<
 * 
 *     @menu_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_menu_button); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13579
 *         self._fit_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def menu_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.menu_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13590
 *         return self._menu_button
 * 
 *     @menu_button.setter             # <<<<<<<<<<<<<<
 *     def menu_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_11menu_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_11menu_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13591, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.menu_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_11menu_button_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_11menu_button_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13593
 *     def menu_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13594
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._menu_button = button
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13595
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         self._menu_button = button
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 13595, __pyx_L1_error)

    /* "dearcygui/core.pyx":13594
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._menu_button = button
 */
  }

  /* "dearcygui/core.pyx":13596
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         self._menu_button = button             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_menu_button = __pyx_v_button;

  /* "dearcygui/core.pyx":13590
 *         return self._menu_button
 * 
 *     @menu_button.setter             # <<<<<<<<<<<<<<
 *     def menu_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.Plot.menu_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13598
 *         self._menu_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_mod(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8zoom_mod___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8zoom_mod___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13607
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._zoom_mod
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13608
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._zoom_mod             # <<<<<<<<<<<<<<
 * 
 *     @zoom_mod.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_ImGuiKeyChord(__pyx_v_self->_zoom_mod); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13598
 *         self._menu_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_mod(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.zoom_mod.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13610
 *         return self._zoom_mod
 * 
 *     @zoom_mod.setter             # <<<<<<<<<<<<<<
 *     def zoom_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_modifier); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_modifier) {
  int __pyx_v_modifier;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_modifier); {
    __pyx_v_modifier = __Pyx_PyInt_As_int(__pyx_arg_modifier); if (unlikely((__pyx_v_modifier == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13611, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.zoom_mod.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8zoom_mod_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_modifier));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_8zoom_mod_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_modifier) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13613
 *     def zoom_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13614
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")
 *         self._zoom_mod = modifier
 */
  __pyx_t_1 = ((__pyx_v_modifier & (~ImGuiMod_Mask_)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":13615
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")             # <<<<<<<<<<<<<<
 *         self._zoom_mod = modifier
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 13615, __pyx_L1_error)

    /* "dearcygui/core.pyx":13614
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")
 *         self._zoom_mod = modifier
 */
  }

  /* "dearcygui/core.pyx":13616
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")
 *         self._zoom_mod = modifier             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_zoom_mod = __pyx_v_modifier;

  /* "dearcygui/core.pyx":13610
 *         return self._zoom_mod
 * 
 *     @zoom_mod.setter             # <<<<<<<<<<<<<<
 *     def zoom_mod(self, int modifier):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.Plot.zoom_mod.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13618
 *         self._zoom_mod = modifier
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_rate(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9zoom_rate___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9zoom_rate___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13627
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._zoom_rate
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13628
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._zoom_rate             # <<<<<<<<<<<<<<
 * 
 *     @zoom_rate.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zoom_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13618
 *         self._zoom_mod = modifier
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def zoom_rate(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.zoom_rate.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13630
 *         return self._zoom_rate
 * 
 *     @zoom_rate.setter             # <<<<<<<<<<<<<<
 *     def zoom_rate(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 13631, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.zoom_rate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9zoom_rate_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_9zoom_rate_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, float __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13633
 *     def zoom_rate(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._zoom_rate = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13634
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._zoom_rate = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_zoom_rate = __pyx_v_value;

  /* "dearcygui/core.pyx":13630
 *         return self._zoom_rate
 * 
 *     @zoom_rate.setter             # <<<<<<<<<<<<<<
 *     def zoom_rate(self, float value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13636
 *         self._zoom_rate = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_local_time(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_14use_local_time_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_14use_local_time_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_14use_local_time___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_14use_local_time___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13643
 *         Default is False.
 *         """
 *         return self._use_local_time             # <<<<<<<<<<<<<<
 * 
 *     @use_local_time.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_use_local_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13636
 *         self._zoom_rate = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_local_time(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.use_local_time.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13645
 *         return self._use_local_time
 * 
 *     @use_local_time.setter             # <<<<<<<<<<<<<<
 *     def use_local_time(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_14use_local_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_14use_local_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13646, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.use_local_time.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_14use_local_time_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_14use_local_time_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13648
 *     def use_local_time(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._use_local_time = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13649
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._use_local_time = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_use_local_time = __pyx_v_value;

  /* "dearcygui/core.pyx":13645
 *         return self._use_local_time
 * 
 *     @use_local_time.setter             # <<<<<<<<<<<<<<
 *     def use_local_time(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13651
 *         self._use_local_time = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_ISO8601(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13659
 *         Default is False.
 *         """
 *         return self._use_ISO8601             # <<<<<<<<<<<<<<
 * 
 *     @use_ISO8601.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_use_ISO8601); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13651
 *         self._use_local_time = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_ISO8601(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.use_ISO8601.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13661
 *         return self._use_ISO8601
 * 
 *     @use_ISO8601.setter             # <<<<<<<<<<<<<<
 *     def use_ISO8601(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13662, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.use_ISO8601.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_11use_ISO8601_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13664
 *     def use_ISO8601(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._use_ISO8601 = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13665
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._use_ISO8601 = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_use_ISO8601 = __pyx_v_value;

  /* "dearcygui/core.pyx":13661
 *         return self._use_ISO8601
 * 
 *     @use_ISO8601.setter             # <<<<<<<<<<<<<<
 *     def use_ISO8601(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13667
 *         self._use_ISO8601 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_24hour_clock(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13673
 *         Default is False
 *         """
 *         return self._use_24hour_clock             # <<<<<<<<<<<<<<
 * 
 *     @use_24hour_clock.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_use_24hour_clock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13667
 *         self._use_ISO8601 = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def use_24hour_clock(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.use_24hour_clock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13675
 *         return self._use_24hour_clock
 * 
 *     @use_24hour_clock.setter             # <<<<<<<<<<<<<<
 *     def use_24hour_clock(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13676, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.use_24hour_clock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_16use_24hour_clock_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13678
 *     def use_24hour_clock(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._use_24hour_clock = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13679
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._use_24hour_clock = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_use_24hour_clock = __pyx_v_value;

  /* "dearcygui/core.pyx":13675
 *         return self._use_24hour_clock
 * 
 *     @use_24hour_clock.setter             # <<<<<<<<<<<<<<
 *     def use_24hour_clock(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13681
 *         self._use_24hour_clock = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_title(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_title_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_title_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_title___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_title___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13688
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoTitle) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13689
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoTitle) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_title.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoTitle) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13681
 *         self._use_24hour_clock = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_title(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_title.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13691
 *         return (self.flags & implot.ImPlotFlags_NoTitle) != 0
 * 
 *     @no_title.setter             # <<<<<<<<<<<<<<
 *     def no_title(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_8no_title_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_8no_title_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13692, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_title.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_title_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_8no_title_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13694
 *     def no_title(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoTitle
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13695
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoTitle             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoTitle
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoTitle));

  /* "dearcygui/core.pyx":13696
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoTitle
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoTitle
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13697
 *         self.flags &= ~implot.ImPlotFlags_NoTitle
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoTitle             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoTitle);

    /* "dearcygui/core.pyx":13696
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoTitle
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoTitle
 * 
 */
  }

  /* "dearcygui/core.pyx":13691
 *         return (self.flags & implot.ImPlotFlags_NoTitle) != 0
 * 
 *     @no_title.setter             # <<<<<<<<<<<<<<
 *     def no_title(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13699
 *             self.flags |= implot.ImPlotFlags_NoTitle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_menus_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_menus_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_menus___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_menus___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13706
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoMenus) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13707
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoMenus) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_menus.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoMenus) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13699
 *             self.flags |= implot.ImPlotFlags_NoTitle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_menus(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_menus.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13709
 *         return (self.flags & implot.ImPlotFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_8no_menus_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13710, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_menus.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_menus_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_8no_menus_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13712
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoMenus
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13713
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMenus             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoMenus
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoMenus));

  /* "dearcygui/core.pyx":13714
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoMenus
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13715
 *         self.flags &= ~implot.ImPlotFlags_NoMenus
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoMenus             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoMenus);

    /* "dearcygui/core.pyx":13714
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMenus
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoMenus
 * 
 */
  }

  /* "dearcygui/core.pyx":13709
 *         return (self.flags & implot.ImPlotFlags_NoMenus) != 0
 * 
 *     @no_menus.setter             # <<<<<<<<<<<<<<
 *     def no_menus(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13717
 *             self.flags |= implot.ImPlotFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_mouse_pos(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13724
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoMouseText) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13725
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoMouseText) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_mouse_pos.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoMouseText) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13717
 *             self.flags |= implot.ImPlotFlags_NoMenus
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_mouse_pos(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_mouse_pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13727
 *         return (self.flags & implot.ImPlotFlags_NoMouseText) != 0
 * 
 *     @no_mouse_pos.setter             # <<<<<<<<<<<<<<
 *     def no_mouse_pos(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13728, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_mouse_pos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_12no_mouse_pos_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13730
 *     def no_mouse_pos(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoMouseText
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13731
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMouseText             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoMouseText
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoMouseText));

  /* "dearcygui/core.pyx":13732
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMouseText
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoMouseText
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13733
 *         self.flags &= ~implot.ImPlotFlags_NoMouseText
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoMouseText             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoMouseText);

    /* "dearcygui/core.pyx":13732
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoMouseText
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoMouseText
 * 
 */
  }

  /* "dearcygui/core.pyx":13727
 *         return (self.flags & implot.ImPlotFlags_NoMouseText) != 0
 * 
 *     @no_mouse_pos.setter             # <<<<<<<<<<<<<<
 *     def no_mouse_pos(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13735
 *             self.flags |= implot.ImPlotFlags_NoMouseText
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def crosshairs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10crosshairs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_10crosshairs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10crosshairs___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_10crosshairs___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13742
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_Crosshairs) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13743
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_Crosshairs) != 0             # <<<<<<<<<<<<<<
 * 
 *     @crosshairs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_Crosshairs) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13735
 *             self.flags |= implot.ImPlotFlags_NoMouseText
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def crosshairs(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.crosshairs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13745
 *         return (self.flags & implot.ImPlotFlags_Crosshairs) != 0
 * 
 *     @crosshairs.setter             # <<<<<<<<<<<<<<
 *     def crosshairs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_10crosshairs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_10crosshairs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13746, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.crosshairs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_10crosshairs_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_10crosshairs_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13748
 *     def crosshairs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_Crosshairs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13749
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Crosshairs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_Crosshairs
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_Crosshairs));

  /* "dearcygui/core.pyx":13750
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Crosshairs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_Crosshairs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13751
 *         self.flags &= ~implot.ImPlotFlags_Crosshairs
 *         if value:
 *             self.flags |= implot.ImPlotFlags_Crosshairs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_Crosshairs);

    /* "dearcygui/core.pyx":13750
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Crosshairs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_Crosshairs
 * 
 */
  }

  /* "dearcygui/core.pyx":13745
 *         return (self.flags & implot.ImPlotFlags_Crosshairs) != 0
 * 
 *     @crosshairs.setter             # <<<<<<<<<<<<<<
 *     def crosshairs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13753
 *             self.flags |= implot.ImPlotFlags_Crosshairs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def equal_aspects(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_13equal_aspects___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_13equal_aspects___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13760
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_Equal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13761
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_Equal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @equal_aspects.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_Equal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13753
 *             self.flags |= implot.ImPlotFlags_Crosshairs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def equal_aspects(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.equal_aspects.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13763
 *         return (self.flags & implot.ImPlotFlags_Equal) != 0
 * 
 *     @equal_aspects.setter             # <<<<<<<<<<<<<<
 *     def equal_aspects(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13764, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.equal_aspects.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_13equal_aspects_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_13equal_aspects_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13766
 *     def equal_aspects(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_Equal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13767
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Equal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_Equal
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_Equal));

  /* "dearcygui/core.pyx":13768
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Equal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_Equal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13769
 *         self.flags &= ~implot.ImPlotFlags_Equal
 *         if value:
 *             self.flags |= implot.ImPlotFlags_Equal             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_Equal);

    /* "dearcygui/core.pyx":13768
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_Equal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_Equal
 * 
 */
  }

  /* "dearcygui/core.pyx":13763
 *         return (self.flags & implot.ImPlotFlags_Equal) != 0
 * 
 *     @equal_aspects.setter             # <<<<<<<<<<<<<<
 *     def equal_aspects(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13771
 *             self.flags |= implot.ImPlotFlags_Equal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9no_inputs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9no_inputs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9no_inputs___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9no_inputs___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13778
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoInputs) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13779
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoInputs) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_inputs.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoInputs) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13771
 *             self.flags |= implot.ImPlotFlags_Equal
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_inputs(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_inputs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13781
 *         return (self.flags & implot.ImPlotFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_9no_inputs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13782, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_inputs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9no_inputs_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_9no_inputs_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13784
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoInputs
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13785
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoInputs             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoInputs
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoInputs));

  /* "dearcygui/core.pyx":13786
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoInputs
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13787
 *         self.flags &= ~implot.ImPlotFlags_NoInputs
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoInputs             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoInputs);

    /* "dearcygui/core.pyx":13786
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoInputs
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoInputs
 * 
 */
  }

  /* "dearcygui/core.pyx":13781
 *         return (self.flags & implot.ImPlotFlags_NoInputs) != 0
 * 
 *     @no_inputs.setter             # <<<<<<<<<<<<<<
 *     def no_inputs(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13789
 *             self.flags |= implot.ImPlotFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_frame(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_frame_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_8no_frame_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_frame___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_8no_frame___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13796
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoFrame) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13797
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoFrame) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_frame.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoFrame) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13789
 *             self.flags |= implot.ImPlotFlags_NoInputs
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_frame(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_frame.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13799
 *         return (self.flags & implot.ImPlotFlags_NoFrame) != 0
 * 
 *     @no_frame.setter             # <<<<<<<<<<<<<<
 *     def no_frame(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_8no_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_8no_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13800, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_8no_frame_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_8no_frame_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13802
 *     def no_frame(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoFrame
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13803
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoFrame             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoFrame
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoFrame));

  /* "dearcygui/core.pyx":13804
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoFrame
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoFrame
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13805
 *         self.flags &= ~implot.ImPlotFlags_NoFrame
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoFrame             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoFrame);

    /* "dearcygui/core.pyx":13804
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoFrame
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoFrame
 * 
 */
  }

  /* "dearcygui/core.pyx":13799
 *         return (self.flags & implot.ImPlotFlags_NoFrame) != 0
 * 
 *     @no_frame.setter             # <<<<<<<<<<<<<<
 *     def no_frame(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13807
 *             self.flags |= implot.ImPlotFlags_NoFrame
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_legend(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9no_legend_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_9no_legend_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9no_legend___get__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_9no_legend___get__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13814
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotFlags_NoLegend) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13815
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotFlags_NoLegend) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_legend.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->flags & ImPlotFlags_NoLegend) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13807
 *             self.flags |= implot.ImPlotFlags_NoFrame
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_legend(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.Plot.no_legend.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13817
 *         return (self.flags & implot.ImPlotFlags_NoLegend) != 0
 * 
 *     @no_legend.setter             # <<<<<<<<<<<<<<
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_4Plot_9no_legend_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_4Plot_9no_legend_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13818, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.no_legend.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_9no_legend_2__set__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_4Plot_9no_legend_2__set__(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":13820
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotFlags_NoLegend
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":13821
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoLegend             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoLegend
 */
  __pyx_v_self->flags = (__pyx_v_self->flags & (~ImPlotFlags_NoLegend));

  /* "dearcygui/core.pyx":13822
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoLegend
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoLegend
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":13823
 *         self.flags &= ~implot.ImPlotFlags_NoLegend
 *         if value:
 *             self.flags |= implot.ImPlotFlags_NoLegend             # <<<<<<<<<<<<<<
 * 
 *     cdef bint draw_item(self) noexcept nogil:
 */
    __pyx_v_self->flags = (__pyx_v_self->flags | ImPlotFlags_NoLegend);

    /* "dearcygui/core.pyx":13822
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotFlags_NoLegend
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotFlags_NoLegend
 * 
 */
  }

  /* "dearcygui/core.pyx":13817
 *         return (self.flags & implot.ImPlotFlags_NoLegend) != 0
 * 
 *     @no_legend.setter             # <<<<<<<<<<<<<<
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13825
 *             self.flags |= implot.ImPlotFlags_NoLegend
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef imgui.ImVec2 rect_size
 */

static int __pyx_f_9dearcygui_4core_4Plot_draw_item(struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  int __pyx_v_visible;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  float __pyx_t_3;
  ImGuiKeyChord __pyx_t_4;

  /* "dearcygui/core.pyx":13829
 *         cdef imgui.ImVec2 rect_size
 *         cdef bint visible
 *         implot.GetStyle().UseLocalTime = self._use_local_time             # <<<<<<<<<<<<<<
 *         implot.GetStyle().UseISO8601 = self._use_ISO8601
 *         implot.GetStyle().Use24HourClock = self._use_24hour_clock
 */
  __pyx_t_1 = __pyx_v_self->_use_local_time;
  ImPlot::GetStyle().UseLocalTime = __pyx_t_1;

  /* "dearcygui/core.pyx":13830
 *         cdef bint visible
 *         implot.GetStyle().UseLocalTime = self._use_local_time
 *         implot.GetStyle().UseISO8601 = self._use_ISO8601             # <<<<<<<<<<<<<<
 *         implot.GetStyle().Use24HourClock = self._use_24hour_clock
 *         implot.GetInputMap().Pan = self._pan_button
 */
  __pyx_t_1 = __pyx_v_self->_use_ISO8601;
  ImPlot::GetStyle().UseISO8601 = __pyx_t_1;

  /* "dearcygui/core.pyx":13831
 *         implot.GetStyle().UseLocalTime = self._use_local_time
 *         implot.GetStyle().UseISO8601 = self._use_ISO8601
 *         implot.GetStyle().Use24HourClock = self._use_24hour_clock             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().Pan = self._pan_button
 *         implot.GetInputMap().Fit = self._fit_button
 */
  __pyx_t_1 = __pyx_v_self->_use_24hour_clock;
  ImPlot::GetStyle().Use24HourClock = __pyx_t_1;

  /* "dearcygui/core.pyx":13832
 *         implot.GetStyle().UseISO8601 = self._use_ISO8601
 *         implot.GetStyle().Use24HourClock = self._use_24hour_clock
 *         implot.GetInputMap().Pan = self._pan_button             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().Fit = self._fit_button
 *         implot.GetInputMap().Menu = self._menu_button
 */
  __pyx_t_2 = __pyx_v_self->_pan_button;
  ImPlot::GetInputMap().Pan = __pyx_t_2;

  /* "dearcygui/core.pyx":13833
 *         implot.GetStyle().Use24HourClock = self._use_24hour_clock
 *         implot.GetInputMap().Pan = self._pan_button
 *         implot.GetInputMap().Fit = self._fit_button             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().Menu = self._menu_button
 *         implot.GetInputMap().ZoomRate = self._zoom_rate
 */
  __pyx_t_2 = __pyx_v_self->_fit_button;
  ImPlot::GetInputMap().Fit = __pyx_t_2;

  /* "dearcygui/core.pyx":13834
 *         implot.GetInputMap().Pan = self._pan_button
 *         implot.GetInputMap().Fit = self._fit_button
 *         implot.GetInputMap().Menu = self._menu_button             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().ZoomRate = self._zoom_rate
 *         implot.GetInputMap().PanMod = self._pan_modifier
 */
  __pyx_t_2 = __pyx_v_self->_menu_button;
  ImPlot::GetInputMap().Menu = __pyx_t_2;

  /* "dearcygui/core.pyx":13835
 *         implot.GetInputMap().Fit = self._fit_button
 *         implot.GetInputMap().Menu = self._menu_button
 *         implot.GetInputMap().ZoomRate = self._zoom_rate             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().PanMod = self._pan_modifier
 *         implot.GetInputMap().ZoomMod = self._zoom_mod
 */
  __pyx_t_3 = __pyx_v_self->_zoom_rate;
  ImPlot::GetInputMap().ZoomRate = __pyx_t_3;

  /* "dearcygui/core.pyx":13836
 *         implot.GetInputMap().Menu = self._menu_button
 *         implot.GetInputMap().ZoomRate = self._zoom_rate
 *         implot.GetInputMap().PanMod = self._pan_modifier             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().ZoomMod = self._zoom_mod
 *         implot.GetInputMap().OverrideMod = self._override_mod
 */
  __pyx_t_4 = __pyx_v_self->_pan_modifier;
  ImPlot::GetInputMap().PanMod = __pyx_t_4;

  /* "dearcygui/core.pyx":13837
 *         implot.GetInputMap().ZoomRate = self._zoom_rate
 *         implot.GetInputMap().PanMod = self._pan_modifier
 *         implot.GetInputMap().ZoomMod = self._zoom_mod             # <<<<<<<<<<<<<<
 *         implot.GetInputMap().OverrideMod = self._override_mod
 * 
 */
  __pyx_t_4 = __pyx_v_self->_zoom_mod;
  ImPlot::GetInputMap().ZoomMod = __pyx_t_4;

  /* "dearcygui/core.pyx":13838
 *         implot.GetInputMap().PanMod = self._pan_modifier
 *         implot.GetInputMap().ZoomMod = self._zoom_mod
 *         implot.GetInputMap().OverrideMod = self._override_mod             # <<<<<<<<<<<<<<
 * 
 *         self._X1.mutex.lock()
 */
  __pyx_t_4 = __pyx_v_self->_override_mod;
  ImPlot::GetInputMap().OverrideMod = __pyx_t_4;

  /* "dearcygui/core.pyx":13840
 *         implot.GetInputMap().OverrideMod = self._override_mod
 * 
 *         self._X1.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._X2.mutex.lock()
 *         self._X3.mutex.lock()
 */
  __pyx_v_self->_X1->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13841
 * 
 *         self._X1.mutex.lock()
 *         self._X2.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._X3.mutex.lock()
 *         self._Y1.mutex.lock()
 */
  __pyx_v_self->_X2->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13842
 *         self._X1.mutex.lock()
 *         self._X2.mutex.lock()
 *         self._X3.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._Y1.mutex.lock()
 *         self._Y2.mutex.lock()
 */
  __pyx_v_self->_X3->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13843
 *         self._X2.mutex.lock()
 *         self._X3.mutex.lock()
 *         self._Y1.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._Y2.mutex.lock()
 *         self._Y3.mutex.lock()
 */
  __pyx_v_self->_Y1->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13844
 *         self._X3.mutex.lock()
 *         self._Y1.mutex.lock()
 *         self._Y2.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._Y3.mutex.lock()
 *         self._legend.mutex.lock()
 */
  __pyx_v_self->_Y2->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13845
 *         self._Y1.mutex.lock()
 *         self._Y2.mutex.lock()
 *         self._Y3.mutex.lock()             # <<<<<<<<<<<<<<
 *         self._legend.mutex.lock()
 * 
 */
  __pyx_v_self->_Y3->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13846
 *         self._Y2.mutex.lock()
 *         self._Y3.mutex.lock()
 *         self._legend.mutex.lock()             # <<<<<<<<<<<<<<
 * 
 *         # Check at least one axis of each is enabled ?
 */
  __pyx_v_self->_legend->__pyx_base.mutex.lock();

  /* "dearcygui/core.pyx":13850
 *         # Check at least one axis of each is enabled ?
 * 
 *         visible = implot.BeginPlot(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    self.requested_size,
 *                                    self.flags)
 */
  __pyx_v_visible = ImPlot::BeginPlot(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->__pyx_base.requested_size, __pyx_v_self->flags);

  /* "dearcygui/core.pyx":13854
 *                                    self.flags)
 *         # BeginPlot created the imgui Item
 *         self.state.cur.rect_size = imgui.GetItemRectSize()             # <<<<<<<<<<<<<<
 *         if visible:
 *             self.state.cur.rendered = True
 */
  __pyx_v_self->__pyx_base.state.cur.rect_size = ImGui::GetItemRectSize();

  /* "dearcygui/core.pyx":13855
 *         # BeginPlot created the imgui Item
 *         self.state.cur.rect_size = imgui.GetItemRectSize()
 *         if visible:             # <<<<<<<<<<<<<<
 *             self.state.cur.rendered = True
 * 
 */
  if (__pyx_v_visible) {

    /* "dearcygui/core.pyx":13856
 *         self.state.cur.rect_size = imgui.GetItemRectSize()
 *         if visible:
 *             self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 * 
 *             # Setup axes
 */
    __pyx_v_self->__pyx_base.state.cur.rendered = 1;

    /* "dearcygui/core.pyx":13859
 * 
 *             # Setup axes
 *             self._X1.setup(implot.ImAxis_X1)             # <<<<<<<<<<<<<<
 *             self._X2.setup(implot.ImAxis_X2)
 *             self._X3.setup(implot.ImAxis_X3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X1->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_X1, ImAxis_X1);

    /* "dearcygui/core.pyx":13860
 *             # Setup axes
 *             self._X1.setup(implot.ImAxis_X1)
 *             self._X2.setup(implot.ImAxis_X2)             # <<<<<<<<<<<<<<
 *             self._X3.setup(implot.ImAxis_X3)
 *             self._Y1.setup(implot.ImAxis_Y1)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X2->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_X2, ImAxis_X2);

    /* "dearcygui/core.pyx":13861
 *             self._X1.setup(implot.ImAxis_X1)
 *             self._X2.setup(implot.ImAxis_X2)
 *             self._X3.setup(implot.ImAxis_X3)             # <<<<<<<<<<<<<<
 *             self._Y1.setup(implot.ImAxis_Y1)
 *             self._Y2.setup(implot.ImAxis_Y2)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X3->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_X3, ImAxis_X3);

    /* "dearcygui/core.pyx":13862
 *             self._X2.setup(implot.ImAxis_X2)
 *             self._X3.setup(implot.ImAxis_X3)
 *             self._Y1.setup(implot.ImAxis_Y1)             # <<<<<<<<<<<<<<
 *             self._Y2.setup(implot.ImAxis_Y2)
 *             self._Y3.setup(implot.ImAxis_Y3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y1->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_Y1, ImAxis_Y1);

    /* "dearcygui/core.pyx":13863
 *             self._X3.setup(implot.ImAxis_X3)
 *             self._Y1.setup(implot.ImAxis_Y1)
 *             self._Y2.setup(implot.ImAxis_Y2)             # <<<<<<<<<<<<<<
 *             self._Y3.setup(implot.ImAxis_Y3)
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y2->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_Y2, ImAxis_Y2);

    /* "dearcygui/core.pyx":13864
 *             self._Y1.setup(implot.ImAxis_Y1)
 *             self._Y2.setup(implot.ImAxis_Y2)
 *             self._Y3.setup(implot.ImAxis_Y3)             # <<<<<<<<<<<<<<
 * 
 *             # From DPG: workaround for stuck selection
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y3->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_Y3, ImAxis_Y3);

    /* "dearcygui/core.pyx":13873
 *             #    implot.GetInputMap().OverrideMod = imgui.ImGuiMod_None
 * 
 *             self._legend.setup()             # <<<<<<<<<<<<<<
 * 
 *             implot.SetupFinish()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self->_legend->__pyx_base.__pyx_vtab)->setup(__pyx_v_self->_legend);

    /* "dearcygui/core.pyx":13875
 *             self._legend.setup()
 * 
 *             implot.SetupFinish()             # <<<<<<<<<<<<<<
 * 
 *             # These states are valid after SetupFinish
 */
    ImPlot::SetupFinish();

    /* "dearcygui/core.pyx":13879
 *             # These states are valid after SetupFinish
 *             # Update now to have up to date data for handlers of children.
 *             self.state.cur.hovered = implot.IsPlotHovered()             # <<<<<<<<<<<<<<
 *             update_current_mouse_states(self.state)
 *             self.state.cur.content_region_size = implot.GetPlotSize()
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = ImPlot::IsPlotHovered();

    /* "dearcygui/core.pyx":13880
 *             # Update now to have up to date data for handlers of children.
 *             self.state.cur.hovered = implot.IsPlotHovered()
 *             update_current_mouse_states(self.state)             # <<<<<<<<<<<<<<
 *             self.state.cur.content_region_size = implot.GetPlotSize()
 *             self._content_pos = implot.GetPlotPos()
 */
    __pyx_f_9dearcygui_4core_update_current_mouse_states(__pyx_v_self->__pyx_base.state);

    /* "dearcygui/core.pyx":13881
 *             self.state.cur.hovered = implot.IsPlotHovered()
 *             update_current_mouse_states(self.state)
 *             self.state.cur.content_region_size = implot.GetPlotSize()             # <<<<<<<<<<<<<<
 *             self._content_pos = implot.GetPlotPos()
 * 
 */
    __pyx_v_self->__pyx_base.state.cur.content_region_size = ImPlot::GetPlotSize();

    /* "dearcygui/core.pyx":13882
 *             update_current_mouse_states(self.state)
 *             self.state.cur.content_region_size = implot.GetPlotSize()
 *             self._content_pos = implot.GetPlotPos()             # <<<<<<<<<<<<<<
 * 
 *             self._X1.after_setup(implot.ImAxis_X1)
 */
    __pyx_v_self->_content_pos = ImPlot::GetPlotPos();

    /* "dearcygui/core.pyx":13884
 *             self._content_pos = implot.GetPlotPos()
 * 
 *             self._X1.after_setup(implot.ImAxis_X1)             # <<<<<<<<<<<<<<
 *             self._X2.after_setup(implot.ImAxis_X2)
 *             self._X3.after_setup(implot.ImAxis_X3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X1->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_X1, ImAxis_X1);

    /* "dearcygui/core.pyx":13885
 * 
 *             self._X1.after_setup(implot.ImAxis_X1)
 *             self._X2.after_setup(implot.ImAxis_X2)             # <<<<<<<<<<<<<<
 *             self._X3.after_setup(implot.ImAxis_X3)
 *             self._Y1.after_setup(implot.ImAxis_Y1)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X2->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_X2, ImAxis_X2);

    /* "dearcygui/core.pyx":13886
 *             self._X1.after_setup(implot.ImAxis_X1)
 *             self._X2.after_setup(implot.ImAxis_X2)
 *             self._X3.after_setup(implot.ImAxis_X3)             # <<<<<<<<<<<<<<
 *             self._Y1.after_setup(implot.ImAxis_Y1)
 *             self._Y2.after_setup(implot.ImAxis_Y2)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X3->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_X3, ImAxis_X3);

    /* "dearcygui/core.pyx":13887
 *             self._X2.after_setup(implot.ImAxis_X2)
 *             self._X3.after_setup(implot.ImAxis_X3)
 *             self._Y1.after_setup(implot.ImAxis_Y1)             # <<<<<<<<<<<<<<
 *             self._Y2.after_setup(implot.ImAxis_Y2)
 *             self._Y3.after_setup(implot.ImAxis_Y3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y1->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_Y1, ImAxis_Y1);

    /* "dearcygui/core.pyx":13888
 *             self._X3.after_setup(implot.ImAxis_X3)
 *             self._Y1.after_setup(implot.ImAxis_Y1)
 *             self._Y2.after_setup(implot.ImAxis_Y2)             # <<<<<<<<<<<<<<
 *             self._Y3.after_setup(implot.ImAxis_Y3)
 *             self._legend.after_setup()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y2->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_Y2, ImAxis_Y2);

    /* "dearcygui/core.pyx":13889
 *             self._Y1.after_setup(implot.ImAxis_Y1)
 *             self._Y2.after_setup(implot.ImAxis_Y2)
 *             self._Y3.after_setup(implot.ImAxis_Y3)             # <<<<<<<<<<<<<<
 *             self._legend.after_setup()
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y3->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_Y3, ImAxis_Y3);

    /* "dearcygui/core.pyx":13890
 *             self._Y2.after_setup(implot.ImAxis_Y2)
 *             self._Y3.after_setup(implot.ImAxis_Y3)
 *             self._legend.after_setup()             # <<<<<<<<<<<<<<
 * 
 *             implot.PushPlotClipRect(0.)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotLegendConfig *)__pyx_v_self->_legend->__pyx_base.__pyx_vtab)->after_setup(__pyx_v_self->_legend);

    /* "dearcygui/core.pyx":13892
 *             self._legend.after_setup()
 * 
 *             implot.PushPlotClipRect(0.)             # <<<<<<<<<<<<<<
 * 
 *             if self.last_plot_element_child is not None:
 */
    ImPlot::PushPlotClipRect(0.);

    /* "dearcygui/core.pyx":13894
 *             implot.PushPlotClipRect(0.)
 * 
 *             if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_plot_element_child.draw()
 * 
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_plot_element_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":13895
 * 
 *             if self.last_plot_element_child is not None:
 *                 self.last_plot_element_child.draw()             # <<<<<<<<<<<<<<
 * 
 *             implot.PopPlotClipRect()
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_base.last_plot_element_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_plot_element_child);

      /* "dearcygui/core.pyx":13894
 *             implot.PushPlotClipRect(0.)
 * 
 *             if self.last_plot_element_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_plot_element_child.draw()
 * 
 */
    }

    /* "dearcygui/core.pyx":13897
 *                 self.last_plot_element_child.draw()
 * 
 *             implot.PopPlotClipRect()             # <<<<<<<<<<<<<<
 *             # The user can interact with the plot
 *             # configuration with the mouse
 */
    ImPlot::PopPlotClipRect();

    /* "dearcygui/core.pyx":13900
 *             # The user can interact with the plot
 *             # configuration with the mouse
 *             self.flags = GetPlotConfig()             # <<<<<<<<<<<<<<
 *             implot.EndPlot()
 *             self._X1.after_plot(implot.ImAxis_X1)
 */
    __pyx_v_self->flags = GetPlotConfig();

    /* "dearcygui/core.pyx":13901
 *             # configuration with the mouse
 *             self.flags = GetPlotConfig()
 *             implot.EndPlot()             # <<<<<<<<<<<<<<
 *             self._X1.after_plot(implot.ImAxis_X1)
 *             self._X2.after_plot(implot.ImAxis_X2)
 */
    ImPlot::EndPlot();

    /* "dearcygui/core.pyx":13902
 *             self.flags = GetPlotConfig()
 *             implot.EndPlot()
 *             self._X1.after_plot(implot.ImAxis_X1)             # <<<<<<<<<<<<<<
 *             self._X2.after_plot(implot.ImAxis_X2)
 *             self._X3.after_plot(implot.ImAxis_X3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X1->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_X1, ImAxis_X1);

    /* "dearcygui/core.pyx":13903
 *             implot.EndPlot()
 *             self._X1.after_plot(implot.ImAxis_X1)
 *             self._X2.after_plot(implot.ImAxis_X2)             # <<<<<<<<<<<<<<
 *             self._X3.after_plot(implot.ImAxis_X3)
 *             self._Y1.after_plot(implot.ImAxis_Y1)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X2->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_X2, ImAxis_X2);

    /* "dearcygui/core.pyx":13904
 *             self._X1.after_plot(implot.ImAxis_X1)
 *             self._X2.after_plot(implot.ImAxis_X2)
 *             self._X3.after_plot(implot.ImAxis_X3)             # <<<<<<<<<<<<<<
 *             self._Y1.after_plot(implot.ImAxis_Y1)
 *             self._Y2.after_plot(implot.ImAxis_Y2)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X3->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_X3, ImAxis_X3);

    /* "dearcygui/core.pyx":13905
 *             self._X2.after_plot(implot.ImAxis_X2)
 *             self._X3.after_plot(implot.ImAxis_X3)
 *             self._Y1.after_plot(implot.ImAxis_Y1)             # <<<<<<<<<<<<<<
 *             self._Y2.after_plot(implot.ImAxis_Y2)
 *             self._Y3.after_plot(implot.ImAxis_Y3)
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y1->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_Y1, ImAxis_Y1);

    /* "dearcygui/core.pyx":13906
 *             self._X3.after_plot(implot.ImAxis_X3)
 *             self._Y1.after_plot(implot.ImAxis_Y1)
 *             self._Y2.after_plot(implot.ImAxis_Y2)             # <<<<<<<<<<<<<<
 *             self._Y3.after_plot(implot.ImAxis_Y3)
 *         elif self.state.cur.rendered:
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y2->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_Y2, ImAxis_Y2);

    /* "dearcygui/core.pyx":13907
 *             self._Y1.after_plot(implot.ImAxis_Y1)
 *             self._Y2.after_plot(implot.ImAxis_Y2)
 *             self._Y3.after_plot(implot.ImAxis_Y3)             # <<<<<<<<<<<<<<
 *         elif self.state.cur.rendered:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y3->__pyx_base.__pyx_vtab)->after_plot(__pyx_v_self->_Y3, ImAxis_Y3);

    /* "dearcygui/core.pyx":13855
 *         # BeginPlot created the imgui Item
 *         self.state.cur.rect_size = imgui.GetItemRectSize()
 *         if visible:             # <<<<<<<<<<<<<<
 *             self.state.cur.rendered = True
 * 
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":13908
 *             self._Y2.after_plot(implot.ImAxis_Y2)
 *             self._Y3.after_plot(implot.ImAxis_Y3)
 *         elif self.state.cur.rendered:             # <<<<<<<<<<<<<<
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             self._X1.set_hidden()
 */
  if (__pyx_v_self->__pyx_base.state.cur.rendered) {

    /* "dearcygui/core.pyx":13909
 *             self._Y3.after_plot(implot.ImAxis_Y3)
 *         elif self.state.cur.rendered:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *             self._X1.set_hidden()
 *             self._X2.set_hidden()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Plot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_hidden_no_handler_and_propagate_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":13910
 *         elif self.state.cur.rendered:
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             self._X1.set_hidden()             # <<<<<<<<<<<<<<
 *             self._X2.set_hidden()
 *             self._X3.set_hidden()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X1->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_X1);

    /* "dearcygui/core.pyx":13911
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             self._X1.set_hidden()
 *             self._X2.set_hidden()             # <<<<<<<<<<<<<<
 *             self._X3.set_hidden()
 *             self._Y1.set_hidden()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X2->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_X2);

    /* "dearcygui/core.pyx":13912
 *             self._X1.set_hidden()
 *             self._X2.set_hidden()
 *             self._X3.set_hidden()             # <<<<<<<<<<<<<<
 *             self._Y1.set_hidden()
 *             self._Y2.set_hidden()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_X3->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_X3);

    /* "dearcygui/core.pyx":13913
 *             self._X2.set_hidden()
 *             self._X3.set_hidden()
 *             self._Y1.set_hidden()             # <<<<<<<<<<<<<<
 *             self._Y2.set_hidden()
 *             self._Y3.set_hidden()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y1->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_Y1);

    /* "dearcygui/core.pyx":13914
 *             self._X3.set_hidden()
 *             self._Y1.set_hidden()
 *             self._Y2.set_hidden()             # <<<<<<<<<<<<<<
 *             self._Y3.set_hidden()
 *         self._X1.mutex.unlock()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y2->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_Y2);

    /* "dearcygui/core.pyx":13915
 *             self._Y1.set_hidden()
 *             self._Y2.set_hidden()
 *             self._Y3.set_hidden()             # <<<<<<<<<<<<<<
 *         self._X1.mutex.unlock()
 *         self._X2.mutex.unlock()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig *)__pyx_v_self->_Y3->__pyx_base.__pyx_vtab)->set_hidden(__pyx_v_self->_Y3);

    /* "dearcygui/core.pyx":13908
 *             self._Y2.after_plot(implot.ImAxis_Y2)
 *             self._Y3.after_plot(implot.ImAxis_Y3)
 *         elif self.state.cur.rendered:             # <<<<<<<<<<<<<<
 *             self.set_hidden_no_handler_and_propagate_to_children_with_handlers()
 *             self._X1.set_hidden()
 */
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":13916
 *             self._Y2.set_hidden()
 *             self._Y3.set_hidden()
 *         self._X1.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._X2.mutex.unlock()
 *         self._X3.mutex.unlock()
 */
  __pyx_v_self->_X1->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13917
 *             self._Y3.set_hidden()
 *         self._X1.mutex.unlock()
 *         self._X2.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._X3.mutex.unlock()
 *         self._Y1.mutex.unlock()
 */
  __pyx_v_self->_X2->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13918
 *         self._X1.mutex.unlock()
 *         self._X2.mutex.unlock()
 *         self._X3.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._Y1.mutex.unlock()
 *         self._Y2.mutex.unlock()
 */
  __pyx_v_self->_X3->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13919
 *         self._X2.mutex.unlock()
 *         self._X3.mutex.unlock()
 *         self._Y1.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._Y2.mutex.unlock()
 *         self._Y3.mutex.unlock()
 */
  __pyx_v_self->_Y1->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13920
 *         self._X3.mutex.unlock()
 *         self._Y1.mutex.unlock()
 *         self._Y2.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._Y3.mutex.unlock()
 *         self._legend.mutex.unlock()
 */
  __pyx_v_self->_Y2->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13921
 *         self._Y1.mutex.unlock()
 *         self._Y2.mutex.unlock()
 *         self._Y3.mutex.unlock()             # <<<<<<<<<<<<<<
 *         self._legend.mutex.unlock()
 *         return False
 */
  __pyx_v_self->_Y3->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13922
 *         self._Y2.mutex.unlock()
 *         self._Y3.mutex.unlock()
 *         self._legend.mutex.unlock()             # <<<<<<<<<<<<<<
 *         return False
 *         # We don't need to restore the plot config as we
 */
  __pyx_v_self->_legend->__pyx_base.mutex.unlock();

  /* "dearcygui/core.pyx":13923
 *         self._Y3.mutex.unlock()
 *         self._legend.mutex.unlock()
 *         return False             # <<<<<<<<<<<<<<
 *         # We don't need to restore the plot config as we
 *         # always overwrite it.
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13825
 *             self.flags |= implot.ImPlotFlags_NoLegend
 * 
 *     cdef bint draw_item(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef imgui.ImVec2 rect_size
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Plot_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Plot_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_4Plot_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Plot_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_4Plot_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4Plot_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_Plot *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4Plot_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_Plot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.Plot.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13932
 *     Base class for plot children.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11plotElement_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_11plotElement_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement___cinit__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11plotElement___cinit__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  int __pyx_t_4[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":13933
 *     """
 *     def __cinit__(self):
 *         self.imgui_label = b'###%ld'% self.uuid             # <<<<<<<<<<<<<<
 *         self.user_label = ""
 *         self.flags = implot.ImPlotItemFlags_None
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->__pyx_base.uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Remainder(__pyx_kp_b_ld, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_3);

  /* "dearcygui/core.pyx":13934
 *     def __cinit__(self):
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""             # <<<<<<<<<<<<<<
 *         self.flags = implot.ImPlotItemFlags_None
 *         self.can_have_sibling = True
 */
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->user_label);
  __Pyx_DECREF(__pyx_v_self->user_label);
  __pyx_v_self->user_label = __pyx_kp_u_;

  /* "dearcygui/core.pyx":13935
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""
 *         self.flags = implot.ImPlotItemFlags_None             # <<<<<<<<<<<<<<
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_plot_element
 */
  __pyx_v_self->flags = ImPlotItemFlags_None;

  /* "dearcygui/core.pyx":13936
 *         self.user_label = ""
 *         self.flags = implot.ImPlotItemFlags_None
 *         self.can_have_sibling = True             # <<<<<<<<<<<<<<
 *         self.element_child_category = child_type.cat_plot_element
 *         self._show = True
 */
  __pyx_v_self->__pyx_base.can_have_sibling = 1;

  /* "dearcygui/core.pyx":13937
 *         self.flags = implot.ImPlotItemFlags_None
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_plot_element             # <<<<<<<<<<<<<<
 *         self._show = True
 *         self._axes = [implot.ImAxis_X1, implot.ImAxis_Y1]
 */
  __pyx_v_self->__pyx_base.element_child_category = __pyx_e_9dearcygui_4core_cat_plot_element;

  /* "dearcygui/core.pyx":13938
 *         self.can_have_sibling = True
 *         self.element_child_category = child_type.cat_plot_element
 *         self._show = True             # <<<<<<<<<<<<<<
 *         self._axes = [implot.ImAxis_X1, implot.ImAxis_Y1]
 *         self._theme = None
 */
  __pyx_v_self->_show = 1;

  /* "dearcygui/core.pyx":13939
 *         self.element_child_category = child_type.cat_plot_element
 *         self._show = True
 *         self._axes = [implot.ImAxis_X1, implot.ImAxis_Y1]             # <<<<<<<<<<<<<<
 *         self._theme = None
 * 
 */
  __pyx_t_4[0] = ImAxis_X1;
  __pyx_t_4[1] = ImAxis_Y1;
  memcpy(&(__pyx_v_self->_axes[0]), __pyx_t_4, sizeof(__pyx_v_self->_axes[0]) * (2));

  /* "dearcygui/core.pyx":13940
 *         self._show = True
 *         self._axes = [implot.ImAxis_X1, implot.ImAxis_Y1]
 *         self._theme = None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_theme);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_theme);
  __pyx_v_self->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None);

  /* "dearcygui/core.pyx":13932
 *     Base class for plot children.
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.imgui_label = b'###%ld'% self.uuid
 *         self.user_label = ""
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("dearcygui.core.plotElement.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13942
 *         self._theme = None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_4show_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_4show_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_4show___get__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4show___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13953
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._show
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13954
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._show             # <<<<<<<<<<<<<<
 * 
 *     @show.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_show); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13942
 *         self._theme = None
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def show(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElement.show.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13956
 *         return self._show
 * 
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11plotElement_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11plotElement_4show_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13957, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElement.show.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_4show_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11plotElement_4show_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;

  /* "dearcygui/core.pyx":13959
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13960
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value
 */
  __pyx_t_2 = (!__pyx_v_value);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->_show;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":13961
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()             # <<<<<<<<<<<<<<
 *         self._show = value
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.set_hidden_and_propagate_to_siblings_no_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":13960
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if not(value) and self._show:             # <<<<<<<<<<<<<<
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value
 */
  }

  /* "dearcygui/core.pyx":13962
 *         if not(value) and self._show:
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 *         self._show = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_show = __pyx_v_value;

  /* "dearcygui/core.pyx":13956
 *         return self._show
 * 
 *     @show.setter             # <<<<<<<<<<<<<<
 *     def show(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":13964
 *         self._show = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def axes(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_4axes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_4axes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_4axes___get__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4axes___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13972
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self._axes[0], self._axes[1])
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13973
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self._axes[0], self._axes[1])             # <<<<<<<<<<<<<<
 * 
 *     @axes.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_axes[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_self->_axes[1])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(1, 13973, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2)) __PYX_ERR(1, 13973, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13964
 *         self._show = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def axes(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.plotElement.axes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13975
 *         return (self._axes[0], self._axes[1])
 * 
 *     @axes.setter             # <<<<<<<<<<<<<<
 *     def axes(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11plotElement_4axes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11plotElement_4axes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_4axes_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11plotElement_4axes_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_v_axis_x;
  int __pyx_v_axis_y;
  CYTHON_UNUSED PyObject *__pyx_v_e = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  char const *__pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":13978
 *     def axes(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef int axis_x, axis_y
 *         try:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":13980
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int axis_x, axis_y
 *         try:             # <<<<<<<<<<<<<<
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "dearcygui/core.pyx":13981
 *         cdef int axis_x, axis_y
 *         try:
 *             (axis_x, axis_y) = value             # <<<<<<<<<<<<<<
 *             assert(axis_x in [implot.ImAxis_X1,
 *                               implot.ImAxis_X2,
 */
      if ((likely(PyTuple_CheckExact(__pyx_v_value))) || (PyList_CheckExact(__pyx_v_value))) {
        PyObject* sequence = __pyx_v_value;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(1, 13981, __pyx_L3_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        #else
        __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13981, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13981, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
      } else {
        Py_ssize_t index = -1;
        __pyx_t_6 = PyObject_GetIter(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13981, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
        index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L9_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_4);
        index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L9_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(1, 13981, __pyx_L3_error)
        __pyx_t_7 = NULL;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L10_unpacking_done;
        __pyx_L9_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_7 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 13981, __pyx_L3_error)
        __pyx_L10_unpacking_done:;
      }
      __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13981, __pyx_L3_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13981, __pyx_L3_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_axis_x = __pyx_t_8;
      __pyx_v_axis_y = __pyx_t_9;

      /* "dearcygui/core.pyx":13982
 *         try:
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 */
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {

        /* "dearcygui/core.pyx":13984
 *             assert(axis_x in [implot.ImAxis_X1,
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])             # <<<<<<<<<<<<<<
 *             assert(axis_y in [implot.ImAxis_Y1,
 *                               implot.ImAxis_Y2,
 */
        switch (__pyx_v_axis_x) {
          case ImAxis_X1:

          /* "dearcygui/core.pyx":13982
 *         try:
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 */
          case ImAxis_X2:

          /* "dearcygui/core.pyx":13983
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,
 *                               implot.ImAxis_X2,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_X3])
 *             assert(axis_y in [implot.ImAxis_Y1,
 */
          case ImAxis_X3:

          /* "dearcygui/core.pyx":13982
 *         try:
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 */
          __pyx_t_10 = 1;
          break;
          default:
          __pyx_t_10 = 0;
          break;
        }
        __pyx_t_11 = __pyx_t_10;
        if (unlikely(!__pyx_t_11)) {
          __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
          __PYX_ERR(1, 13982, __pyx_L3_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(1, 13982, __pyx_L3_error)
      #endif

      /* "dearcygui/core.pyx":13985
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 *             assert(axis_y in [implot.ImAxis_Y1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])
 */
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {

        /* "dearcygui/core.pyx":13987
 *             assert(axis_y in [implot.ImAxis_Y1,
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")
 */
        switch (__pyx_v_axis_y) {
          case ImAxis_Y1:

          /* "dearcygui/core.pyx":13985
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 *             assert(axis_y in [implot.ImAxis_Y1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])
 */
          case ImAxis_Y2:

          /* "dearcygui/core.pyx":13986
 *                               implot.ImAxis_X3])
 *             assert(axis_y in [implot.ImAxis_Y1,
 *                               implot.ImAxis_Y2,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_Y3])
 *         except Exception as e:
 */
          case ImAxis_Y3:

          /* "dearcygui/core.pyx":13985
 *                               implot.ImAxis_X2,
 *                               implot.ImAxis_X3])
 *             assert(axis_y in [implot.ImAxis_Y1,             # <<<<<<<<<<<<<<
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])
 */
          __pyx_t_11 = 1;
          break;
          default:
          __pyx_t_11 = 0;
          break;
        }
        __pyx_t_10 = __pyx_t_11;
        if (unlikely(!__pyx_t_10)) {
          __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
          __PYX_ERR(1, 13985, __pyx_L3_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(1, 13985, __pyx_L3_error)
      #endif

      /* "dearcygui/core.pyx":13980
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int axis_x, axis_y
 *         try:             # <<<<<<<<<<<<<<
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "dearcygui/core.pyx":13988
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")
 *         self._axes[0] = axis_x
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_9) {
      __Pyx_AddTraceback("dearcygui.core.plotElement.axes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 13988, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __pyx_v_e = __pyx_t_4;
      /*try:*/ {

        /* "dearcygui/core.pyx":13989
 *                               implot.ImAxis_Y3])
 *         except Exception as e:
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")             # <<<<<<<<<<<<<<
 *         self._axes[0] = axis_x
 *         self._axes[1] = axis_y
 */
        __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13989, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_Raise(__pyx_t_12, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __PYX_ERR(1, 13989, __pyx_L16_error)
      }

      /* "dearcygui/core.pyx":13988
 *                               implot.ImAxis_Y2,
 *                               implot.ImAxis_Y3])
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")
 *         self._axes[0] = axis_x
 */
      /*finally:*/ {
        __pyx_L16_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_14);
          __Pyx_XGOTREF(__pyx_t_15);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __pyx_t_9 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_13 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_17);
            __Pyx_XGIVEREF(__pyx_t_18);
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19);
          }
          __Pyx_XGIVEREF(__pyx_t_14);
          __Pyx_XGIVEREF(__pyx_t_15);
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_ErrRestore(__pyx_t_14, __pyx_t_15, __pyx_t_16);
          __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0;
          __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_13;
          goto __pyx_L5_except_error;
        }
      }
    }
    goto __pyx_L5_except_error;

    /* "dearcygui/core.pyx":13980
 *         lock_gil_friendly(m, self.mutex)
 *         cdef int axis_x, axis_y
 *         try:             # <<<<<<<<<<<<<<
 *             (axis_x, axis_y) = value
 *             assert(axis_x in [implot.ImAxis_X1,
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "dearcygui/core.pyx":13990
 *         except Exception as e:
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")
 *         self._axes[0] = axis_x             # <<<<<<<<<<<<<<
 *         self._axes[1] = axis_y
 * 
 */
  (__pyx_v_self->_axes[0]) = __pyx_v_axis_x;

  /* "dearcygui/core.pyx":13991
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")
 *         self._axes[0] = axis_x
 *         self._axes[1] = axis_y             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_axes[1]) = __pyx_v_axis_y;

  /* "dearcygui/core.pyx":13975
 *         return (self._axes[0], self._axes[1])
 * 
 *     @axes.setter             # <<<<<<<<<<<<<<
 *     def axes(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("dearcygui.core.plotElement.axes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":13993
 *         self._axes[1] = axis_y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_5label___get__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_5label___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":13999
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.user_label
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":14000
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.user_label             # <<<<<<<<<<<<<<
 * 
 *     @label.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->user_label);
  __pyx_r = __pyx_v_self->user_label;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":13993
 *         self._axes[1] = axis_y
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def label(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14002
 *         return self.user_label
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11plotElement_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11plotElement_5label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyUnicode_Type), 1, "value", 1))) __PYX_ERR(1, 14003, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_5label_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11plotElement_5label_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  std::string __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14005
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value is None:
 *             self.user_label = ""
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":14006
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
  __pyx_t_1 = (__pyx_v_value == ((PyObject*)Py_None));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14007
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:
 *             self.user_label = ""             # <<<<<<<<<<<<<<
 *         else:
 *             self.user_label = value
 */
    __Pyx_INCREF(__pyx_kp_u_);
    __Pyx_GIVEREF(__pyx_kp_u_);
    __Pyx_GOTREF(__pyx_v_self->user_label);
    __Pyx_DECREF(__pyx_v_self->user_label);
    __pyx_v_self->user_label = __pyx_kp_u_;

    /* "dearcygui/core.pyx":14006
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value is None:             # <<<<<<<<<<<<<<
 *             self.user_label = ""
 *         else:
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14009
 *             self.user_label = ""
 *         else:
 *             self.user_label = value             # <<<<<<<<<<<<<<
 *         # Using ### means that imgui will ignore the user_label for
 *         # its internal ID of the object. Indeed else the ID would change
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    __Pyx_GOTREF(__pyx_v_self->user_label);
    __Pyx_DECREF(__pyx_v_self->user_label);
    __pyx_v_self->user_label = __pyx_v_value;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14013
 *         # its internal ID of the object. Indeed else the ID would change
 *         # when the user label would change
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_self->user_label);
  __Pyx_GIVEREF(__pyx_v_self->user_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->user_label)) __PYX_ERR(1, 14013, __pyx_L1_error);
  __Pyx_INCREF(__pyx_kp_u_utf_8);
  __Pyx_GIVEREF(__pyx_kp_u_utf_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u_utf_8)) __PYX_ERR(1, 14013, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyBytes_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_self->__pyx_base.uuid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyNumber_Remainder(__pyx_kp_b_ld, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_6libcpp_6string_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->imgui_label = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);

  /* "dearcygui/core.pyx":14002
 *         return self.user_label
 * 
 *     @label.setter             # <<<<<<<<<<<<<<
 *     def label(self, str value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.plotElement.label.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14015
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5theme_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5theme_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_5theme___get__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_5theme___get__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14021
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._theme
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":14022
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._theme             # <<<<<<<<<<<<<<
 * 
 *     @theme.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_theme);
  __pyx_r = ((PyObject *)__pyx_v_self->_theme);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14015
 *         self.imgui_label = bytes(self.user_label, 'utf-8') + b'###%ld'% self.uuid
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def theme(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14024
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11plotElement_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11plotElement_5theme_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_baseTheme, 1, "value", 0))) __PYX_ERR(1, 14025, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_5theme_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_baseTheme *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11plotElement_5theme_2__set__(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_baseTheme *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14027
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._theme = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":14028
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._theme = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_theme);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_theme);
  __pyx_v_self->_theme = __pyx_v_value;

  /* "dearcygui/core.pyx":14024
 *         return self._theme
 * 
 *     @theme.setter             # <<<<<<<<<<<<<<
 *     def theme(self, baseTheme value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14030
 *         self._theme = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 * 
 */

static void __pyx_f_9dearcygui_4core_11plotElement_draw(struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":14031
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         # Render siblings first
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.mutex);

  /* "dearcygui/core.pyx":14034
 * 
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14035
 *         # Render siblings first
 *         if self._prev_sibling is not None:
 *             (<plotElement>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 * 
 *         return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElement *)((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":14034
 * 
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  }

  /* "dearcygui/core.pyx":14037
 *             (<plotElement>self._prev_sibling).draw()
 * 
 *         return             # <<<<<<<<<<<<<<
 * 
 * 
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14030
 *         self._theme = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 * 
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11plotElement_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11plotElement_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElement.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11plotElement_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11plotElement_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11plotElement_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11plotElement_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11plotElement_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElement *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElement.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14047
 *     popup entry that gets shown on a right click (by default).
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True # The legend only
 *         self.p_state = &self.state
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend___cinit__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":14048
 *     """
 *     def __cinit__(self):
 *         self.state.cap.can_be_hovered = True # The legend only             # <<<<<<<<<<<<<<
 *         self.p_state = &self.state
 *         self._enabled = True
 */
  __pyx_v_self->state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":14049
 *     def __cinit__(self):
 *         self.state.cap.can_be_hovered = True # The legend only
 *         self.p_state = &self.state             # <<<<<<<<<<<<<<
 *         self._enabled = True
 *         self.enabled_dirty = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.p_state = (&__pyx_v_self->state);

  /* "dearcygui/core.pyx":14050
 *         self.state.cap.can_be_hovered = True # The legend only
 *         self.p_state = &self.state
 *         self._enabled = True             # <<<<<<<<<<<<<<
 *         self.enabled_dirty = True
 *         self._legend_button = imgui.ImGuiMouseButton_Right
 */
  __pyx_v_self->_enabled = 1;

  /* "dearcygui/core.pyx":14051
 *         self.p_state = &self.state
 *         self._enabled = True
 *         self.enabled_dirty = True             # <<<<<<<<<<<<<<
 *         self._legend_button = imgui.ImGuiMouseButton_Right
 *         self._legend = True
 */
  __pyx_v_self->enabled_dirty = 1;

  /* "dearcygui/core.pyx":14052
 *         self._enabled = True
 *         self.enabled_dirty = True
 *         self._legend_button = imgui.ImGuiMouseButton_Right             # <<<<<<<<<<<<<<
 *         self._legend = True
 *         self.state.cap.can_be_hovered = True
 */
  __pyx_v_self->_legend_button = ImGuiMouseButton_Right;

  /* "dearcygui/core.pyx":14053
 *         self.enabled_dirty = True
 *         self._legend_button = imgui.ImGuiMouseButton_Right
 *         self._legend = True             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True
 *         self.can_have_widget_child = True
 */
  __pyx_v_self->_legend = 1;

  /* "dearcygui/core.pyx":14054
 *         self._legend_button = imgui.ImGuiMouseButton_Right
 *         self._legend = True
 *         self.state.cap.can_be_hovered = True             # <<<<<<<<<<<<<<
 *         self.can_have_widget_child = True
 * 
 */
  __pyx_v_self->state.cap.can_be_hovered = 1;

  /* "dearcygui/core.pyx":14055
 *         self._legend = True
 *         self.state.cap.can_be_hovered = True
 *         self.can_have_widget_child = True             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->__pyx_base.__pyx_base.can_have_widget_child = 1;

  /* "dearcygui/core.pyx":14047
 *     popup entry that gets shown on a right click (by default).
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.state.cap.can_be_hovered = True # The legend only
 *         self.p_state = &self.state
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14057
 *         self.can_have_widget_child = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_legend(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14064
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return not(self._legend)
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14065
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return not(self._legend)             # <<<<<<<<<<<<<<
 * 
 *     @no_legend.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_v_self->_legend)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14057
 *         self.can_have_widget_child = True
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_legend(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.no_legend.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14067
 *         return not(self._legend)
 * 
 *     @no_legend.setter             # <<<<<<<<<<<<<<
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14068, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.no_legend.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_9no_legend_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14070
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._legend = not(value)
 *         # unsure if needed
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14071
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._legend = not(value)             # <<<<<<<<<<<<<<
 *         # unsure if needed
 *         self.flags &= ~implot.ImPlotItemFlags_NoLegend
 */
  __pyx_v_self->_legend = (!__pyx_v_value);

  /* "dearcygui/core.pyx":14073
 *         self._legend = not(value)
 *         # unsure if needed
 *         self.flags &= ~implot.ImPlotItemFlags_NoLegend             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotItemFlags_NoLegend
 */
  __pyx_v_self->__pyx_base.flags = (__pyx_v_self->__pyx_base.flags & (~ImPlotItemFlags_NoLegend));

  /* "dearcygui/core.pyx":14074
 *         # unsure if needed
 *         self.flags &= ~implot.ImPlotItemFlags_NoLegend
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotItemFlags_NoLegend
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14075
 *         self.flags &= ~implot.ImPlotItemFlags_NoLegend
 *         if value:
 *             self.flags |= implot.ImPlotItemFlags_NoLegend             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.flags = (__pyx_v_self->__pyx_base.flags | ImPlotItemFlags_NoLegend);

    /* "dearcygui/core.pyx":14074
 *         # unsure if needed
 *         self.flags &= ~implot.ImPlotItemFlags_NoLegend
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotItemFlags_NoLegend
 * 
 */
  }

  /* "dearcygui/core.pyx":14067
 *         return not(self._legend)
 * 
 *     @no_legend.setter             # <<<<<<<<<<<<<<
 *     def no_legend(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14077
 *             self.flags |= implot.ImPlotItemFlags_NoLegend
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ignore_fit(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14084
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotItemFlags_NoFit) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14085
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotItemFlags_NoFit) != 0             # <<<<<<<<<<<<<<
 * 
 *     @ignore_fit.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.flags & ImPlotItemFlags_NoFit) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14077
 *             self.flags |= implot.ImPlotItemFlags_NoLegend
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ignore_fit(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.ignore_fit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14087
 *         return (self.flags & implot.ImPlotItemFlags_NoFit) != 0
 * 
 *     @ignore_fit.setter             # <<<<<<<<<<<<<<
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14088, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.ignore_fit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14090
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotItemFlags_NoFit
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14091
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotItemFlags_NoFit             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotItemFlags_NoFit
 */
  __pyx_v_self->__pyx_base.flags = (__pyx_v_self->__pyx_base.flags & (~ImPlotItemFlags_NoFit));

  /* "dearcygui/core.pyx":14092
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotItemFlags_NoFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotItemFlags_NoFit
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14093
 *         self.flags &= ~implot.ImPlotItemFlags_NoFit
 *         if value:
 *             self.flags |= implot.ImPlotItemFlags_NoFit             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.flags = (__pyx_v_self->__pyx_base.flags | ImPlotItemFlags_NoFit);

    /* "dearcygui/core.pyx":14092
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotItemFlags_NoFit
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotItemFlags_NoFit
 * 
 */
  }

  /* "dearcygui/core.pyx":14087
 *         return (self.flags & implot.ImPlotItemFlags_NoFit) != 0
 * 
 *     @ignore_fit.setter             # <<<<<<<<<<<<<<
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14095
 *             self.flags |= implot.ImPlotItemFlags_NoFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14103
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._enabled
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14104
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._enabled             # <<<<<<<<<<<<<<
 * 
 *     @enabled.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14095
 *             self.flags |= implot.ImPlotItemFlags_NoFit
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def enabled(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14106
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14107, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_7enabled_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":14109
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if value != self._enabled:
 *             self.enabled_dirty = True
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14110
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value != self._enabled:             # <<<<<<<<<<<<<<
 *             self.enabled_dirty = True
 *         self._enabled = value
 */
  __pyx_t_1 = (__pyx_v_value != __pyx_v_self->_enabled);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14111
 *         lock_gil_friendly(m, self.mutex)
 *         if value != self._enabled:
 *             self.enabled_dirty = True             # <<<<<<<<<<<<<<
 *         self._enabled = value
 * 
 */
    __pyx_v_self->enabled_dirty = 1;

    /* "dearcygui/core.pyx":14110
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if value != self._enabled:             # <<<<<<<<<<<<<<
 *             self.enabled_dirty = True
 *         self._enabled = value
 */
  }

  /* "dearcygui/core.pyx":14112
 *         if value != self._enabled:
 *             self.enabled_dirty = True
 *         self._enabled = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_enabled = __pyx_v_value;

  /* "dearcygui/core.pyx":14106
 *         return self._enabled
 * 
 *     @enabled.setter             # <<<<<<<<<<<<<<
 *     def enabled(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14114
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14121
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._font
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14122
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._font             # <<<<<<<<<<<<<<
 * 
 *     @font.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_font);
  __pyx_r = ((PyObject *)__pyx_v_self->_font);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14114
 *         self._enabled = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def font(self):
 *         """
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14124
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_9dearcygui_4core_Font, 1, "value", 0))) __PYX_ERR(1, 14125, __pyx_L1_error)
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((struct __pyx_obj_9dearcygui_4core_Font *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_4font_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, struct __pyx_obj_9dearcygui_4core_Font *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14127
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._font = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14128
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._font = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_INCREF((PyObject *)__pyx_v_value);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_font);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_font);
  __pyx_v_self->_font = __pyx_v_value;

  /* "dearcygui/core.pyx":14124
 *         return self._font
 * 
 *     @font.setter             # <<<<<<<<<<<<<<
 *     def font(self, Font value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14130
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_button(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14138
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._legend_button
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14139
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._legend_button             # <<<<<<<<<<<<<<
 * 
 *     @legend_button.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_legend_button); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14130
 *         self._font = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_button(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_button.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14141
 *         return self._legend_button
 * 
 *     @legend_button.setter             # <<<<<<<<<<<<<<
 *     def legend_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_button) {
  int __pyx_v_button;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_button); {
    __pyx_v_button = __Pyx_PyInt_As_int(__pyx_arg_button); if (unlikely((__pyx_v_button == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14142, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((int)__pyx_v_button));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_13legend_button_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, int __pyx_v_button) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14144
 *     def legend_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14145
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._legend_button = button
 */
  __pyx_t_2 = (__pyx_v_button < 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_button >= ImGuiMouseButton_COUNT);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "dearcygui/core.pyx":14146
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         self._legend_button = button
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 14146, __pyx_L1_error)

    /* "dearcygui/core.pyx":14145
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:             # <<<<<<<<<<<<<<
 *             raise ValueError("Invalid button")
 *         self._legend_button = button
 */
  }

  /* "dearcygui/core.pyx":14147
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")
 *         self._legend_button = button             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_legend_button = __pyx_v_button;

  /* "dearcygui/core.pyx":14141
 *         return self._legend_button
 * 
 *     @legend_button.setter             # <<<<<<<<<<<<<<
 *     def legend_button(self, int button):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_button.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14149
 *         self._legend_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_handlers(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_result = 0;
  int __pyx_v_i;
  struct __pyx_obj_9dearcygui_4core_baseHandler *__pyx_v_handler = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14159
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         result = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14160
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         result = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef baseHandler handler
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14163
 *         cdef int i
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):             # <<<<<<<<<<<<<<
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 */
  __pyx_t_2 = ((int)__pyx_v_self->__pyx_base.__pyx_base._handlers.size());
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "dearcygui/core.pyx":14164
 *         cdef baseHandler handler
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]             # <<<<<<<<<<<<<<
 *             result.append(handler)
 *         return result
 */
    __pyx_t_5 = (__pyx_v_self->__pyx_base.__pyx_base._handlers[__pyx_v_i]);
    __pyx_t_1 = ((PyObject *)__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_handler, ((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":14165
 *         for i in range(<int>self._handlers.size()):
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_v_handler)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 14165, __pyx_L1_error)
  }

  /* "dearcygui/core.pyx":14166
 *             handler = <baseHandler>self._handlers[i]
 *             result.append(handler)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @legend_handlers.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14149
 *         self._legend_button = button
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_handlers(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_handlers.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF((PyObject *)__pyx_v_handler);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14168
 *         return result
 * 
 *     @legend_handlers.setter             # <<<<<<<<<<<<<<
 *     def legend_handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_v_items = 0;
  int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);

  /* "dearcygui/core.pyx":14171
 *     def legend_handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef list items = []
 *         cdef int i
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14172
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef list items = []             # <<<<<<<<<<<<<<
 *         cdef int i
 *         if value is None:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_items = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14174
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  __pyx_t_2 = (__pyx_v_value == Py_None);
  if (__pyx_t_2) {

    /* "dearcygui/core.pyx":14175
 *         cdef int i
 *         if value is None:
 *             clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *             return
 *         if not hasattr(value, "__len__"):
 */
    __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14175, __pyx_L1_error)

    /* "dearcygui/core.pyx":14176
 *         if value is None:
 *             clear_obj_vector(self._handlers)
 *             return             # <<<<<<<<<<<<<<
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 */
    __pyx_r = 0;
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14174
 *         cdef list items = []
 *         cdef int i
 *         if value is None:             # <<<<<<<<<<<<<<
 *             clear_obj_vector(self._handlers)
 *             return
 */
  }

  /* "dearcygui/core.pyx":14177
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_value, __pyx_n_u_len); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 14177, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "dearcygui/core.pyx":14178
 *             return
 *         if not hasattr(value, "__len__"):
 *             value = [value]             # <<<<<<<<<<<<<<
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_value)) __PYX_ERR(1, 14178, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "dearcygui/core.pyx":14177
 *             clear_obj_vector(self._handlers)
 *             return
 *         if not hasattr(value, "__len__"):             # <<<<<<<<<<<<<<
 *             value = [value]
 *         for i in range(len(value)):
 */
  }

  /* "dearcygui/core.pyx":14179
 *         if not hasattr(value, "__len__"):
 *             value = [value]
 *         for i in range(len(value)):             # <<<<<<<<<<<<<<
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14179, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "dearcygui/core.pyx":14180
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_9dearcygui_4core_baseHandler); 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = (!__pyx_t_3);
    if (unlikely(__pyx_t_2)) {

      /* "dearcygui/core.pyx":14181
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):
 *                 raise TypeError(f"{value[i]} is not a handler")             # <<<<<<<<<<<<<<
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 */
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u_is_not_a_handler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 14181, __pyx_L1_error)

      /* "dearcygui/core.pyx":14180
 *             value = [value]
 *         for i in range(len(value)):
 *             if not(isinstance(value[i], baseHandler)):             # <<<<<<<<<<<<<<
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 */
    }

    /* "dearcygui/core.pyx":14183
 *                 raise TypeError(f"{value[i]} is not a handler")
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)             # <<<<<<<<<<<<<<
 *             items.append(value[i])
 *         # Success: bind
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseHandler *)((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7)->__pyx_base.__pyx_vtab)->check_bind(((struct __pyx_obj_9dearcygui_4core_baseHandler *)__pyx_t_7), ((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14183, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "dearcygui/core.pyx":14184
 *             # Check the handlers can use our states. Else raise error
 *             (<baseHandler>value[i]).check_bind(self)
 *             items.append(value[i])             # <<<<<<<<<<<<<<
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 */
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_value, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(1, 14184, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }

  /* "dearcygui/core.pyx":14186
 *             items.append(value[i])
 *         # Success: bind
 *         clear_obj_vector(self._handlers)             # <<<<<<<<<<<<<<
 *         append_obj_vector(self._handlers, items)
 * 
 */
  __pyx_f_9dearcygui_4core_clear_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14186, __pyx_L1_error)

  /* "dearcygui/core.pyx":14187
 *         # Success: bind
 *         clear_obj_vector(self._handlers)
 *         append_obj_vector(self._handlers, items)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_f_9dearcygui_4core_append_obj_vector(__pyx_v_self->__pyx_base.__pyx_base._handlers, __pyx_v_items); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14187, __pyx_L1_error)

  /* "dearcygui/core.pyx":14168
 *         return result
 * 
 *     @legend_handlers.setter             # <<<<<<<<<<<<<<
 *     def legend_handlers(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_handlers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_items);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14189
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_hovered(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_14legend_hovered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_14legend_hovered_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_14legend_hovered___get__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_14legend_hovered___get__(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14196
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self.state.cur.hovered
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14197
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self.state.cur.hovered             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->state.cur.hovered); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14189
 *         append_obj_vector(self._handlers, items)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def legend_hovered(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.legend_hovered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14199
 *         return self.state.cur.hovered
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 * 
 */

static void __pyx_f_9dearcygui_4core_21plotElementWithLegend_draw(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  CYTHON_UNUSED std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  ImVec2 __pyx_v_pos_w;
  ImVec2 __pyx_v_pos_p;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":14200
 * 
 *     cdef void draw(self) noexcept nogil:
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)             # <<<<<<<<<<<<<<
 * 
 *         # Render siblings first
 */
  __pyx_v_m = std::unique_lock<std::recursive_mutex> (__pyx_v_self->__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14203
 * 
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14204
 *         # Render siblings first
 *         if self._prev_sibling is not None:
 *             (<plotElement>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 * 
 *         # Check the axes are enabled
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElement *)((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":14203
 * 
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  }

  /* "dearcygui/core.pyx":14207
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base._show);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14208
 *         # Check the axes are enabled
 *         if not(self._show) or \
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()
 */
  __pyx_t_2 = (!(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->enabled_axes[(__pyx_v_self->__pyx_base._axes[0])]));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14209
 *         if not(self._show) or \
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):             # <<<<<<<<<<<<<<
 *             self.set_previous_states()
 *             self.state.cur.rendered = False
 */
  __pyx_t_2 = (!(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport->enabled_axes[(__pyx_v_self->__pyx_base._axes[1])]));
  __pyx_t_1 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;

  /* "dearcygui/core.pyx":14207
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14210
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()             # <<<<<<<<<<<<<<
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":14211
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()
 *             self.state.cur.rendered = False             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    __pyx_v_self->state.cur.rendered = 0;

    /* "dearcygui/core.pyx":14212
 *             self.set_previous_states()
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 */
    __pyx_v_self->state.cur.hovered = 0;

    /* "dearcygui/core.pyx":14213
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *             self.run_handlers()
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":14214
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()             # <<<<<<<<<<<<<<
 *             return
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":14215
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 *             return             # <<<<<<<<<<<<<<
 * 
 *         self.set_previous_states()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14207
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  }

  /* "dearcygui/core.pyx":14217
 *             return
 * 
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 * 
 *         # push theme, font
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":14220
 * 
 *         # push theme, font
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14221
 *         # push theme, font
 *         if self._font is not None:
 *             self._font.push()             # <<<<<<<<<<<<<<
 * 
 *         self.context._viewport.push_pending_theme_actions(
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->push(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":14220
 * 
 *         # push theme, font
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":14223
 *             self._font.push()
 * 
 *         self.context._viewport.push_pending_theme_actions(             # <<<<<<<<<<<<<<
 *             theme_enablers.t_enabled_any,
 *             theme_categories.t_plot
 */
  __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport, __pyx_e_9dearcygui_4core_t_enabled_any, __pyx_e_9dearcygui_4core_t_plot);

  /* "dearcygui/core.pyx":14228
 *         )
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14229
 * 
 *         if self._theme is not None:
 *             self._theme.push()             # <<<<<<<<<<<<<<
 * 
 *         implot.SetAxes(self._axes[0], self._axes[1])
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base._theme->__pyx_base.__pyx_vtab)->push(__pyx_v_self->__pyx_base._theme);

    /* "dearcygui/core.pyx":14228
 *         )
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":14231
 *             self._theme.push()
 * 
 *         implot.SetAxes(self._axes[0], self._axes[1])             # <<<<<<<<<<<<<<
 * 
 *         if self.enabled_dirty:
 */
  ImPlot::SetAxes((__pyx_v_self->__pyx_base._axes[0]), (__pyx_v_self->__pyx_base._axes[1]));

  /* "dearcygui/core.pyx":14233
 *         implot.SetAxes(self._axes[0], self._axes[1])
 * 
 *         if self.enabled_dirty:             # <<<<<<<<<<<<<<
 *             implot.HideNextItem(not(self._enabled), implot.ImPlotCond_Always)
 *             self.enabled_dirty = False
 */
  if (__pyx_v_self->enabled_dirty) {

    /* "dearcygui/core.pyx":14234
 * 
 *         if self.enabled_dirty:
 *             implot.HideNextItem(not(self._enabled), implot.ImPlotCond_Always)             # <<<<<<<<<<<<<<
 *             self.enabled_dirty = False
 *         else:
 */
    ImPlot::HideNextItem((!__pyx_v_self->_enabled), ImPlotCond_Always);

    /* "dearcygui/core.pyx":14235
 *         if self.enabled_dirty:
 *             implot.HideNextItem(not(self._enabled), implot.ImPlotCond_Always)
 *             self.enabled_dirty = False             # <<<<<<<<<<<<<<
 *         else:
 *             self._enabled = IsItemHidden(self.imgui_label.c_str())
 */
    __pyx_v_self->enabled_dirty = 0;

    /* "dearcygui/core.pyx":14233
 *         implot.SetAxes(self._axes[0], self._axes[1])
 * 
 *         if self.enabled_dirty:             # <<<<<<<<<<<<<<
 *             implot.HideNextItem(not(self._enabled), implot.ImPlotCond_Always)
 *             self.enabled_dirty = False
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":14237
 *             self.enabled_dirty = False
 *         else:
 *             self._enabled = IsItemHidden(self.imgui_label.c_str())             # <<<<<<<<<<<<<<
 *         self.draw_element()
 * 
 */
  /*else*/ {
    __pyx_v_self->_enabled = IsItemHidden(__pyx_v_self->__pyx_base.imgui_label.c_str());
  }
  __pyx_L10:;

  /* "dearcygui/core.pyx":14238
 *         else:
 *             self._enabled = IsItemHidden(self.imgui_label.c_str())
 *         self.draw_element()             # <<<<<<<<<<<<<<
 * 
 *         self.state.cur.rendered = True
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->draw_element(__pyx_v_self);

  /* "dearcygui/core.pyx":14240
 *         self.draw_element()
 * 
 *         self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 */
  __pyx_v_self->state.cur.rendered = 1;

  /* "dearcygui/core.pyx":14241
 * 
 *         self.state.cur.rendered = True
 *         self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:
 */
  __pyx_v_self->state.cur.hovered = 0;

  /* "dearcygui/core.pyx":14243
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             # Popup that gets opened with a click on the entry
 *             # We don't open it if it will be empty as it will
 */
  if (__pyx_v_self->_legend) {

    /* "dearcygui/core.pyx":14248
 *             # display a small rect with nothing in it. It's surely
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":14249
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:
 */
      __pyx_t_1 = ImPlot::BeginLegendPopup(__pyx_v_self->__pyx_base.imgui_label.c_str(), __pyx_v_self->_legend_button);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":14251
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 */
        __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child) != Py_None);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":14253
 *                     if self.last_widgets_child is not None:
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)
 */
          __pyx_v_pos_w = ImGui::GetCursorScreenPos();

          /* "dearcygui/core.pyx":14254
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 *                         pos_p = pos_w             # <<<<<<<<<<<<<<
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)
 */
          __pyx_v_pos_p = __pyx_v_pos_w;

          /* "dearcygui/core.pyx":14255
 *                         pos_w = imgui.GetCursorScreenPos()
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)             # <<<<<<<<<<<<<<
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()
 */
          try {
            std::swap<ImVec2>(__pyx_v_pos_w, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 14255, __pyx_L1_error)
          }

          /* "dearcygui/core.pyx":14256
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w
 */
          try {
            std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 14256, __pyx_L1_error)
          }

          /* "dearcygui/core.pyx":14257
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p
 */
          ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.last_widgets_child);

          /* "dearcygui/core.pyx":14258
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w             # <<<<<<<<<<<<<<
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()
 */
          __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->window_pos = __pyx_v_pos_w;

          /* "dearcygui/core.pyx":14259
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *                     implot.EndLegendPopup()
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())
 */
          __pyx_v_self->__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

          /* "dearcygui/core.pyx":14251
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 */
        }

        /* "dearcygui/core.pyx":14260
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())
 * 
 */
        ImPlot::EndLegendPopup();

        /* "dearcygui/core.pyx":14249
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:
 */
      }

      /* "dearcygui/core.pyx":14248
 *             # display a small rect with nothing in it. It's surely
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 */
    }

    /* "dearcygui/core.pyx":14261
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_v_self->state.cur.hovered = ImPlot::IsLegendEntryHovered(__pyx_v_self->__pyx_base.imgui_label.c_str());

    /* "dearcygui/core.pyx":14243
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             # Popup that gets opened with a click on the entry
 *             # We don't open it if it will be empty as it will
 */
  }

  /* "dearcygui/core.pyx":14265
 * 
 *         # pop theme, font
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14266
 *         # pop theme, font
 *         if self._theme is not None:
 *             self._theme.pop()             # <<<<<<<<<<<<<<
 * 
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base._theme->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->__pyx_base._theme);

    /* "dearcygui/core.pyx":14265
 * 
 *         # pop theme, font
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":14268
 *             self._theme.pop()
 * 
 *         self.context._viewport.pop_applied_pending_theme_actions()             # <<<<<<<<<<<<<<
 * 
 *         if self._font is not None:
 */
  __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.context->_viewport);

  /* "dearcygui/core.pyx":14270
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->_font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14271
 * 
 *         if self._font is not None:
 *             self._font.pop()             # <<<<<<<<<<<<<<
 * 
 *         self.run_handlers()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->_font->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->_font);

    /* "dearcygui/core.pyx":14270
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":14273
 *             self._font.pop()
 * 
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":14199
 *         return self.state.cur.hovered
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m = unique_lock[recursive_mutex](self.mutex)
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.plotElementWithLegend.draw", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "dearcygui/core.pyx":14275
 *         self.run_handlers()
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

static void __pyx_f_9dearcygui_4core_21plotElementWithLegend_draw_element(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {

  /* "dearcygui/core.pyx":14276
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         return             # <<<<<<<<<<<<<<
 * 
 * cdef class plotElementXY(plotElementWithLegend):
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14275
 *         self.run_handlers()
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_21plotElementWithLegend_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_21plotElementWithLegend_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementWithLegend.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14279
 * 
 * cdef class plotElementXY(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY___cinit__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13plotElementXY___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":14280
 * cdef class plotElementXY(plotElementWithLegend):
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
  __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":14281
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14281, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y);
  __pyx_v_self->_Y = ((PyArrayObject *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":14279
 * 
 * cdef class plotElementXY(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.plotElementXY.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14283
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_1X_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_1X_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_1X___get__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14293
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14294
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X             # <<<<<<<<<<<<<<
 * 
 *     @X.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
  __pyx_r = ((PyObject *)__pyx_v_self->_X);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14283
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14296
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_1X_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13plotElementXY_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14299
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14300
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14300, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14300, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14304
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14305
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14306
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14307
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._X = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14304
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14308
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = __pyx_v_array;

    /* "dearcygui/core.pyx":14304
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14310
 *             self._X = array
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14310, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14310, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14296
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementXY.X.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14312
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_1Y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_1Y_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_1Y___get__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_1Y___get__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14315
 *     def Y(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14316
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y             # <<<<<<<<<<<<<<
 * 
 *     @Y.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14312
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14318
 *         return self._Y
 * 
 *     @Y.setter             # <<<<<<<<<<<<<<
 *     def Y(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1Y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_13plotElementXY_1Y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_1Y_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_13plotElementXY_1Y_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14321
 *     def Y(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14322
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14322, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14322, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14326
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14327
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14328
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14329
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._Y = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14326
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14330
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._Y = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y);
    __pyx_v_self->_Y = __pyx_v_array;

    /* "dearcygui/core.pyx":14326
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14332
 *             self._Y = array
 *         else:
 *             self._Y = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     cdef void check_arrays(self) noexcept nogil:
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14332, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14332, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y);
    __pyx_v_self->_Y = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14318
 *         return self._Y
 * 
 *     @Y.setter             # <<<<<<<<<<<<<<
 *     def Y(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementXY.Y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14334
 *             self._Y = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):
 */

static void __pyx_f_9dearcygui_4core_13plotElementXY_check_arrays(struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("check_arrays", 1);

  /* "dearcygui/core.pyx":14336
 *     cdef void check_arrays(self) noexcept nogil:
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  __pyx_t_1 = (PyArray_TYPE(__pyx_v_self->_X) != PyArray_TYPE(__pyx_v_self->_Y));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14337
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 */
    {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        /*try:*/ {

          /* "dearcygui/core.pyx":14338
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):
 */
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->_X))) __PYX_ERR(1, 14338, __pyx_L5_error);
          __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14338, __pyx_L5_error)
          __Pyx_GIVEREF(__pyx_t_6);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
          __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_6);
          __pyx_t_6 = 0;

          /* "dearcygui/core.pyx":14339
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)             # <<<<<<<<<<<<<<
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):
 *             with gil:
 */
          __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self->_Y))) __PYX_ERR(1, 14339, __pyx_L5_error);
          __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14339, __pyx_L5_error)
          __Pyx_GIVEREF(__pyx_t_5);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y);
          __pyx_v_self->_Y = ((PyArrayObject *)__pyx_t_5);
          __pyx_t_5 = 0;
        }

        /* "dearcygui/core.pyx":14337
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L6;
          }
          __pyx_L5_error: {
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L6:;
        }
    }

    /* "dearcygui/core.pyx":14336
 *     cdef void check_arrays(self) noexcept nogil:
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  }

  /* "dearcygui/core.pyx":14340
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  __pyx_t_1 = (PyArray_STRIDE(__pyx_v_self->_X, 0) != PyArray_STRIDE(__pyx_v_self->_Y, 0));
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14341
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 */
    {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        /*try:*/ {

          /* "dearcygui/core.pyx":14342
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 * 
 */
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_self->_X))) __PYX_ERR(1, 14342, __pyx_L9_error);
          __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14342, __pyx_L9_error)
          __Pyx_GIVEREF(__pyx_t_3);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
          __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_3);
          __pyx_t_3 = 0;

          /* "dearcygui/core.pyx":14343
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotLine(plotElementXY):
 */
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->_Y))) __PYX_ERR(1, 14343, __pyx_L9_error);
          __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14343, __pyx_L9_error)
          __Pyx_GIVEREF(__pyx_t_4);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y);
          __pyx_v_self->_Y = ((PyArrayObject *)__pyx_t_4);
          __pyx_t_4 = 0;
        }

        /* "dearcygui/core.pyx":14341
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L10;
          }
          __pyx_L9_error: {
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L10:;
        }
    }

    /* "dearcygui/core.pyx":14340
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y = np.ascontiguousarray(self._Y, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y, 0):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  }

  /* "dearcygui/core.pyx":14334
 *             self._Y = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # X and Y must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y):
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("dearcygui.core.plotElementXY.check_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  __Pyx_RefNannyFinishContextNogil()
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13plotElementXY_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13plotElementXY_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementXY.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_13plotElementXY_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13plotElementXY_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_13plotElementXY_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_13plotElementXY_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_13plotElementXY_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXY *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementXY.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14346
 * 
 * cdef class PlotLine(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def segments(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_8segments_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_8segments_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_8segments___get__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_8segments___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14352
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLineFlags_Segments) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14353
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLineFlags_Segments) != 0             # <<<<<<<<<<<<<<
 * 
 *     @segments.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotLineFlags_Segments) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14346
 * 
 * cdef class PlotLine(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def segments(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLine.segments.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14355
 *         return (self.flags & implot.ImPlotLineFlags_Segments) != 0
 * 
 *     @segments.setter             # <<<<<<<<<<<<<<
 *     def segments(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotLine_8segments_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotLine_8segments_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14356, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.segments.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_8segments_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotLine_8segments_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14358
 *     def segments(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLineFlags_Segments
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14359
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Segments             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Segments
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotLineFlags_Segments));

  /* "dearcygui/core.pyx":14360
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Segments
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Segments
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14361
 *         self.flags &= ~implot.ImPlotLineFlags_Segments
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Segments             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotLineFlags_Segments);

    /* "dearcygui/core.pyx":14360
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Segments
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Segments
 * 
 */
  }

  /* "dearcygui/core.pyx":14355
 *         return (self.flags & implot.ImPlotLineFlags_Segments) != 0
 * 
 *     @segments.setter             # <<<<<<<<<<<<<<
 *     def segments(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14363
 *             self.flags |= implot.ImPlotLineFlags_Segments
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def loop(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_4loop_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_4loop_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_4loop___get__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_4loop___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14369
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLineFlags_Loop) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14370
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLineFlags_Loop) != 0             # <<<<<<<<<<<<<<
 * 
 *     @loop.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotLineFlags_Loop) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14363
 *             self.flags |= implot.ImPlotLineFlags_Segments
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def loop(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLine.loop.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14372
 *         return (self.flags & implot.ImPlotLineFlags_Loop) != 0
 * 
 *     @loop.setter             # <<<<<<<<<<<<<<
 *     def loop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotLine_4loop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotLine_4loop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14373, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.loop.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_4loop_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotLine_4loop_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14375
 *     def loop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLineFlags_Loop
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14376
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Loop             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Loop
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotLineFlags_Loop));

  /* "dearcygui/core.pyx":14377
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Loop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Loop
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14378
 *         self.flags &= ~implot.ImPlotLineFlags_Loop
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Loop             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotLineFlags_Loop);

    /* "dearcygui/core.pyx":14377
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Loop
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Loop
 * 
 */
  }

  /* "dearcygui/core.pyx":14372
 *         return (self.flags & implot.ImPlotLineFlags_Loop) != 0
 * 
 *     @loop.setter             # <<<<<<<<<<<<<<
 *     def loop(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14380
 *             self.flags |= implot.ImPlotLineFlags_Loop
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def skip_nan(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan___get__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14387
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLineFlags_SkipNaN) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14388
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLineFlags_SkipNaN) != 0             # <<<<<<<<<<<<<<
 * 
 *     @skip_nan.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotLineFlags_SkipNaN) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14380
 *             self.flags |= implot.ImPlotLineFlags_Loop
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def skip_nan(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLine.skip_nan.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14390
 *         return (self.flags & implot.ImPlotLineFlags_SkipNaN) != 0
 * 
 *     @skip_nan.setter             # <<<<<<<<<<<<<<
 *     def skip_nan(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14391, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.skip_nan.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotLine_8skip_nan_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14393
 *     def skip_nan(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLineFlags_SkipNaN
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14394
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_SkipNaN             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotLineFlags_SkipNaN));

  /* "dearcygui/core.pyx":14395
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_SkipNaN
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14396
 *         self.flags &= ~implot.ImPlotLineFlags_SkipNaN
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotLineFlags_SkipNaN);

    /* "dearcygui/core.pyx":14395
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_SkipNaN
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN
 * 
 */
  }

  /* "dearcygui/core.pyx":14390
 *         return (self.flags & implot.ImPlotLineFlags_SkipNaN) != 0
 * 
 *     @skip_nan.setter             # <<<<<<<<<<<<<<
 *     def skip_nan(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14398
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_clip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_7no_clip___get__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_7no_clip___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14404
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLineFlags_NoClip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14405
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLineFlags_NoClip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_clip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotLineFlags_NoClip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14398
 *             self.flags |= implot.ImPlotLineFlags_SkipNaN
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def no_clip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLine.no_clip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14407
 *         return (self.flags & implot.ImPlotLineFlags_NoClip) != 0
 * 
 *     @no_clip.setter             # <<<<<<<<<<<<<<
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14408, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.no_clip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_7no_clip_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotLine_7no_clip_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14410
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLineFlags_NoClip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14411
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_NoClip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_NoClip
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotLineFlags_NoClip));

  /* "dearcygui/core.pyx":14412
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_NoClip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_NoClip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14413
 *         self.flags &= ~implot.ImPlotLineFlags_NoClip
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_NoClip             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotLineFlags_NoClip);

    /* "dearcygui/core.pyx":14412
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_NoClip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_NoClip
 * 
 */
  }

  /* "dearcygui/core.pyx":14407
 *         return (self.flags & implot.ImPlotLineFlags_NoClip) != 0
 * 
 *     @no_clip.setter             # <<<<<<<<<<<<<<
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14415
 *             self.flags |= implot.ImPlotLineFlags_NoClip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shaded(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_6shaded_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_6shaded_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_6shaded___get__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_6shaded___get__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14422
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotLineFlags_Shaded) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14423
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotLineFlags_Shaded) != 0             # <<<<<<<<<<<<<<
 * 
 *     @shaded.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotLineFlags_Shaded) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14415
 *             self.flags |= implot.ImPlotLineFlags_NoClip
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shaded(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotLine.shaded.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14425
 *         return (self.flags & implot.ImPlotLineFlags_Shaded) != 0
 * 
 *     @shaded.setter             # <<<<<<<<<<<<<<
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotLine_6shaded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotLine_6shaded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14426, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.shaded.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_6shaded_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotLine_6shaded_2__set__(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14428
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotLineFlags_Shaded
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14429
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Shaded             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Shaded
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotLineFlags_Shaded));

  /* "dearcygui/core.pyx":14430
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Shaded
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Shaded
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14431
 *         self.flags &= ~implot.ImPlotLineFlags_Shaded
 *         if value:
 *             self.flags |= implot.ImPlotLineFlags_Shaded             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotLineFlags_Shaded);

    /* "dearcygui/core.pyx":14430
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotLineFlags_Shaded
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotLineFlags_Shaded
 * 
 */
  }

  /* "dearcygui/core.pyx":14425
 *         return (self.flags & implot.ImPlotLineFlags_Shaded) != 0
 * 
 *     @shaded.setter             # <<<<<<<<<<<<<<
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14433
 *             self.flags |= implot.ImPlotLineFlags_Shaded
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

static void __pyx_f_9dearcygui_4core_8PlotLine_draw_element(struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":14434
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotLine *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14435
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_3;

  /* "dearcygui/core.pyx":14436
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_4 = (__pyx_v_size == 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14437
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14436
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14439
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotLine[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14440
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotLine[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  <const int*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotLine<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14439
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotLine[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14447
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotLine[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14448
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotLine[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    <const float*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotLine<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14447
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotLine[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14456
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotLine[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     <const double*>cnp.PyArray_DATA(self._Y),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14462
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class plotElementXYY(plotElementWithLegend):
 */
    ImPlot::PlotLine<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14433
 *             self.flags |= implot.ImPlotLineFlags_Shaded
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8PlotLine_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotLine_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8PlotLine_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotLine_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8PlotLine_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotLine_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotLine *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotLine_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotLine *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotLine.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14465
 * 
 * cdef class plotElementXYY(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y1 = np.zeros(shape=(1,), dtype=np.float64)
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY___cinit__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14plotElementXYY___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":14466
 * cdef class plotElementXYY(plotElementWithLegend):
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 *         self._Y1 = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y2 = np.zeros(shape=(1,), dtype=np.float64)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14466, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
  __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":14467
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y1 = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 *         self._Y2 = np.zeros(shape=(1,), dtype=np.float64)
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14467, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
  __pyx_v_self->_Y1 = ((PyArrayObject *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "dearcygui/core.pyx":14468
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y1 = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y2 = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14468, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
  __pyx_v_self->_Y2 = ((PyArrayObject *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "dearcygui/core.pyx":14465
 * 
 * cdef class plotElementXYY(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 *         self._Y1 = np.zeros(shape=(1,), dtype=np.float64)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14470
 *         self._Y2 = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_1X_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_1X_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_1X___get__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14480
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14481
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X             # <<<<<<<<<<<<<<
 * 
 *     @X.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
  __pyx_r = ((PyObject *)__pyx_v_self->_X);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14470
 *         self._Y2 = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14483
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_1X_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14plotElementXYY_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14486
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14487
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14487, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14487, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14491
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14492
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14493
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14494
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._X = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14491
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14495
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = __pyx_v_array;

    /* "dearcygui/core.pyx":14491
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14497
 *             self._X = array
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14497, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14497, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14483
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.X.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14499
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1___get__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14502
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y1
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14503
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y1             # <<<<<<<<<<<<<<
 * 
 *     @Y1.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y1);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y1);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14499
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y1(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14505
 *         return self._Y1
 * 
 *     @Y1.setter             # <<<<<<<<<<<<<<
 *     def Y1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y1_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14508
 *     def Y1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14509
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14509, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14509, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14513
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14514
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14515
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y1 = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14516
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._Y1 = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14513
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14517
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y1 = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._Y1 = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
    __pyx_v_self->_Y1 = __pyx_v_array;

    /* "dearcygui/core.pyx":14513
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14519
 *             self._Y1 = array
 *         else:
 *             self._Y1 = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14519, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14519, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
    __pyx_v_self->_Y1 = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14505
 *         return self._Y1
 * 
 *     @Y1.setter             # <<<<<<<<<<<<<<
 *     def Y1(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.Y1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14521
 *             self._Y1 = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2___get__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2___get__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14524
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._Y2
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14525
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._Y2             # <<<<<<<<<<<<<<
 * 
 *     @Y2.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_Y2);
  __pyx_r = ((PyObject *)__pyx_v_self->_Y2);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14521
 *             self._Y1 = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def Y2(self):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14527
 *         return self._Y2
 * 
 *     @Y2.setter             # <<<<<<<<<<<<<<
 *     def Y2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_14plotElementXYY_2Y2_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14530
 *     def Y2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14531
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14531, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14531, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14535
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14536
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14537
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y2 = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14538
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._Y2 = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14535
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14539
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._Y2 = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._Y2 = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
    __pyx_v_self->_Y2 = __pyx_v_array;

    /* "dearcygui/core.pyx":14535
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14541
 *             self._Y2 = array
 *         else:
 *             self._Y2 = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     cdef void check_arrays(self) noexcept nogil:
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14541, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14541, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
    __pyx_v_self->_Y2 = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14527
 *         return self._Y2
 * 
 *     @Y2.setter             # <<<<<<<<<<<<<<
 *     def Y2(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.Y2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14543
 *             self._Y2 = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \
 */

static void __pyx_f_9dearcygui_4core_14plotElementXYY_check_arrays(struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("check_arrays", 1);

  /* "dearcygui/core.pyx":14545
 *     cdef void check_arrays(self) noexcept nogil:
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:
 */
  __pyx_t_2 = (PyArray_TYPE(__pyx_v_self->_X) != PyArray_TYPE(__pyx_v_self->_Y1));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14546
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  __pyx_t_2 = (PyArray_TYPE(__pyx_v_self->_X) != PyArray_TYPE(__pyx_v_self->_Y2));
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14545
 *     cdef void check_arrays(self) noexcept nogil:
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14547
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 */
    {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        /*try:*/ {

          /* "dearcygui/core.pyx":14548
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 */
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->_X))) __PYX_ERR(1, 14548, __pyx_L7_error);
          __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14548, __pyx_L7_error)
          __Pyx_GIVEREF(__pyx_t_7);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
          __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_7);
          __pyx_t_7 = 0;

          /* "dearcygui/core.pyx":14549
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \
 */
          __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y1);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y1);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_self->_Y1))) __PYX_ERR(1, 14549, __pyx_L7_error);
          __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14549, __pyx_L7_error)
          __Pyx_GIVEREF(__pyx_t_6);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
          __pyx_v_self->_Y1 = ((PyArrayObject *)__pyx_t_6);
          __pyx_t_6 = 0;

          /* "dearcygui/core.pyx":14550
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)             # <<<<<<<<<<<<<<
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 */
          __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y2);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y2);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self->_Y2))) __PYX_ERR(1, 14550, __pyx_L7_error);
          __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14550, __pyx_L7_error)
          __Pyx_GIVEREF(__pyx_t_4);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
          __pyx_v_self->_Y2 = ((PyArrayObject *)__pyx_t_4);
          __pyx_t_4 = 0;
        }

        /* "dearcygui/core.pyx":14547
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L8;
          }
          __pyx_L7_error: {
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L8:;
        }
    }

    /* "dearcygui/core.pyx":14545
 *     cdef void check_arrays(self) noexcept nogil:
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y2):
 *             with gil:
 */
  }

  /* "dearcygui/core.pyx":14551
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:
 */
  __pyx_t_2 = (PyArray_STRIDE(__pyx_v_self->_X, 0) != PyArray_STRIDE(__pyx_v_self->_Y1, 0));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L10_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14552
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):             # <<<<<<<<<<<<<<
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 */
  __pyx_t_2 = (PyArray_STRIDE(__pyx_v_self->_X, 0) != PyArray_STRIDE(__pyx_v_self->_Y2, 0));
  __pyx_t_1 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;

  /* "dearcygui/core.pyx":14551
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14553
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 */
    {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        /*try:*/ {

          /* "dearcygui/core.pyx":14554
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 */
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_X);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_self->_X))) __PYX_ERR(1, 14554, __pyx_L13_error);
          __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14554, __pyx_L13_error)
          __Pyx_GIVEREF(__pyx_t_5);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
          __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_5);
          __pyx_t_5 = 0;

          /* "dearcygui/core.pyx":14555
 *             with gil:
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)             # <<<<<<<<<<<<<<
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 * 
 */
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y1);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y1);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_self->_Y1))) __PYX_ERR(1, 14555, __pyx_L13_error);
          __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14555, __pyx_L13_error)
          __Pyx_GIVEREF(__pyx_t_3);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y1);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y1);
          __pyx_v_self->_Y1 = ((PyArrayObject *)__pyx_t_3);
          __pyx_t_3 = 0;

          /* "dearcygui/core.pyx":14556
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotShadedLine(plotElementXYY):
 */
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_INCREF((PyObject *)__pyx_v_self->_Y2);
          __Pyx_GIVEREF((PyObject *)__pyx_v_self->_Y2);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->_Y2))) __PYX_ERR(1, 14556, __pyx_L13_error);
          __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14556, __pyx_L13_error)
          __Pyx_GIVEREF(__pyx_t_7);
          __Pyx_GOTREF((PyObject *)__pyx_v_self->_Y2);
          __Pyx_DECREF((PyObject *)__pyx_v_self->_Y2);
          __pyx_v_self->_Y2 = ((PyArrayObject *)__pyx_t_7);
          __pyx_t_7 = 0;
        }

        /* "dearcygui/core.pyx":14553
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:             # <<<<<<<<<<<<<<
 *                 self._X = np.ascontiguousarray(self._X, dtype=np.float64)
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L14;
          }
          __pyx_L13_error: {
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L14:;
        }
    }

    /* "dearcygui/core.pyx":14551
 *                 self._Y1 = np.ascontiguousarray(self._Y1, dtype=np.float64)
 *                 self._Y2 = np.ascontiguousarray(self._Y2, dtype=np.float64)
 *         if cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y1, 0) or \             # <<<<<<<<<<<<<<
 *            cnp.PyArray_STRIDE(self._X, 0) != cnp.PyArray_STRIDE(self._Y2, 0):
 *             with gil:
 */
  }

  /* "dearcygui/core.pyx":14543
 *             self._Y2 = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # X, Y1 and Y2 must be same type and same stride
 *         if cnp.PyArray_TYPE(self._X) != cnp.PyArray_TYPE(self._Y1) or \
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("dearcygui.core.plotElementXYY.check_arrays", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
  __Pyx_RefNannyFinishContextNogil()
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14plotElementXYY_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14plotElementXYY_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14plotElementXYY_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14plotElementXYY_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14plotElementXYY_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14plotElementXYY_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14plotElementXYY_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementXYY *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementXYY.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14559
 * 
 * cdef class PlotShadedLine(plotElementXYY):
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 */

static void __pyx_f_9dearcygui_4core_14PlotShadedLine_draw_element(struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  npy_intp __pyx_t_4;
  int __pyx_t_5;

  /* "dearcygui/core.pyx":14560
 * cdef class PlotShadedLine(plotElementXYY):
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotShadedLine *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14561
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y2)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y1)[0]);
  __pyx_t_3 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_5 = (__pyx_t_2 < __pyx_t_3);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_t_2;
  } else {
    __pyx_t_4 = __pyx_t_3;
  }
  __pyx_t_2 = __pyx_t_4;
  __pyx_t_5 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_t_1;
  } else {
    __pyx_t_4 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_4;

  /* "dearcygui/core.pyx":14562
 *         self.check_arrays()
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_5 = (__pyx_v_size == 0);
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":14563
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14562
 *         self.check_arrays()
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14565
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotShaded[int](self.imgui_label.c_str(),
 *                                    <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_5 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":14566
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotShaded[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const int*>cnp.PyArray_DATA(self._X),
 *                                    <const int*>cnp.PyArray_DATA(self._Y1),
 */
    ImPlot::PlotShaded<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y1)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y2)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14565
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotShaded[int](self.imgui_label.c_str(),
 *                                    <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14574
 *                                    0,
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotShaded[float](self.imgui_label.c_str(),
 *                                      <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_5 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_5) {

    /* "dearcygui/core.pyx":14575
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotShaded[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                      <const float*>cnp.PyArray_DATA(self._X),
 *                                      <const float*>cnp.PyArray_DATA(self._Y1),
 */
    ImPlot::PlotShaded<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y1)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y2)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14574
 *                                    0,
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotShaded[float](self.imgui_label.c_str(),
 *                                      <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14584
 *                                      cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotShaded[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                       <const double*>cnp.PyArray_DATA(self._X),
 *                                       <const double*>cnp.PyArray_DATA(self._Y1),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14591
 *                                       self.flags,
 *                                       0,
 *                                       cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotStems(plotElementXY):
 */
    ImPlot::PlotShaded<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y1)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y2)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14559
 * 
 * cdef class PlotShadedLine(plotElementXYY):
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(min(self._X.shape[0], self._Y1.shape[0]), self._Y2.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotShadedLine___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotShadedLine *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotShadedLine___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotShadedLine.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_14PlotShadedLine_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotShadedLine *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_14PlotShadedLine_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotShadedLine *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotShadedLine.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14594
 * 
 * cdef class PlotStems(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9PlotStems_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_PlotStems *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14600
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotStemsFlags_Horizontal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14601
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotStemsFlags_Horizontal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotStemsFlags_Horizontal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14594
 * 
 * cdef class PlotStems(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotStems.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14603
 *         return (self.flags & implot.ImPlotStemsFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14604, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStems.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_9PlotStems_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotStems *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_9PlotStems_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14606
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotStemsFlags_Horizontal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14607
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStemsFlags_Horizontal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotStemsFlags_Horizontal));

  /* "dearcygui/core.pyx":14608
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStemsFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14609
 *         self.flags &= ~implot.ImPlotStemsFlags_Horizontal
 *         if value:
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotStemsFlags_Horizontal);

    /* "dearcygui/core.pyx":14608
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStemsFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal
 * 
 */
  }

  /* "dearcygui/core.pyx":14603
 *         return (self.flags & implot.ImPlotStemsFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14611
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

static void __pyx_f_9dearcygui_4core_9PlotStems_draw_element(struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":14612
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotStems *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14613
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_3;

  /* "dearcygui/core.pyx":14614
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_4 = (__pyx_v_size == 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14615
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14614
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14617
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotStems[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14618
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotStems[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  <const int*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotStems<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, 0., __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14617
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotStems[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14626
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotStems[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14627
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotStems[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    <const float*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotStems<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, 0., __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14626
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotStems[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14636
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotStems[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     <const double*>cnp.PyArray_DATA(self._Y),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14643
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotBars(plotElementXY):
 */
    ImPlot::PlotStems<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, 0., __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14611
 *             self.flags |= implot.ImPlotStemsFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9PlotStems_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9PlotStems_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9PlotStems___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotStems *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStems.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_9PlotStems_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9PlotStems_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_9PlotStems_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_9PlotStems_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotStems *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_9PlotStems_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStems *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStems.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14646
 * 
 * cdef class PlotBars(plotElementXY):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._weight = 1.
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotBars_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotBars_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars___cinit__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotBars___cinit__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":14647
 * cdef class PlotBars(plotElementXY):
 *     def __cinit__(self):
 *         self._weight = 1.             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_weight = 1.;

  /* "dearcygui/core.pyx":14646
 * 
 * cdef class PlotBars(plotElementXY):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._weight = 1.
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14649
 *         self._weight = 1.
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def weight(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_6weight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_6weight_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_6weight___get__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_6weight___get__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14655
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._weight
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14656
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._weight             # <<<<<<<<<<<<<<
 * 
 *     @weight.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_weight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14649
 *         self._weight = 1.
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def weight(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotBars.weight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14658
 *         return self._weight
 * 
 *     @weight.setter             # <<<<<<<<<<<<<<
 *     def weight(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotBars_6weight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotBars_6weight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 14659, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotBars.weight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_6weight_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotBars_6weight_2__set__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, double __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14661
 *     def weight(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._weight = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14662
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._weight = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_weight = __pyx_v_value;

  /* "dearcygui/core.pyx":14658
 *         return self._weight
 * 
 *     @weight.setter             # <<<<<<<<<<<<<<
 *     def weight(self, double value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14664
 *         self._weight = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14670
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotBarsFlags_Horizontal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14671
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotBarsFlags_Horizontal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotBarsFlags_Horizontal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14664
 *         self._weight = value
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotBars.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14673
 *         return (self.flags & implot.ImPlotBarsFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14674, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotBars.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_8PlotBars_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14676
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotBarsFlags_Horizontal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14677
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotBarsFlags_Horizontal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotBarsFlags_Horizontal));

  /* "dearcygui/core.pyx":14678
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotBarsFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14679
 *         self.flags &= ~implot.ImPlotBarsFlags_Horizontal
 *         if value:
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotBarsFlags_Horizontal);

    /* "dearcygui/core.pyx":14678
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotBarsFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal
 * 
 */
  }

  /* "dearcygui/core.pyx":14673
 *         return (self.flags & implot.ImPlotBarsFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14681
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

static void __pyx_f_9dearcygui_4core_8PlotBars_draw_element(struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":14682
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotBars *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14683
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_3;

  /* "dearcygui/core.pyx":14684
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_4 = (__pyx_v_size == 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14685
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14684
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14687
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotBars[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14688
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotBars[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  <const int*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotBars<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->_weight, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14687
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotBars[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14696
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotBars[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14697
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotBars[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    <const float*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotBars<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->_weight, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14696
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotBars[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14706
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotBars[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     <const double*>cnp.PyArray_DATA(self._Y),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14713
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotStairs(plotElementXY):
 */
    ImPlot::PlotBars<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->_weight, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14681
 *             self.flags |= implot.ImPlotBarsFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8PlotBars_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotBars_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotBars.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_8PlotBars_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotBars_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_8PlotBars_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_8PlotBars_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotBars *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_8PlotBars_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotBars *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotBars.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14716
 * 
 * cdef class PlotStairs(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def pre_step(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step___get__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step___get__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14724
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotStairsFlags_PreStep) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14725
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotStairsFlags_PreStep) != 0             # <<<<<<<<<<<<<<
 * 
 *     @pre_step.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotStairsFlags_PreStep) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14716
 * 
 * cdef class PlotStairs(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def pre_step(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.pre_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14727
 *         return (self.flags & implot.ImPlotStairsFlags_PreStep) != 0
 * 
 *     @pre_step.setter             # <<<<<<<<<<<<<<
 *     def pre_step(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14728, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.pre_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10PlotStairs_8pre_step_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14730
 *     def pre_step(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotStairsFlags_PreStep
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14731
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_PreStep             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotStairsFlags_PreStep
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotStairsFlags_PreStep));

  /* "dearcygui/core.pyx":14732
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_PreStep
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStairsFlags_PreStep
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14733
 *         self.flags &= ~implot.ImPlotStairsFlags_PreStep
 *         if value:
 *             self.flags |= implot.ImPlotStairsFlags_PreStep             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotStairsFlags_PreStep);

    /* "dearcygui/core.pyx":14732
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_PreStep
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStairsFlags_PreStep
 * 
 */
  }

  /* "dearcygui/core.pyx":14727
 *         return (self.flags & implot.ImPlotStairsFlags_PreStep) != 0
 * 
 *     @pre_step.setter             # <<<<<<<<<<<<<<
 *     def pre_step(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14735
 *             self.flags |= implot.ImPlotStairsFlags_PreStep
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shaded(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs_6shaded___get__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_6shaded___get__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14743
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotStairsFlags_Shaded) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14744
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotStairsFlags_Shaded) != 0             # <<<<<<<<<<<<<<
 * 
 *     @shaded.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotStairsFlags_Shaded) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14735
 *             self.flags |= implot.ImPlotStairsFlags_PreStep
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shaded(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.shaded.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14746
 *         return (self.flags & implot.ImPlotStairsFlags_Shaded) != 0
 * 
 *     @shaded.setter             # <<<<<<<<<<<<<<
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14747, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.shaded.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs_6shaded_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10PlotStairs_6shaded_2__set__(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14749
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotStairsFlags_Shaded
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14750
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_Shaded             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotStairsFlags_Shaded
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotStairsFlags_Shaded));

  /* "dearcygui/core.pyx":14751
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_Shaded
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStairsFlags_Shaded
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14752
 *         self.flags &= ~implot.ImPlotStairsFlags_Shaded
 *         if value:
 *             self.flags |= implot.ImPlotStairsFlags_Shaded             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotStairsFlags_Shaded);

    /* "dearcygui/core.pyx":14751
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotStairsFlags_Shaded
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotStairsFlags_Shaded
 * 
 */
  }

  /* "dearcygui/core.pyx":14746
 *         return (self.flags & implot.ImPlotStairsFlags_Shaded) != 0
 * 
 *     @shaded.setter             # <<<<<<<<<<<<<<
 *     def shaded(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14754
 *             self.flags |= implot.ImPlotStairsFlags_Shaded
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

static void __pyx_f_9dearcygui_4core_10PlotStairs_draw_element(struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":14755
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotStairs *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14756
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_3;

  /* "dearcygui/core.pyx":14757
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_4 = (__pyx_v_size == 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14758
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14757
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14760
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotStairs[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14761
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotStairs[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  <const int*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotStairs<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14760
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotStairs[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14768
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotStairs[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14769
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotStairs[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    <const float*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotStairs<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14768
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotStairs[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14777
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotStairs[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     <const double*>cnp.PyArray_DATA(self._Y),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14783
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class plotElementX(plotElementWithLegend):
 */
    ImPlot::PlotStairs<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14754
 *             self.flags |= implot.ImPlotStairsFlags_Shaded
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10PlotStairs_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10PlotStairs_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10PlotStairs_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10PlotStairs_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10PlotStairs_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10PlotStairs_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotStairs *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10PlotStairs_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotStairs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotStairs.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14786
 * 
 * cdef class plotElementX(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12plotElementX_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_12plotElementX_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_12plotElementX___cinit__(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12plotElementX___cinit__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 1);

  /* "dearcygui/core.pyx":14787
 * cdef class plotElementX(plotElementWithLegend):
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_tuple__75) < 0) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14787, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
  __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "dearcygui/core.pyx":14786
 * 
 * cdef class plotElementX(plotElementWithLegend):
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("dearcygui.core.plotElementX.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14789
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_1X_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_1X_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12plotElementX_1X___get__(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_1X___get__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14799
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._X
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14800
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._X             # <<<<<<<<<<<<<<
 * 
 *     @X.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_X);
  __pyx_r = ((PyObject *)__pyx_v_self->_X);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14789
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def X(self):
 *         """Values on the X axis.
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14802
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12plotElementX_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_12plotElementX_1X_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12plotElementX_1X_2__set__(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12plotElementX_1X_2__set__(struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self, PyObject *__pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyArrayObject *__pyx_v_array = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);

  /* "dearcygui/core.pyx":14805
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])
 *         # We don't support array of pointers. Must be data,
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14806
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         cdef cnp.ndarray array = np.asarray(value).reshape([-1])             # <<<<<<<<<<<<<<
 *         # We don't support array of pointers. Must be data,
 *         # with eventually a non-standard stride
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_neg_1)) __PYX_ERR(1, 14806, __pyx_L1_error);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14806, __pyx_L1_error)
  __pyx_v_array = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "dearcygui/core.pyx":14810
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  __pyx_t_7 = PyArray_CHKFLAGS(__pyx_v_array, NPY_ARRAY_ELEMENTSTRIDES);
  if (__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14811
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_INT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14812
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \             # <<<<<<<<<<<<<<
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_FLOAT);
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }

  /* "dearcygui/core.pyx":14813
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):             # <<<<<<<<<<<<<<
 *             self._X = array
 *         else:
 */
  __pyx_t_7 = (PyArray_TYPE(__pyx_v_array) == NPY_DOUBLE);
  __pyx_t_6 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;

  /* "dearcygui/core.pyx":14810
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
  if (__pyx_t_6) {

    /* "dearcygui/core.pyx":14814
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_DOUBLE):
 *             self._X = array             # <<<<<<<<<<<<<<
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 */
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = __pyx_v_array;

    /* "dearcygui/core.pyx":14810
 *         # with eventually a non-standard stride
 *         # type must also be one of the supported types
 *         if cnp.PyArray_CHKFLAGS(array, cnp.NPY_ARRAY_ELEMENTSTRIDES) and \             # <<<<<<<<<<<<<<
 *            (cnp.PyArray_TYPE(array) == cnp.NPY_INT or \
 *             cnp.PyArray_TYPE(array) == cnp.NPY_FLOAT or \
 */
    goto __pyx_L3;
  }

  /* "dearcygui/core.pyx":14816
 *             self._X = array
 *         else:
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     cdef void check_arrays(self) noexcept nogil:
 */
  /*else*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ascontiguousarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF((PyObject *)__pyx_v_array);
    __Pyx_GIVEREF((PyObject *)__pyx_v_array);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_array))) __PYX_ERR(1, 14816, __pyx_L1_error);
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 14816, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_8);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_X);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_X);
    __pyx_v_self->_X = ((PyArrayObject *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L3:;

  /* "dearcygui/core.pyx":14802
 *         return self._X
 * 
 *     @X.setter             # <<<<<<<<<<<<<<
 *     def X(self, value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("dearcygui.core.plotElementX.X.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14818
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

static void __pyx_f_9dearcygui_4core_12plotElementX_check_arrays(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self) {

  /* "dearcygui/core.pyx":14819
 * 
 *     cdef void check_arrays(self) noexcept nogil:
 *         return             # <<<<<<<<<<<<<<
 * 
 * 
 */
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14818
 *             self._X = np.ascontiguousarray(array, dtype=np.float64)
 * 
 *     cdef void check_arrays(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         return
 * 
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12plotElementX_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12plotElementX_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12plotElementX_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementX.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12plotElementX_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12plotElementX_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12plotElementX_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12plotElementX_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12plotElementX_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_plotElementX *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.plotElementX.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14827
 *     the passed coordinates
 *     """
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal___get__(((struct __pyx_obj_9dearcygui_4core_PlotInfLines *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal___get__(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14833
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotInfLinesFlags_Horizontal) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14834
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotInfLinesFlags_Horizontal) != 0             # <<<<<<<<<<<<<<
 * 
 *     @horizontal.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotInfLinesFlags_Horizontal) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14827
 *     the passed coordinates
 *     """
 *     @property             # <<<<<<<<<<<<<<
 *     def horizontal(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotInfLines.horizontal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14836
 *         return (self.flags & implot.ImPlotInfLinesFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14837, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotInfLines.horizontal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotInfLines *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_12PlotInfLines_10horizontal_2__set__(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14839
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotInfLinesFlags_Horizontal
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14840
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotInfLinesFlags_Horizontal             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotInfLinesFlags_Horizontal));

  /* "dearcygui/core.pyx":14841
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotInfLinesFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14842
 *         self.flags &= ~implot.ImPlotInfLinesFlags_Horizontal
 *         if value:
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotInfLinesFlags_Horizontal);

    /* "dearcygui/core.pyx":14841
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotInfLinesFlags_Horizontal
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal
 * 
 */
  }

  /* "dearcygui/core.pyx":14836
 *         return (self.flags & implot.ImPlotInfLinesFlags_Horizontal) != 0
 * 
 *     @horizontal.setter             # <<<<<<<<<<<<<<
 *     def horizontal(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14844
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = self._X.shape[0]
 */

static void __pyx_f_9dearcygui_4core_12PlotInfLines_draw_element(struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self) {
  int __pyx_v_size;
  int __pyx_t_1;

  /* "dearcygui/core.pyx":14845
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = self._X.shape[0]
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotInfLines *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementX *)__pyx_v_self));

  /* "dearcygui/core.pyx":14846
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = self._X.shape[0]             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_v_size = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);

  /* "dearcygui/core.pyx":14847
 *         self.check_arrays()
 *         cdef int size = self._X.shape[0]
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = (__pyx_v_size == 0);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14848
 *         cdef int size = self._X.shape[0]
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14847
 *         self.check_arrays()
 *         cdef int size = self._X.shape[0]
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14850
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotInfLines[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_1 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14851
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotInfLines[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  size,
 */
    ImPlot::PlotInfLines<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14850
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotInfLines[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14857
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotInfLines[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_1 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":14858
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotInfLines[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    size,
 */
    ImPlot::PlotInfLines<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14857
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotInfLines[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14865
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotInfLines[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     size,
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14870
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * cdef class PlotScatter(plotElementXY):
 */
    ImPlot::PlotInfLines<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14844
 *             self.flags |= implot.ImPlotInfLinesFlags_Horizontal
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = self._X.shape[0]
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12PlotInfLines_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12PlotInfLines_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12PlotInfLines___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotInfLines *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotInfLines.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_12PlotInfLines_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12PlotInfLines_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_12PlotInfLines_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_12PlotInfLines_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotInfLines *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_12PlotInfLines_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotInfLines *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotInfLines.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14873
 * 
 * cdef class PlotScatter(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def no_clip(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip___get__(((struct __pyx_obj_9dearcygui_4core_PlotScatter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip___get__(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":14879
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return (self.flags & implot.ImPlotScatterFlags_NoClip) != 0
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14880
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return (self.flags & implot.ImPlotScatterFlags_NoClip) != 0             # <<<<<<<<<<<<<<
 * 
 *     @no_clip.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & ImPlotScatterFlags_NoClip) != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":14873
 * 
 * cdef class PlotScatter(plotElementXY):
 *     @property             # <<<<<<<<<<<<<<
 *     def no_clip(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.PlotScatter.no_clip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":14882
 *         return (self.flags & implot.ImPlotScatterFlags_NoClip) != 0
 * 
 *     @no_clip.setter             # <<<<<<<<<<<<<<
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14883, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotScatter.no_clip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip_2__set__(((struct __pyx_obj_9dearcygui_4core_PlotScatter *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_11PlotScatter_7no_clip_2__set__(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":14885
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self.flags &= ~implot.ImPlotScatterFlags_NoClip
 *         if value:
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":14886
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotScatterFlags_NoClip             # <<<<<<<<<<<<<<
 *         if value:
 *             self.flags |= implot.ImPlotScatterFlags_NoClip
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags & (~ImPlotScatterFlags_NoClip));

  /* "dearcygui/core.pyx":14887
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotScatterFlags_NoClip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotScatterFlags_NoClip
 * 
 */
  if (__pyx_v_value) {

    /* "dearcygui/core.pyx":14888
 *         self.flags &= ~implot.ImPlotScatterFlags_NoClip
 *         if value:
 *             self.flags |= implot.ImPlotScatterFlags_NoClip             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw_element(self) noexcept nogil:
 */
    __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags | ImPlotScatterFlags_NoClip);

    /* "dearcygui/core.pyx":14887
 *         lock_gil_friendly(m, self.mutex)
 *         self.flags &= ~implot.ImPlotScatterFlags_NoClip
 *         if value:             # <<<<<<<<<<<<<<
 *             self.flags |= implot.ImPlotScatterFlags_NoClip
 * 
 */
  }

  /* "dearcygui/core.pyx":14882
 *         return (self.flags & implot.ImPlotScatterFlags_NoClip) != 0
 * 
 *     @no_clip.setter             # <<<<<<<<<<<<<<
 *     def no_clip(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":14890
 *             self.flags |= implot.ImPlotScatterFlags_NoClip
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

static void __pyx_f_9dearcygui_4core_11PlotScatter_draw_element(struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self) {
  int __pyx_v_size;
  npy_intp __pyx_t_1;
  npy_intp __pyx_t_2;
  npy_intp __pyx_t_3;
  int __pyx_t_4;

  /* "dearcygui/core.pyx":14891
 * 
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()             # <<<<<<<<<<<<<<
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_PlotScatter *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.check_arrays(((struct __pyx_obj_9dearcygui_4core_plotElementXY *)__pyx_v_self));

  /* "dearcygui/core.pyx":14892
 *     cdef void draw_element(self) noexcept nogil:
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])             # <<<<<<<<<<<<<<
 *         if size == 0:
 *             return
 */
  __pyx_t_1 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._Y)[0]);
  __pyx_t_2 = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_self->__pyx_base._X)[0]);
  __pyx_t_4 = (__pyx_t_1 < __pyx_t_2);
  if (__pyx_t_4) {
    __pyx_t_3 = __pyx_t_1;
  } else {
    __pyx_t_3 = __pyx_t_2;
  }
  __pyx_v_size = __pyx_t_3;

  /* "dearcygui/core.pyx":14893
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_4 = (__pyx_v_size == 0);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14894
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":14893
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 *         if size == 0:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "dearcygui/core.pyx":14896
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotScatter[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_INT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14897
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:
 *             implot.PlotScatter[int](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 *                                  <const int*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotScatter<int>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((int const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14896
 *             return
 * 
 *         if cnp.PyArray_TYPE(self._X) == cnp.NPY_INT:             # <<<<<<<<<<<<<<
 *             implot.PlotScatter[int](self.imgui_label.c_str(),
 *                                  <const int*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14904
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotScatter[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
  __pyx_t_4 = (PyArray_TYPE(__pyx_v_self->__pyx_base._X) == NPY_FLOAT);
  if (__pyx_t_4) {

    /* "dearcygui/core.pyx":14905
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:
 *             implot.PlotScatter[float](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 *                                    <const float*>cnp.PyArray_DATA(self._Y),
 */
    ImPlot::PlotScatter<float>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((float const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));

    /* "dearcygui/core.pyx":14904
 *                                  0,
 *                                  cnp.PyArray_STRIDE(self._X, 0))
 *         elif cnp.PyArray_TYPE(self._X) == cnp.NPY_FLOAT:             # <<<<<<<<<<<<<<
 *             implot.PlotScatter[float](self.imgui_label.c_str(),
 *                                    <const float*>cnp.PyArray_DATA(self._X),
 */
    goto __pyx_L4;
  }

  /* "dearcygui/core.pyx":14913
 *                                    cnp.PyArray_STRIDE(self._X, 0))
 *         else:
 *             implot.PlotScatter[double](self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                     <const double*>cnp.PyArray_DATA(self._X),
 *                                     <const double*>cnp.PyArray_DATA(self._Y),
 */
  /*else*/ {

    /* "dearcygui/core.pyx":14919
 *                                     self.flags,
 *                                     0,
 *                                     cnp.PyArray_STRIDE(self._X, 0))             # <<<<<<<<<<<<<<
 * 
 * '''
 */
    ImPlot::PlotScatter<double>(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.imgui_label.c_str(), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._X)), ((double const *)PyArray_DATA(__pyx_v_self->__pyx_base._Y)), __pyx_v_size, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.flags, 0, PyArray_STRIDE(__pyx_v_self->__pyx_base._X, 0));
  }
  __pyx_L4:;

  /* "dearcygui/core.pyx":14890
 *             self.flags |= implot.ImPlotScatterFlags_NoClip
 * 
 *     cdef void draw_element(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         self.check_arrays()
 *         cdef int size = min(self._X.shape[0], self._Y.shape[0])
 */

  /* function exit code */
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11PlotScatter_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11PlotScatter_1__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11PlotScatter___reduce_cython__(((struct __pyx_obj_9dearcygui_4core_PlotScatter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotScatter.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_11PlotScatter_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11PlotScatter_3__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_11PlotScatter_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_11PlotScatter_2__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_PlotScatter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_11PlotScatter_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_PlotScatter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.PlotScatter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":15192
 *     defaults to no_legend = True
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self._legend = False
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10DrawInPlot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9dearcygui_4core_10DrawInPlot_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawInPlot___cinit__(((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10DrawInPlot___cinit__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self) {
  int __pyx_r;

  /* "dearcygui/core.pyx":15193
 *     """
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True             # <<<<<<<<<<<<<<
 *         self._legend = False
 *         self._ignore_fit = False
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.can_have_drawing_child = 1;

  /* "dearcygui/core.pyx":15194
 *     def __cinit__(self):
 *         self.can_have_drawing_child = True
 *         self._legend = False             # <<<<<<<<<<<<<<
 *         self._ignore_fit = False
 * 
 */
  __pyx_v_self->__pyx_base._legend = 0;

  /* "dearcygui/core.pyx":15195
 *         self.can_have_drawing_child = True
 *         self._legend = False
 *         self._ignore_fit = False             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_ignore_fit = 0;

  /* "dearcygui/core.pyx":15192
 *     defaults to no_legend = True
 *     """
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.can_have_drawing_child = True
 *         self._legend = False
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15197
 *         self._ignore_fit = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ignore_fit(self):
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit___get__(((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit___get__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);

  /* "dearcygui/core.pyx":15204
 *         """
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         return self._ignore_fit
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":15205
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         return self._ignore_fit             # <<<<<<<<<<<<<<
 * 
 *     @ignore_fit.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_ignore_fit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15197
 *         self._ignore_fit = False
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ignore_fit(self):
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("dearcygui.core.DrawInPlot.ignore_fit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":15207
 *         return self._ignore_fit
 * 
 *     @ignore_fit.setter             # <<<<<<<<<<<<<<
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

/* Python wrapper */
static int __pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15208, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInPlot.ignore_fit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit_2__set__(((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9dearcygui_4core_10DrawInPlot_10ignore_fit_2__set__(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self, int __pyx_v_value) {
  std::unique_lock<std::recursive_mutex>  __pyx_v_m;
  int __pyx_r;

  /* "dearcygui/core.pyx":15210
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)             # <<<<<<<<<<<<<<
 *         self._ignore_fit = value
 * 
 */
  __pyx_f_9dearcygui_4core_lock_gil_friendly(__pyx_v_m, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.mutex);

  /* "dearcygui/core.pyx":15211
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 *         self._ignore_fit = value             # <<<<<<<<<<<<<<
 * 
 *     cdef void draw(self) noexcept nogil:
 */
  __pyx_v_self->_ignore_fit = __pyx_v_value;

  /* "dearcygui/core.pyx":15207
 *         return self._ignore_fit
 * 
 *     @ignore_fit.setter             # <<<<<<<<<<<<<<
 *     def ignore_fit(self, bint value):
 *         cdef unique_lock[recursive_mutex] m
 */

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15213
 *         self._ignore_fit = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Render siblings first
 *         if self._prev_sibling is not None:
 */

static void __pyx_f_9dearcygui_4core_10DrawInPlot_draw(struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self) {
  int __pyx_v_render;
  ImVec2 __pyx_v_pos_w;
  ImVec2 __pyx_v_pos_p;
  int __pyx_t_1;
  int __pyx_t_2;
  double __pyx_t_3[2];
  double __pyx_t_4[2];
  float __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif

  /* "dearcygui/core.pyx":15215
 *     cdef void draw(self) noexcept nogil:
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._prev_sibling) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15216
 *         # Render siblings first
 *         if self._prev_sibling is not None:
 *             (<plotElement>self._prev_sibling).draw()             # <<<<<<<<<<<<<<
 * 
 *         # Check the axes are enabled
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_plotElement *)((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._prev_sibling)->__pyx_base.__pyx_vtab)->draw(((struct __pyx_obj_9dearcygui_4core_plotElement *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._prev_sibling));

    /* "dearcygui/core.pyx":15215
 *     cdef void draw(self) noexcept nogil:
 *         # Render siblings first
 *         if self._prev_sibling is not None:             # <<<<<<<<<<<<<<
 *             (<plotElement>self._prev_sibling).draw()
 * 
 */
  }

  /* "dearcygui/core.pyx":15219
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  __pyx_t_2 = (!__pyx_v_self->__pyx_base.__pyx_base._show);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }

  /* "dearcygui/core.pyx":15220
 *         # Check the axes are enabled
 *         if not(self._show) or \
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()
 */
  __pyx_t_2 = (!(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->enabled_axes[(__pyx_v_self->__pyx_base.__pyx_base._axes[0])]));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }

  /* "dearcygui/core.pyx":15221
 *         if not(self._show) or \
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):             # <<<<<<<<<<<<<<
 *             self.set_previous_states()
 *             self.state.cur.rendered = False
 */
  __pyx_t_2 = (!(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->enabled_axes[(__pyx_v_self->__pyx_base.__pyx_base._axes[1])]));
  __pyx_t_1 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;

  /* "dearcygui/core.pyx":15219
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15222
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()             # <<<<<<<<<<<<<<
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":15223
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 *             self.set_previous_states()
 *             self.state.cur.rendered = False             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 */
    __pyx_v_self->__pyx_base.state.cur.rendered = 0;

    /* "dearcygui/core.pyx":15224
 *             self.set_previous_states()
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = 0;

    /* "dearcygui/core.pyx":15225
 *             self.state.cur.rendered = False
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()             # <<<<<<<<<<<<<<
 *             self.run_handlers()
 *             return
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base.propagate_hidden_state_to_children_with_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":15226
 *             self.state.cur.hovered = False
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()             # <<<<<<<<<<<<<<
 *             return
 * 
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

    /* "dearcygui/core.pyx":15227
 *             self.propagate_hidden_state_to_children_with_handlers()
 *             self.run_handlers()
 *             return             # <<<<<<<<<<<<<<
 * 
 *         self.set_previous_states()
 */
    goto __pyx_L0;

    /* "dearcygui/core.pyx":15219
 * 
 *         # Check the axes are enabled
 *         if not(self._show) or \             # <<<<<<<<<<<<<<
 *            not(self.context._viewport.enabled_axes[self._axes[0]]) or \
 *            not(self.context._viewport.enabled_axes[self._axes[1]]):
 */
  }

  /* "dearcygui/core.pyx":15229
 *             return
 * 
 *         self.set_previous_states()             # <<<<<<<<<<<<<<
 * 
 *         # push theme, font
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base.set_previous_states(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":15232
 * 
 *         # push theme, font
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15233
 *         # push theme, font
 *         if self._font is not None:
 *             self._font.push()             # <<<<<<<<<<<<<<
 * 
 *         self.context._viewport.push_pending_theme_actions(
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->__pyx_base._font->__pyx_base.__pyx_vtab)->push(__pyx_v_self->__pyx_base._font);

    /* "dearcygui/core.pyx":15232
 * 
 *         # push theme, font
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":15235
 *             self._font.push()
 * 
 *         self.context._viewport.push_pending_theme_actions(             # <<<<<<<<<<<<<<
 *             theme_enablers.t_enabled_any,
 *             theme_categories.t_plot
 */
  __pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport, __pyx_e_9dearcygui_4core_t_enabled_any, __pyx_e_9dearcygui_4core_t_plot);

  /* "dearcygui/core.pyx":15240
 *         )
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15241
 * 
 *         if self._theme is not None:
 *             self._theme.push()             # <<<<<<<<<<<<<<
 * 
 *         implot.SetAxes(self._axes[0], self._axes[1])
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base.__pyx_base._theme->__pyx_base.__pyx_vtab)->push(__pyx_v_self->__pyx_base.__pyx_base._theme);

    /* "dearcygui/core.pyx":15240
 *         )
 * 
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.push()
 * 
 */
  }

  /* "dearcygui/core.pyx":15243
 *             self._theme.push()
 * 
 *         implot.SetAxes(self._axes[0], self._axes[1])             # <<<<<<<<<<<<<<
 * 
 *         # Reset current drawInfo
 */
  ImPlot::SetAxes((__pyx_v_self->__pyx_base.__pyx_base._axes[0]), (__pyx_v_self->__pyx_base.__pyx_base._axes[1]));

  /* "dearcygui/core.pyx":15246
 * 
 *         # Reset current drawInfo
 *         self.context._viewport.scales = [1., 1.]             # <<<<<<<<<<<<<<
 *         self.context._viewport.shifts = [0., 0.]
 *         self.context._viewport.in_plot = True
 */
  __pyx_t_3[0] = 1.;
  __pyx_t_3[1] = 1.;
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->scales[0]), __pyx_t_3, sizeof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->scales[0]) * (2));

  /* "dearcygui/core.pyx":15247
 *         # Reset current drawInfo
 *         self.context._viewport.scales = [1., 1.]
 *         self.context._viewport.shifts = [0., 0.]             # <<<<<<<<<<<<<<
 *         self.context._viewport.in_plot = True
 *         self.context._viewport.plot_fit = False if self._ignore_fit else implot.FitThisFrame()
 */
  __pyx_t_4[0] = 0.;
  __pyx_t_4[1] = 0.;
  memcpy(&(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->shifts[0]), __pyx_t_4, sizeof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->shifts[0]) * (2));

  /* "dearcygui/core.pyx":15248
 *         self.context._viewport.scales = [1., 1.]
 *         self.context._viewport.shifts = [0., 0.]
 *         self.context._viewport.in_plot = True             # <<<<<<<<<<<<<<
 *         self.context._viewport.plot_fit = False if self._ignore_fit else implot.FitThisFrame()
 *         self.context._viewport.thickness_multiplier = implot.GetStyle().LineWeight
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->in_plot = 1;

  /* "dearcygui/core.pyx":15249
 *         self.context._viewport.shifts = [0., 0.]
 *         self.context._viewport.in_plot = True
 *         self.context._viewport.plot_fit = False if self._ignore_fit else implot.FitThisFrame()             # <<<<<<<<<<<<<<
 *         self.context._viewport.thickness_multiplier = implot.GetStyle().LineWeight
 *         self.context._viewport.size_multiplier = implot.GetPlotSize().x / implot.GetPlotLimits(self._axes[0], self._axes[1]).Size().x
 */
  if (__pyx_v_self->_ignore_fit) {
    __pyx_t_1 = 0;
  } else {
    __pyx_t_1 = ImPlot::FitThisFrame();
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->plot_fit = __pyx_t_1;

  /* "dearcygui/core.pyx":15250
 *         self.context._viewport.in_plot = True
 *         self.context._viewport.plot_fit = False if self._ignore_fit else implot.FitThisFrame()
 *         self.context._viewport.thickness_multiplier = implot.GetStyle().LineWeight             # <<<<<<<<<<<<<<
 *         self.context._viewport.size_multiplier = implot.GetPlotSize().x / implot.GetPlotLimits(self._axes[0], self._axes[1]).Size().x
 *         self.context._viewport.thickness_multiplier = self.context._viewport.thickness_multiplier * self.context._viewport.size_multiplier
 */
  __pyx_t_5 = ImPlot::GetStyle().LineWeight;
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->thickness_multiplier = __pyx_t_5;

  /* "dearcygui/core.pyx":15251
 *         self.context._viewport.plot_fit = False if self._ignore_fit else implot.FitThisFrame()
 *         self.context._viewport.thickness_multiplier = implot.GetStyle().LineWeight
 *         self.context._viewport.size_multiplier = implot.GetPlotSize().x / implot.GetPlotLimits(self._axes[0], self._axes[1]).Size().x             # <<<<<<<<<<<<<<
 *         self.context._viewport.thickness_multiplier = self.context._viewport.thickness_multiplier * self.context._viewport.size_multiplier
 *         self.context._viewport.parent_pos = implot.GetPlotPos()
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->size_multiplier = (((double)ImPlot::GetPlotSize().x) / ImPlot::GetPlotLimits((__pyx_v_self->__pyx_base.__pyx_base._axes[0]), (__pyx_v_self->__pyx_base.__pyx_base._axes[1])).Size().x);

  /* "dearcygui/core.pyx":15252
 *         self.context._viewport.thickness_multiplier = implot.GetStyle().LineWeight
 *         self.context._viewport.size_multiplier = implot.GetPlotSize().x / implot.GetPlotLimits(self._axes[0], self._axes[1]).Size().x
 *         self.context._viewport.thickness_multiplier = self.context._viewport.thickness_multiplier * self.context._viewport.size_multiplier             # <<<<<<<<<<<<<<
 *         self.context._viewport.parent_pos = implot.GetPlotPos()
 * 
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->thickness_multiplier = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->thickness_multiplier * __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->size_multiplier);

  /* "dearcygui/core.pyx":15253
 *         self.context._viewport.size_multiplier = implot.GetPlotSize().x / implot.GetPlotLimits(self._axes[0], self._axes[1]).Size().x
 *         self.context._viewport.thickness_multiplier = self.context._viewport.thickness_multiplier * self.context._viewport.size_multiplier
 *         self.context._viewport.parent_pos = implot.GetPlotPos()             # <<<<<<<<<<<<<<
 * 
 *         cdef bint render = True
 */
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos = ImPlot::GetPlotPos();

  /* "dearcygui/core.pyx":15255
 *         self.context._viewport.parent_pos = implot.GetPlotPos()
 * 
 *         cdef bint render = True             # <<<<<<<<<<<<<<
 * 
 *         if self._legend:
 */
  __pyx_v_render = 1;

  /* "dearcygui/core.pyx":15257
 *         cdef bint render = True
 * 
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             render = implot.BeginItem(self.imgui_label.c_str(), self.flags, -1)
 *         else:
 */
  if (__pyx_v_self->__pyx_base._legend) {

    /* "dearcygui/core.pyx":15258
 * 
 *         if self._legend:
 *             render = implot.BeginItem(self.imgui_label.c_str(), self.flags, -1)             # <<<<<<<<<<<<<<
 *         else:
 *             implot.PushPlotClipRect(0.)
 */
    __pyx_v_render = ImPlot::BeginItem(__pyx_v_self->__pyx_base.__pyx_base.imgui_label.c_str(), __pyx_v_self->__pyx_base.__pyx_base.flags, -1);

    /* "dearcygui/core.pyx":15257
 *         cdef bint render = True
 * 
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             render = implot.BeginItem(self.imgui_label.c_str(), self.flags, -1)
 *         else:
 */
    goto __pyx_L10;
  }

  /* "dearcygui/core.pyx":15260
 *             render = implot.BeginItem(self.imgui_label.c_str(), self.flags, -1)
 *         else:
 *             implot.PushPlotClipRect(0.)             # <<<<<<<<<<<<<<
 * 
 *         if render:
 */
  /*else*/ {
    ImPlot::PushPlotClipRect(0.);
  }
  __pyx_L10:;

  /* "dearcygui/core.pyx":15262
 *             implot.PushPlotClipRect(0.)
 * 
 *         if render:             # <<<<<<<<<<<<<<
 *             if self.last_drawings_child is not None:
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 */
  if (__pyx_v_render) {

    /* "dearcygui/core.pyx":15263
 * 
 *         if render:
 *             if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 * 
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_drawings_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":15264
 *         if render:
 *             if self.last_drawings_child is not None:
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())             # <<<<<<<<<<<<<<
 * 
 *             if self._legend:
 */
      ((struct __pyx_vtabstruct_9dearcygui_4core_drawingItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_drawings_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_drawings_child, ImPlot::GetPlotDrawList());

      /* "dearcygui/core.pyx":15263
 * 
 *         if render:
 *             if self.last_drawings_child is not None:             # <<<<<<<<<<<<<<
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 * 
 */
    }

    /* "dearcygui/core.pyx":15266
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 * 
 *             if self._legend:             # <<<<<<<<<<<<<<
 *                 implot.EndItem()
 *             else:
 */
    if (__pyx_v_self->__pyx_base._legend) {

      /* "dearcygui/core.pyx":15267
 * 
 *             if self._legend:
 *                 implot.EndItem()             # <<<<<<<<<<<<<<
 *             else:
 *                 implot.PopPlotClipRect()
 */
      ImPlot::EndItem();

      /* "dearcygui/core.pyx":15266
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 * 
 *             if self._legend:             # <<<<<<<<<<<<<<
 *                 implot.EndItem()
 *             else:
 */
      goto __pyx_L13;
    }

    /* "dearcygui/core.pyx":15269
 *                 implot.EndItem()
 *             else:
 *                 implot.PopPlotClipRect()             # <<<<<<<<<<<<<<
 * 
 *         self.state.cur.rendered = True
 */
    /*else*/ {
      ImPlot::PopPlotClipRect();
    }
    __pyx_L13:;

    /* "dearcygui/core.pyx":15262
 *             implot.PushPlotClipRect(0.)
 * 
 *         if render:             # <<<<<<<<<<<<<<
 *             if self.last_drawings_child is not None:
 *                 self.last_drawings_child.draw(implot.GetPlotDrawList())
 */
  }

  /* "dearcygui/core.pyx":15271
 *                 implot.PopPlotClipRect()
 * 
 *         self.state.cur.rendered = True             # <<<<<<<<<<<<<<
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 */
  __pyx_v_self->__pyx_base.state.cur.rendered = 1;

  /* "dearcygui/core.pyx":15272
 * 
 *         self.state.cur.rendered = True
 *         self.state.cur.hovered = False             # <<<<<<<<<<<<<<
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:
 */
  __pyx_v_self->__pyx_base.state.cur.hovered = 0;

  /* "dearcygui/core.pyx":15274
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             # Popup that gets opened with a click on the entry
 *             # We don't open it if it will be empty as it will
 */
  if (__pyx_v_self->__pyx_base._legend) {

    /* "dearcygui/core.pyx":15279
 *             # display a small rect with nothing in it. It's surely
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 */
    __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) != Py_None);
    if (__pyx_t_1) {

      /* "dearcygui/core.pyx":15280
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:
 */
      __pyx_t_1 = ImPlot::BeginLegendPopup(__pyx_v_self->__pyx_base.__pyx_base.imgui_label.c_str(), __pyx_v_self->__pyx_base._legend_button);
      if (__pyx_t_1) {

        /* "dearcygui/core.pyx":15282
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 */
        __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child) != Py_None);
        if (__pyx_t_1) {

          /* "dearcygui/core.pyx":15284
 *                     if self.last_widgets_child is not None:
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()             # <<<<<<<<<<<<<<
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)
 */
          __pyx_v_pos_w = ImGui::GetCursorScreenPos();

          /* "dearcygui/core.pyx":15285
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 *                         pos_p = pos_w             # <<<<<<<<<<<<<<
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)
 */
          __pyx_v_pos_p = __pyx_v_pos_w;

          /* "dearcygui/core.pyx":15286
 *                         pos_w = imgui.GetCursorScreenPos()
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)             # <<<<<<<<<<<<<<
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()
 */
          try {
            std::swap<ImVec2>(__pyx_v_pos_w, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->window_pos);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 15286, __pyx_L1_error)
          }

          /* "dearcygui/core.pyx":15287
 *                         pos_p = pos_w
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)             # <<<<<<<<<<<<<<
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w
 */
          try {
            std::swap<ImVec2>(__pyx_v_pos_p, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos);
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(1, 15287, __pyx_L1_error)
          }

          /* "dearcygui/core.pyx":15288
 *                         swap(pos_w, self.context._viewport.window_pos)
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()             # <<<<<<<<<<<<<<
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p
 */
          ((struct __pyx_vtabstruct_9dearcygui_4core_uiItem *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child->__pyx_base.__pyx_vtab)->draw(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.last_widgets_child);

          /* "dearcygui/core.pyx":15289
 *                         swap(pos_p, self.context._viewport.parent_pos)
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w             # <<<<<<<<<<<<<<
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()
 */
          __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->window_pos = __pyx_v_pos_w;

          /* "dearcygui/core.pyx":15290
 *                         self.last_widgets_child.draw()
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p             # <<<<<<<<<<<<<<
 *                     implot.EndLegendPopup()
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())
 */
          __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport->parent_pos = __pyx_v_pos_p;

          /* "dearcygui/core.pyx":15282
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                         # sub-window
 *                         pos_w = imgui.GetCursorScreenPos()
 */
        }

        /* "dearcygui/core.pyx":15291
 *                         self.context._viewport.window_pos = pos_w
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()             # <<<<<<<<<<<<<<
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())
 * 
 */
        ImPlot::EndLegendPopup();

        /* "dearcygui/core.pyx":15280
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),             # <<<<<<<<<<<<<<
 *                                            self._legend_button):
 *                     if self.last_widgets_child is not None:
 */
      }

      /* "dearcygui/core.pyx":15279
 *             # display a small rect with nothing in it. It's surely
 *             # better to not display anything in this case.
 *             if self.last_widgets_child is not None:             # <<<<<<<<<<<<<<
 *                 if implot.BeginLegendPopup(self.imgui_label.c_str(),
 *                                            self._legend_button):
 */
    }

    /* "dearcygui/core.pyx":15292
 *                         self.context._viewport.parent_pos = pos_p
 *                     implot.EndLegendPopup()
 *             self.state.cur.hovered = implot.IsLegendEntryHovered(self.imgui_label.c_str())             # <<<<<<<<<<<<<<
 * 
 *         # pop theme, font
 */
    __pyx_v_self->__pyx_base.state.cur.hovered = ImPlot::IsLegendEntryHovered(__pyx_v_self->__pyx_base.__pyx_base.imgui_label.c_str());

    /* "dearcygui/core.pyx":15274
 *         self.state.cur.hovered = False
 *         cdef imgui.ImVec2 pos_w, pos_p
 *         if self._legend:             # <<<<<<<<<<<<<<
 *             # Popup that gets opened with a click on the entry
 *             # We don't open it if it will be empty as it will
 */
  }

  /* "dearcygui/core.pyx":15295
 * 
 *         # pop theme, font
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._theme) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15296
 *         # pop theme, font
 *         if self._theme is not None:
 *             self._theme.pop()             # <<<<<<<<<<<<<<
 * 
 *         self.context._viewport.pop_applied_pending_theme_actions()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_baseTheme *)__pyx_v_self->__pyx_base.__pyx_base._theme->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->__pyx_base.__pyx_base._theme);

    /* "dearcygui/core.pyx":15295
 * 
 *         # pop theme, font
 *         if self._theme is not None:             # <<<<<<<<<<<<<<
 *             self._theme.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":15298
 *             self._theme.pop()
 * 
 *         self.context._viewport.pop_applied_pending_theme_actions()             # <<<<<<<<<<<<<<
 * 
 *         if self._font is not None:
 */
  __pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.context->_viewport);

  /* "dearcygui/core.pyx":15300
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_self->__pyx_base._font) != Py_None);
  if (__pyx_t_1) {

    /* "dearcygui/core.pyx":15301
 * 
 *         if self._font is not None:
 *             self._font.pop()             # <<<<<<<<<<<<<<
 * 
 *         self.run_handlers()
 */
    ((struct __pyx_vtabstruct_9dearcygui_4core_Font *)__pyx_v_self->__pyx_base._font->__pyx_base.__pyx_vtab)->pop(__pyx_v_self->__pyx_base._font);

    /* "dearcygui/core.pyx":15300
 *         self.context._viewport.pop_applied_pending_theme_actions()
 * 
 *         if self._font is not None:             # <<<<<<<<<<<<<<
 *             self._font.pop()
 * 
 */
  }

  /* "dearcygui/core.pyx":15303
 *             self._font.pop()
 * 
 *         self.run_handlers()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  ((struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base.run_handlers(((struct __pyx_obj_9dearcygui_4core_baseItem *)__pyx_v_self));

  /* "dearcygui/core.pyx":15213
 *         self._ignore_fit = value
 * 
 *     cdef void draw(self) noexcept nogil:             # <<<<<<<<<<<<<<
 *         # Render siblings first
 *         if self._prev_sibling is not None:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  #ifdef WITH_THREAD
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  #endif
  __Pyx_WriteUnraisable("dearcygui.core.DrawInPlot.draw", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
  __pyx_L0:;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawInPlot_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawInPlot_3__reduce_cython__, METH_NOARGS, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawInPlot_2__reduce_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInPlot.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_10DrawInPlot_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawInPlot_5__setstate_cython__, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_10DrawInPlot_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_10DrawInPlot_4__setstate_cython__(((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_10DrawInPlot_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9dearcygui_4core_DrawInPlot *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("dearcygui.core.DrawInPlot.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":15310
 * """
 * 
 * cdef imgui.ImU32 imgui_ColorConvertFloat4ToU32(imgui.ImVec4 color_float4) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.ColorConvertFloat4ToU32(color_float4)
 * 
 */

static ImU32 __pyx_f_9dearcygui_4core_imgui_ColorConvertFloat4ToU32(ImVec4 __pyx_v_color_float4) {
  ImU32 __pyx_r;

  /* "dearcygui/core.pyx":15311
 * 
 * cdef imgui.ImU32 imgui_ColorConvertFloat4ToU32(imgui.ImVec4 color_float4) noexcept nogil:
 *     return imgui.ColorConvertFloat4ToU32(color_float4)             # <<<<<<<<<<<<<<
 * 
 * cdef imgui.ImVec4 imgui_ColorConvertU32ToFloat4(imgui.ImU32 color_uint) noexcept nogil:
 */
  __pyx_r = ImGui::ColorConvertFloat4ToU32(__pyx_v_color_float4);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15310
 * """
 * 
 * cdef imgui.ImU32 imgui_ColorConvertFloat4ToU32(imgui.ImVec4 color_float4) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.ColorConvertFloat4ToU32(color_float4)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15313
 *     return imgui.ColorConvertFloat4ToU32(color_float4)
 * 
 * cdef imgui.ImVec4 imgui_ColorConvertU32ToFloat4(imgui.ImU32 color_uint) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.ColorConvertU32ToFloat4(color_uint)
 * 
 */

static ImVec4 __pyx_f_9dearcygui_4core_imgui_ColorConvertU32ToFloat4(ImU32 __pyx_v_color_uint) {
  ImVec4 __pyx_r;

  /* "dearcygui/core.pyx":15314
 * 
 * cdef imgui.ImVec4 imgui_ColorConvertU32ToFloat4(imgui.ImU32 color_uint) noexcept nogil:
 *     return imgui.ColorConvertU32ToFloat4(color_uint)             # <<<<<<<<<<<<<<
 * 
 * cdef const char* imgui_GetStyleColorName(int i) noexcept nogil:
 */
  __pyx_r = ImGui::ColorConvertU32ToFloat4(__pyx_v_color_uint);
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15313
 *     return imgui.ColorConvertFloat4ToU32(color_float4)
 * 
 * cdef imgui.ImVec4 imgui_ColorConvertU32ToFloat4(imgui.ImU32 color_uint) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.ColorConvertU32ToFloat4(color_uint)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15316
 *     return imgui.ColorConvertU32ToFloat4(color_uint)
 * 
 * cdef const char* imgui_GetStyleColorName(int i) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.GetStyleColorName(<imgui.ImGuiCol>i)
 * 
 */

static char const *__pyx_f_9dearcygui_4core_imgui_GetStyleColorName(int __pyx_v_i) {
  char const *__pyx_r;

  /* "dearcygui/core.pyx":15317
 * 
 * cdef const char* imgui_GetStyleColorName(int i) noexcept nogil:
 *     return imgui.GetStyleColorName(<imgui.ImGuiCol>i)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 */
  __pyx_r = ImGui::GetStyleColorName(((ImGuiCol)__pyx_v_i));
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15316
 *     return imgui.ColorConvertU32ToFloat4(color_uint)
 * 
 * cdef const char* imgui_GetStyleColorName(int i) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return imgui.GetStyleColorName(<imgui.ImGuiCol>i)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15319
 *     return imgui.GetStyleColorName(<imgui.ImGuiCol>i)
 * 
 * cdef void imgui_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleColor(<imgui.ImGuiCol>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imgui_PushStyleColor(int __pyx_v_i, ImU32 __pyx_v_val) {

  /* "dearcygui/core.pyx":15320
 * 
 * cdef void imgui_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 *     imgui.PushStyleColor(<imgui.ImGuiCol>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_PopStyleColor(int count) noexcept nogil:
 */
  ImGui::PushStyleColor(((ImGuiCol)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15319
 *     return imgui.GetStyleColorName(<imgui.ImGuiCol>i)
 * 
 * cdef void imgui_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleColor(<imgui.ImGuiCol>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15322
 *     imgui.PushStyleColor(<imgui.ImGuiCol>i, val)
 * 
 * cdef void imgui_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PopStyleColor(count)
 * 
 */

static void __pyx_f_9dearcygui_4core_imgui_PopStyleColor(int __pyx_v_count) {

  /* "dearcygui/core.pyx":15323
 * 
 * cdef void imgui_PopStyleColor(int count) noexcept nogil:
 *     imgui.PopStyleColor(count)             # <<<<<<<<<<<<<<
 * 
 * cdef void imnodes_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 */
  ImGui::PopStyleColor(__pyx_v_count);

  /* "dearcygui/core.pyx":15322
 *     imgui.PushStyleColor(<imgui.ImGuiCol>i, val)
 * 
 * cdef void imgui_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PopStyleColor(count)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15325
 *     imgui.PopStyleColor(count)
 * 
 * cdef void imnodes_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushColorStyle(<imnodes.ImNodesCol>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imnodes_PushStyleColor(int __pyx_v_i, ImU32 __pyx_v_val) {

  /* "dearcygui/core.pyx":15326
 * 
 * cdef void imnodes_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 *     imnodes.PushColorStyle(<imnodes.ImNodesCol>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imnodes_PopStyleColor(int count) noexcept nogil:
 */
  ImNodes::PushColorStyle(((ImNodesCol)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15325
 *     imgui.PopStyleColor(count)
 * 
 * cdef void imnodes_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushColorStyle(<imnodes.ImNodesCol>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15328
 *     imnodes.PushColorStyle(<imnodes.ImNodesCol>i, val)
 * 
 * cdef void imnodes_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     for i in range(count):
 */

static void __pyx_f_9dearcygui_4core_imnodes_PopStyleColor(int __pyx_v_count) {
  CYTHON_UNUSED int __pyx_v_i;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "dearcygui/core.pyx":15330
 * cdef void imnodes_PopStyleColor(int count) noexcept nogil:
 *     cdef int i
 *     for i in range(count):             # <<<<<<<<<<<<<<
 *         imnodes.PopColorStyle()
 * 
 */
  __pyx_t_1 = __pyx_v_count;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "dearcygui/core.pyx":15331
 *     cdef int i
 *     for i in range(count):
 *         imnodes.PopColorStyle()             # <<<<<<<<<<<<<<
 * 
 * cdef const char* implot_GetStyleColorName(int i) noexcept nogil:
 */
    ImNodes::PopColorStyle();
  }

  /* "dearcygui/core.pyx":15328
 *     imnodes.PushColorStyle(<imnodes.ImNodesCol>i, val)
 * 
 * cdef void imnodes_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     for i in range(count):
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15333
 *         imnodes.PopColorStyle()
 * 
 * cdef const char* implot_GetStyleColorName(int i) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return implot.GetStyleColorName(<implot.ImPlotCol>i)
 * 
 */

static char const *__pyx_f_9dearcygui_4core_implot_GetStyleColorName(int __pyx_v_i) {
  char const *__pyx_r;

  /* "dearcygui/core.pyx":15334
 * 
 * cdef const char* implot_GetStyleColorName(int i) noexcept nogil:
 *     return implot.GetStyleColorName(<implot.ImPlotCol>i)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 */
  __pyx_r = ImPlot::GetStyleColorName(((ImPlotCol)__pyx_v_i));
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15333
 *         imnodes.PopColorStyle()
 * 
 * cdef const char* implot_GetStyleColorName(int i) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return implot.GetStyleColorName(<implot.ImPlotCol>i)
 * 
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "dearcygui/core.pyx":15336
 *     return implot.GetStyleColorName(<implot.ImPlotCol>i)
 * 
 * cdef void implot_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleColor(<implot.ImPlotCol>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PushStyleColor(int __pyx_v_i, ImU32 __pyx_v_val) {

  /* "dearcygui/core.pyx":15337
 * 
 * cdef void implot_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:
 *     implot.PushStyleColor(<implot.ImPlotCol>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PopStyleColor(int count) noexcept nogil:
 */
  ImPlot::PushStyleColor(((ImPlotCol)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15336
 *     return implot.GetStyleColorName(<implot.ImPlotCol>i)
 * 
 * cdef void implot_PushStyleColor(int i, imgui.ImU32 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleColor(<implot.ImPlotCol>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15339
 *     implot.PushStyleColor(<implot.ImPlotCol>i, val)
 * 
 * cdef void implot_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PopStyleColor(count)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PopStyleColor(int __pyx_v_count) {

  /* "dearcygui/core.pyx":15340
 * 
 * cdef void implot_PopStyleColor(int count) noexcept nogil:
 *     implot.PopStyleColor(count)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_PushStyleVar1(int i, float val) noexcept nogil:
 */
  ImPlot::PopStyleColor(__pyx_v_count);

  /* "dearcygui/core.pyx":15339
 *     implot.PushStyleColor(<implot.ImPlotCol>i, val)
 * 
 * cdef void implot_PopStyleColor(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PopStyleColor(count)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15342
 *     implot.PopStyleColor(count)
 * 
 * cdef void imgui_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imgui_PushStyleVar1(int __pyx_v_i, float __pyx_v_val) {

  /* "dearcygui/core.pyx":15343
 * 
 * cdef void imgui_PushStyleVar1(int i, float val) noexcept nogil:
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 */
  ImGui::PushStyleVar(((ImGuiStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15342
 *     implot.PopStyleColor(count)
 * 
 * cdef void imgui_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15345
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 * cdef void imgui_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imgui_PushStyleVar2(int __pyx_v_i, ImVec2 __pyx_v_val) {

  /* "dearcygui/core.pyx":15346
 * 
 * cdef void imgui_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_PopStyleVar(int count) noexcept nogil:
 */
  ImGui::PushStyleVar(((ImGuiStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15345
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 * cdef void imgui_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15348
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 * cdef void imgui_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PopStyleVar(count)
 * 
 */

static void __pyx_f_9dearcygui_4core_imgui_PopStyleVar(int __pyx_v_count) {

  /* "dearcygui/core.pyx":15349
 * 
 * cdef void imgui_PopStyleVar(int count) noexcept nogil:
 *     imgui.PopStyleVar(count)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PushStyleVar0(int i, int val) noexcept nogil:
 */
  ImGui::PopStyleVar(__pyx_v_count);

  /* "dearcygui/core.pyx":15348
 *     imgui.PushStyleVar(<imgui.ImGuiStyleVar>i, val)
 * 
 * cdef void imgui_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imgui.PopStyleVar(count)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15351
 *     imgui.PopStyleVar(count)
 * 
 * cdef void implot_PushStyleVar0(int i, int val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PushStyleVar0(int __pyx_v_i, int __pyx_v_val) {

  /* "dearcygui/core.pyx":15352
 * 
 * cdef void implot_PushStyleVar0(int i, int val) noexcept nogil:
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PushStyleVar1(int i, float val) noexcept nogil:
 */
  ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15351
 *     imgui.PopStyleVar(count)
 * 
 * cdef void implot_PushStyleVar0(int i, int val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15354
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PushStyleVar1(int __pyx_v_i, float __pyx_v_val) {

  /* "dearcygui/core.pyx":15355
 * 
 * cdef void implot_PushStyleVar1(int i, float val) noexcept nogil:
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 */
  ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15354
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15357
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PushStyleVar2(int __pyx_v_i, ImVec2 __pyx_v_val) {

  /* "dearcygui/core.pyx":15358
 * 
 * cdef void implot_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void implot_PopStyleVar(int count) noexcept nogil:
 */
  ImPlot::PushStyleVar(((ImPlotStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15357
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15360
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PopStyleVar(count)
 * 
 */

static void __pyx_f_9dearcygui_4core_implot_PopStyleVar(int __pyx_v_count) {

  /* "dearcygui/core.pyx":15361
 * 
 * cdef void implot_PopStyleVar(int count) noexcept nogil:
 *     implot.PopStyleVar(count)             # <<<<<<<<<<<<<<
 * 
 * cdef void imnodes_PushStyleVar1(int i, float val) noexcept nogil:
 */
  ImPlot::PopStyleVar(__pyx_v_count);

  /* "dearcygui/core.pyx":15360
 *     implot.PushStyleVar(<implot.ImPlotStyleVar>i, val)
 * 
 * cdef void implot_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     implot.PopStyleVar(count)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15363
 *     implot.PopStyleVar(count)
 * 
 * cdef void imnodes_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imnodes_PushStyleVar1(int __pyx_v_i, float __pyx_v_val) {

  /* "dearcygui/core.pyx":15364
 * 
 * cdef void imnodes_PushStyleVar1(int i, float val) noexcept nogil:
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imnodes_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 */
  ImNodes::PushStyleVar(((ImNodesStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15363
 *     implot.PopStyleVar(count)
 * 
 * cdef void imnodes_PushStyleVar1(int i, float val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15366
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 * cdef void imnodes_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 */

static void __pyx_f_9dearcygui_4core_imnodes_PushStyleVar2(int __pyx_v_i, ImVec2 __pyx_v_val) {

  /* "dearcygui/core.pyx":15367
 * 
 * cdef void imnodes_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)             # <<<<<<<<<<<<<<
 * 
 * cdef void imnodes_PopStyleVar(int count) noexcept nogil:
 */
  ImNodes::PushStyleVar(((ImNodesStyleVar)__pyx_v_i), __pyx_v_val);

  /* "dearcygui/core.pyx":15366
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 * cdef void imnodes_PushStyleVar2(int i, imgui.ImVec2 val) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15369
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 * cdef void imnodes_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PopStyleVar(count)
 * 
 */

static void __pyx_f_9dearcygui_4core_imnodes_PopStyleVar(int __pyx_v_count) {

  /* "dearcygui/core.pyx":15370
 * 
 * cdef void imnodes_PopStyleVar(int count) noexcept nogil:
 *     imnodes.PopStyleVar(count)             # <<<<<<<<<<<<<<
 * 
 * cdef void imgui_SetMouseCursor(int cursor) noexcept nogil:
 */
  ImNodes::PopStyleVar(__pyx_v_count);

  /* "dearcygui/core.pyx":15369
 *     imnodes.PushStyleVar(<imnodes.ImNodesStyleVar>i, val)
 * 
 * cdef void imnodes_PopStyleVar(int count) noexcept nogil:             # <<<<<<<<<<<<<<
 *     imnodes.PopStyleVar(count)
 * 
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15372
 *     imnodes.PopStyleVar(count)
 * 
 * cdef void imgui_SetMouseCursor(int cursor) noexcept nogil:             # <<<<<<<<<<<<<<
 *     # Applies only for this frame. Is reset the next frame
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 */

static void __pyx_f_9dearcygui_4core_imgui_SetMouseCursor(int __pyx_v_cursor) {

  /* "dearcygui/core.pyx":15374
 * cdef void imgui_SetMouseCursor(int cursor) noexcept nogil:
 *     # Applies only for this frame. Is reset the next frame
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)             # <<<<<<<<<<<<<<
 * 
 * def color_as_int(val):
 */
  ImGui::SetMouseCursor(((ImGuiMouseCursor)__pyx_v_cursor));

  /* "dearcygui/core.pyx":15372
 *     imnodes.PopStyleVar(count)
 * 
 * cdef void imgui_SetMouseCursor(int cursor) noexcept nogil:             # <<<<<<<<<<<<<<
 *     # Applies only for this frame. Is reset the next frame
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 */

  /* function exit code */
}

/* "dearcygui/core.pyx":15376
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 * 
 * def color_as_int(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     return int(color)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_3color_as_int(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_3color_as_int = {"color_as_int", (PyCFunction)__pyx_pw_9dearcygui_4core_3color_as_int, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_3color_as_int(PyObject *__pyx_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("color_as_int (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_2color_as_int(__pyx_self, ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_2color_as_int(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) {
  ImU32 __pyx_v_color;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  ImU32 __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("color_as_int", 1);

  /* "dearcygui/core.pyx":15377
 * 
 * def color_as_int(val):
 *     cdef imgui.ImU32 color = parse_color(val)             # <<<<<<<<<<<<<<
 *     return int(color)
 * 
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_val); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 15377, __pyx_L1_error)
  __pyx_v_color = __pyx_t_1;

  /* "dearcygui/core.pyx":15378
 * def color_as_int(val):
 *     cdef imgui.ImU32 color = parse_color(val)
 *     return int(color)             # <<<<<<<<<<<<<<
 * 
 * def color_as_ints(val):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_ImU32(__pyx_v_color); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyInt_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15376
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 * 
 * def color_as_int(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     return int(color)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("dearcygui.core.color_as_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":15380
 *     return int(color)
 * 
 * def color_as_ints(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_5color_as_ints(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_5color_as_ints = {"color_as_ints", (PyCFunction)__pyx_pw_9dearcygui_4core_5color_as_ints, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_5color_as_ints(PyObject *__pyx_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("color_as_ints (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_4color_as_ints(__pyx_self, ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_4color_as_ints(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) {
  ImU32 __pyx_v_color;
  ImVec4 __pyx_v_color_vec;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  ImU32 __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("color_as_ints", 1);

  /* "dearcygui/core.pyx":15381
 * 
 * def color_as_ints(val):
 *     cdef imgui.ImU32 color = parse_color(val)             # <<<<<<<<<<<<<<
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (int(255. * color_vec.x),
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_val); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 15381, __pyx_L1_error)
  __pyx_v_color = __pyx_t_1;

  /* "dearcygui/core.pyx":15382
 * def color_as_ints(val):
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)             # <<<<<<<<<<<<<<
 *     return (int(255. * color_vec.x),
 *             int(255. * color_vec.y),
 */
  __pyx_v_color_vec = ImGui::ColorConvertU32ToFloat4(__pyx_v_color);

  /* "dearcygui/core.pyx":15383
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (int(255. * color_vec.x),             # <<<<<<<<<<<<<<
 *             int(255. * color_vec.y),
 *             int(255. * color_vec.z),
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromDouble((255. * __pyx_v_color_vec.x)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "dearcygui/core.pyx":15384
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (int(255. * color_vec.x),
 *             int(255. * color_vec.y),             # <<<<<<<<<<<<<<
 *             int(255. * color_vec.z),
 *             int(255. * color_vec.w))
 */
  __pyx_t_3 = __Pyx_PyInt_FromDouble((255. * __pyx_v_color_vec.y)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "dearcygui/core.pyx":15385
 *     return (int(255. * color_vec.x),
 *             int(255. * color_vec.y),
 *             int(255. * color_vec.z),             # <<<<<<<<<<<<<<
 *             int(255. * color_vec.w))
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromDouble((255. * __pyx_v_color_vec.z)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "dearcygui/core.pyx":15386
 *             int(255. * color_vec.y),
 *             int(255. * color_vec.z),
 *             int(255. * color_vec.w))             # <<<<<<<<<<<<<<
 * 
 * def color_as_floats(val):
 */
  __pyx_t_5 = __Pyx_PyInt_FromDouble((255. * __pyx_v_color_vec.w)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "dearcygui/core.pyx":15383
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (int(255. * color_vec.x),             # <<<<<<<<<<<<<<
 *             int(255. * color_vec.y),
 *             int(255. * color_vec.z),
 */
  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2)) __PYX_ERR(1, 15383, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3)) __PYX_ERR(1, 15383, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4)) __PYX_ERR(1, 15383, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5)) __PYX_ERR(1, 15383, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15380
 *     return int(color)
 * 
 * def color_as_ints(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.color_as_ints", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "dearcygui/core.pyx":15388
 *             int(255. * color_vec.w))
 * 
 * def color_as_floats(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9dearcygui_4core_7color_as_floats(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/
static PyMethodDef __pyx_mdef_9dearcygui_4core_7color_as_floats = {"color_as_floats", (PyCFunction)__pyx_pw_9dearcygui_4core_7color_as_floats, METH_O, 0};
static PyObject *__pyx_pw_9dearcygui_4core_7color_as_floats(PyObject *__pyx_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("color_as_floats (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9dearcygui_4core_6color_as_floats(__pyx_self, ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9dearcygui_4core_6color_as_floats(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) {
  ImU32 __pyx_v_color;
  ImVec4 __pyx_v_color_vec;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  ImU32 __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("color_as_floats", 1);

  /* "dearcygui/core.pyx":15389
 * 
 * def color_as_floats(val):
 *     cdef imgui.ImU32 color = parse_color(val)             # <<<<<<<<<<<<<<
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (color_vec.x, color_vec.y, color_vec.z, color_vec.w)
 */
  __pyx_t_1 = __pyx_f_9dearcygui_4core_parse_color(__pyx_v_val); if (unlikely(__pyx_t_1 == ((ImU32)-1) && PyErr_Occurred())) __PYX_ERR(1, 15389, __pyx_L1_error)
  __pyx_v_color = __pyx_t_1;

  /* "dearcygui/core.pyx":15390
 * def color_as_floats(val):
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)             # <<<<<<<<<<<<<<
 *     return (color_vec.x, color_vec.y, color_vec.z, color_vec.w)
 */
  __pyx_v_color_vec = ImGui::ColorConvertU32ToFloat4(__pyx_v_color);

  /* "dearcygui/core.pyx":15391
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 *     return (color_vec.x, color_vec.y, color_vec.z, color_vec.w)             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_color_vec.x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_color_vec.y); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_color_vec.z); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_color_vec.w); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2)) __PYX_ERR(1, 15391, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3)) __PYX_ERR(1, 15391, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4)) __PYX_ERR(1, 15391, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5)) __PYX_ERR(1, 15391, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "dearcygui/core.pyx":15388
 *             int(255. * color_vec.w))
 * 
 * def color_as_floats(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("dearcygui.core.color_as_floats", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static struct __pyx_vtabstruct_9dearcygui_4core_Context __pyx_vtable_9dearcygui_4core_Context;

static PyObject *__pyx_tp_new_9dearcygui_4core_Context(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Context *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_9dearcygui_4core_Context *)o);
  p->__pyx_vtab = __pyx_vtabptr_9dearcygui_4core_Context;
  new((void*)&(p->mutex)) std::recursive_mutex();
  new((void*)&(p->next_uuid)) std::atomic<PY_LONG_LONG> ();
  new((void*)&(p->imgui_mutex)) std::recursive_mutex();
  p->items = Py_None; Py_INCREF(Py_None);
  p->tag_to_uuid = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->uuid_to_tag = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->threadlocal_data = Py_None; Py_INCREF(Py_None);
  p->_viewport = ((struct __pyx_obj_9dearcygui_4core_Viewport *)Py_None); Py_INCREF(Py_None);
  p->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  p->queue = Py_None; Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_7Context_3__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

#if CYTHON_USE_TP_FINALIZE
static void __pyx_tp_finalize_9dearcygui_4core_Context(PyObject *o) {
  PyObject *etype, *eval, *etb;
  PyErr_Fetch(&etype, &eval, &etb);
  __pyx_pw_9dearcygui_4core_7Context_7__del__(o);
  PyErr_Restore(etype, eval, etb);
}
#endif

static void __pyx_tp_dealloc_9dearcygui_4core_Context(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Context *p = (struct __pyx_obj_9dearcygui_4core_Context *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Context) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9dearcygui_4core_7Context_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->mutex);
  __Pyx_call_destructor(p->next_uuid);
  __Pyx_call_destructor(p->imgui_mutex);
  Py_CLEAR(p->items);
  Py_CLEAR(p->tag_to_uuid);
  Py_CLEAR(p->uuid_to_tag);
  Py_CLEAR(p->threadlocal_data);
  Py_CLEAR(p->_viewport);
  Py_CLEAR(p->on_close_callback);
  Py_CLEAR(p->queue);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_9dearcygui_4core_Context(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Context *p = (struct __pyx_obj_9dearcygui_4core_Context *)o;
  if (p->items) {
    e = (*v)(p->items, a); if (e) return e;
  }
  if (p->tag_to_uuid) {
    e = (*v)(p->tag_to_uuid, a); if (e) return e;
  }
  if (p->uuid_to_tag) {
    e = (*v)(p->uuid_to_tag, a); if (e) return e;
  }
  if (p->threadlocal_data) {
    e = (*v)(p->threadlocal_data, a); if (e) return e;
  }
  if (p->_viewport) {
    e = (*v)(((PyObject *)p->_viewport), a); if (e) return e;
  }
  if (p->on_close_callback) {
    e = (*v)(((PyObject *)p->on_close_callback), a); if (e) return e;
  }
  if (p->queue) {
    e = (*v)(p->queue, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Context(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Context *p = (struct __pyx_obj_9dearcygui_4core_Context *)o;
  tmp = ((PyObject*)p->items);
  p->items = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->tag_to_uuid);
  p->tag_to_uuid = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->uuid_to_tag);
  p->uuid_to_tag = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->threadlocal_data);
  p->threadlocal_data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_viewport);
  p->_viewport = ((struct __pyx_obj_9dearcygui_4core_Viewport *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->on_close_callback);
  p->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->queue);
  p->queue = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
static PyObject *__pyx_sq_item_9dearcygui_4core_Context(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Context_viewport(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Context_8viewport_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Context_running(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Context_7running_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Context_running(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Context_7running_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Context_clipboard(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Context_9clipboard_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Context_clipboard(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Context_9clipboard_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Context[] = {
  {"is_key_down", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_23is_key_down, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_22is_key_down},
  {"is_key_pressed", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_25is_key_pressed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_24is_key_pressed},
  {"is_key_released", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_27is_key_released, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_26is_key_released},
  {"is_mouse_down", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_29is_mouse_down, METH_O, __pyx_doc_9dearcygui_4core_7Context_28is_mouse_down},
  {"is_mouse_clicked", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_31is_mouse_clicked, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_30is_mouse_clicked},
  {"is_mouse_double_clicked", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_33is_mouse_double_clicked, METH_O, __pyx_doc_9dearcygui_4core_7Context_32is_mouse_double_clicked},
  {"get_mouse_clicked_count", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_35get_mouse_clicked_count, METH_O, __pyx_doc_9dearcygui_4core_7Context_34get_mouse_clicked_count},
  {"is_mouse_released", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_37is_mouse_released, METH_O, __pyx_doc_9dearcygui_4core_7Context_36is_mouse_released},
  {"get_mouse_position", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_39get_mouse_position, METH_NOARGS, __pyx_doc_9dearcygui_4core_7Context_38get_mouse_position},
  {"is_mouse_dragging", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_41is_mouse_dragging, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_40is_mouse_dragging},
  {"get_mouse_drag_delta", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_7Context_43get_mouse_drag_delta, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_7Context_42get_mouse_drag_delta},
  {"reset_mouse_drag_delta", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_45reset_mouse_drag_delta, METH_O, __pyx_doc_9dearcygui_4core_7Context_44reset_mouse_drag_delta},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_47__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Context_49__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Context[] = {
  {(char *)"viewport", __pyx_getprop_9dearcygui_4core_7Context_viewport, 0, (char *)PyDoc_STR("Readonly attribute: root item from where rendering starts"), 0},
  {(char *)"running", __pyx_getprop_9dearcygui_4core_7Context_running, __pyx_setprop_9dearcygui_4core_7Context_running, (char *)0, 0},
  {(char *)"clipboard", __pyx_getprop_9dearcygui_4core_7Context_clipboard, __pyx_setprop_9dearcygui_4core_7Context_clipboard, (char *)PyDoc_STR("Writable attribute: content of the clipboard"), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Context_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Context},
  {Py_sq_item, (void *)__pyx_sq_item_9dearcygui_4core_Context},
  {Py_mp_subscript, (void *)__pyx_pw_9dearcygui_4core_7Context_9__getitem__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Main class managing the DearCyGui items and imgui context.\n    There is exactly one viewport per context.\n\n    Items are assigned an uuid and eventually a user tag.\n    indexing the context with the uuid or the tag returns\n    the object associated.\n\n    The last created context can be accessed as deacygui.C\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Context},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Context},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Context},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Context},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_7Context_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Context},
  #if PY_VERSION_HEX >= 0x030400a1
  {Py_tp_finalize, (void *)__pyx_tp_finalize_9dearcygui_4core_Context},
  #endif
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Context_spec = {
  "dearcygui.core.Context",
  sizeof(struct __pyx_obj_9dearcygui_4core_Context),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_9dearcygui_4core_Context_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_Context = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9dearcygui_4core_Context, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_Context = {
  0, /*mp_length*/
  __pyx_pw_9dearcygui_4core_7Context_9__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9dearcygui_4core_Context = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Context", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Context), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Context, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_Context, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Context, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Main class managing the DearCyGui items and imgui context.\n    There is exactly one viewport per context.\n\n    Items are assigned an uuid and eventually a user tag.\n    indexing the context with the uuid or the tag returns\n    the object associated.\n\n    The last created context can be accessed as deacygui.C\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Context, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Context, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Context, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Context, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_7Context_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Context, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  __pyx_tp_finalize_9dearcygui_4core_Context, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_baseItem __pyx_vtable_9dearcygui_4core_baseItem;

static PyObject *__pyx_tp_new_9dearcygui_4core_baseItem(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_baseItem *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_9dearcygui_4core_baseItem *)o);
  p->__pyx_vtab = __pyx_vtabptr_9dearcygui_4core_baseItem;
  new((void*)&(p->mutex)) std::recursive_mutex();
  new((void*)&(p->_handlers)) std::vector<PyObject *> ();
  p->context = ((struct __pyx_obj_9dearcygui_4core_Context *)Py_None); Py_INCREF(Py_None);
  p->_user_data = Py_None; Py_INCREF(Py_None);
  p->_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  p->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  p->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  p->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)Py_None); Py_INCREF(Py_None);
  p->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None); Py_INCREF(Py_None);
  p->last_menubar_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  p->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  p->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)Py_None); Py_INCREF(Py_None);
  p->last_tab_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  p->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  p->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  p->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_8baseItem_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_baseItem(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_baseItem *p = (struct __pyx_obj_9dearcygui_4core_baseItem *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_baseItem) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  if (p->__weakref__) PyObject_ClearWeakRefs(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9dearcygui_4core_8baseItem_7__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->mutex);
  __Pyx_call_destructor(p->_handlers);
  Py_CLEAR(p->context);
  Py_CLEAR(p->_user_data);
  Py_CLEAR(p->_parent);
  Py_CLEAR(p->_prev_sibling);
  Py_CLEAR(p->_next_sibling);
  Py_CLEAR(p->last_drawings_child);
  Py_CLEAR(p->last_handler_child);
  Py_CLEAR(p->last_menubar_child);
  Py_CLEAR(p->last_payloads_child);
  Py_CLEAR(p->last_plot_element_child);
  Py_CLEAR(p->last_tab_child);
  Py_CLEAR(p->last_theme_child);
  Py_CLEAR(p->last_widgets_child);
  Py_CLEAR(p->last_window_child);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_9dearcygui_4core_baseItem(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_baseItem *p = (struct __pyx_obj_9dearcygui_4core_baseItem *)o;
  if (p->context) {
    e = (*v)(((PyObject *)p->context), a); if (e) return e;
  }
  if (p->_user_data) {
    e = (*v)(p->_user_data, a); if (e) return e;
  }
  if (p->_parent) {
    e = (*v)(((PyObject *)p->_parent), a); if (e) return e;
  }
  if (p->_prev_sibling) {
    e = (*v)(((PyObject *)p->_prev_sibling), a); if (e) return e;
  }
  if (p->_next_sibling) {
    e = (*v)(((PyObject *)p->_next_sibling), a); if (e) return e;
  }
  if (p->last_drawings_child) {
    e = (*v)(((PyObject *)p->last_drawings_child), a); if (e) return e;
  }
  if (p->last_handler_child) {
    e = (*v)(((PyObject *)p->last_handler_child), a); if (e) return e;
  }
  if (p->last_menubar_child) {
    e = (*v)(((PyObject *)p->last_menubar_child), a); if (e) return e;
  }
  if (p->last_payloads_child) {
    e = (*v)(((PyObject *)p->last_payloads_child), a); if (e) return e;
  }
  if (p->last_plot_element_child) {
    e = (*v)(((PyObject *)p->last_plot_element_child), a); if (e) return e;
  }
  if (p->last_tab_child) {
    e = (*v)(((PyObject *)p->last_tab_child), a); if (e) return e;
  }
  if (p->last_theme_child) {
    e = (*v)(((PyObject *)p->last_theme_child), a); if (e) return e;
  }
  if (p->last_widgets_child) {
    e = (*v)(((PyObject *)p->last_widgets_child), a); if (e) return e;
  }
  if (p->last_window_child) {
    e = (*v)(((PyObject *)p->last_window_child), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_baseItem(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_baseItem *p = (struct __pyx_obj_9dearcygui_4core_baseItem *)o;
  tmp = ((PyObject*)p->context);
  p->context = ((struct __pyx_obj_9dearcygui_4core_Context *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_user_data);
  p->_user_data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_parent);
  p->_parent = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_prev_sibling);
  p->_prev_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_next_sibling);
  p->_next_sibling = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_drawings_child);
  p->last_drawings_child = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_handler_child);
  p->last_handler_child = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_menubar_child);
  p->last_menubar_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_payloads_child);
  p->last_payloads_child = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_plot_element_child);
  p->last_plot_element_child = ((struct __pyx_obj_9dearcygui_4core_plotElement *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_tab_child);
  p->last_tab_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_theme_child);
  p->last_theme_child = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_widgets_child);
  p->last_widgets_child = ((struct __pyx_obj_9dearcygui_4core_uiItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_window_child);
  p->last_window_child = ((struct __pyx_obj_9dearcygui_4core_Window *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_context(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_7context_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_user_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_9user_data_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_user_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_9user_data_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_uuid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_4uuid_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_tag(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_3tag_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_tag(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_3tag_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_parent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_6parent_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_parent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_6parent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_previous_sibling(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_previous_sibling(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_16previous_sibling_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_next_sibling(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_next_sibling(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_12next_sibling_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_children(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_8children_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8baseItem_children(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8baseItem_8children_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_mutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_5mutex_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_8baseItem_parents_mutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8baseItem_13parents_mutex_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_baseItem[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_5configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__enter__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_9__enter__, METH_NOARGS, 0},
  {"__exit__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_11__exit__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"lock_mutex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8baseItem_21lock_mutex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8baseItem_20lock_mutex},
  {"unlock_mutex", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_23unlock_mutex, METH_NOARGS, __pyx_doc_9dearcygui_4core_8baseItem_22unlock_mutex},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_25__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8baseItem_27__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_baseItem[] = {
  {(char *)"context", __pyx_getprop_9dearcygui_4core_8baseItem_context, 0, (char *)PyDoc_STR("\n        Read-only attribute: Context in which the item resides\n        "), 0},
  {(char *)"user_data", __pyx_getprop_9dearcygui_4core_8baseItem_user_data, __pyx_setprop_9dearcygui_4core_8baseItem_user_data, (char *)PyDoc_STR("\n        User data of any type.\n        "), 0},
  {(char *)"uuid", __pyx_getprop_9dearcygui_4core_8baseItem_uuid, 0, (char *)PyDoc_STR("\n        Readonly attribute: uuid is an unique identifier created\n        by the context for the item.\n        uuid can be used to access the object by name for parent=,\n        previous_sibling=, next_sibling= arguments, but it is\n        preferred to pass the objects directly. \n        "), 0},
  {(char *)"tag", __pyx_getprop_9dearcygui_4core_8baseItem_tag, __pyx_setprop_9dearcygui_4core_8baseItem_tag, (char *)PyDoc_STR("\n        Writable attribute: tag is an optional string that uniquely\n        defines the object.\n\n        If set (else it is set to None), tag can be used to access\n        the object by name for parent=,\n        previous_sibling=, next_sibling= arguments.\n\n        The tag can be set at any time, but it must be unique.\n        "), 0},
  {(char *)"parent", __pyx_getprop_9dearcygui_4core_8baseItem_parent, __pyx_setprop_9dearcygui_4core_8baseItem_parent, (char *)PyDoc_STR("\n        Writable attribute: parent of the item in the rendering tree.\n\n        Rendering starts from the viewport. Then recursively each child\n        is rendered from the first to the last, and each child renders\n        their subtree.\n\n        Only an item inserted in the rendering tree is rendered.\n        An item that is not in the rendering tree can have children.\n        Thus it is possible to build and configure various items, and\n        attach them to the tree in a second phase.\n\n        The children hold a reference to their parent, and the parent\n        holds a reference to its children. Thus to be release memory\n        held by an item, two options are possible:\n        . Remove the item from the tree, remove all your references.\n          If the item has children or siblings, the item will not be\n          released until Python's garbage collection detects a\n          circular reference.\n        . Use delete_item to remove the item from the tree, and remove\n          all the internal references inside the item structure and\n          the item's children, thus allowing them to be removed from\n          memory as soon as the user doesn't hold a reference on them.\n\n        Note the viewport is referenced by the context.\n\n        If you set this attribute, the item will be inserted at the last\n        position of the children of the parent (regardless whether this\n        item is already a child of the parent).\n        If you set None, the item will be removed from its parent's children\n        list.\n        "), 0},
  {(char *)"previous_sibling", __pyx_getprop_9dearcygui_4core_8baseItem_previous_sibling, __pyx_setprop_9dearcygui_4core_8baseItem_previous_sibling, (char *)PyDoc_STR("\n        Writable attribute: child of the parent of the item that\n        is rendered just before this item.\n\n        It is not possible to have siblings if you have no parent,\n        thus if you intend to attach together items outside the\n        rendering tree, there must be a toplevel parent item.\n\n        If you write to this attribute, the item will be moved\n        to be inserted just after the target item.\n        In case of failure, the item remains in a detached state.\n\n        Note that a parent can have several child queues, and thus\n        child elements are not guaranteed to be siblings of each other.\n        "), 0},
  {(char *)"next_sibling", __pyx_getprop_9dearcygui_4core_8baseItem_next_sibling, __pyx_setprop_9dearcygui_4core_8baseItem_next_sibling, (char *)PyDoc_STR("\n        Writable attribute: child of the parent of the item that\n        is rendered just after this item.\n\n        It is not possible to have siblings if you have no parent,\n        thus if you intend to attach together items outside the\n        rendering tree, there must be a toplevel parent item.\n\n        If you write to this attribute, the item will be moved\n        to be inserted just before the target item.\n        In case of failure, the item remains in a detached state.\n        "), 0},
  {(char *)"children", __pyx_getprop_9dearcygui_4core_8baseItem_children, __pyx_setprop_9dearcygui_4core_8baseItem_children, (char *)PyDoc_STR("\n        Writable attribute: List of all the children of the item,\n        from first rendered, to last rendered.\n\n        When written to, an error is raised if the children already\n        have other parents. This error is meant to prevent programming\n        mistakes, as users might not realize the children were\n        unattached from their former parents.\n        "), 0},
  {(char *)"mutex", __pyx_getprop_9dearcygui_4core_8baseItem_mutex, 0, (char *)PyDoc_STR("\n        Context manager instance for the item mutex\n\n        Locking the mutex will prevent:\n        . Other threads from reading/writing\n          attributes or calling methods with this item,\n          editing the children/parent of the item\n        . Any rendering of this item and its children.\n          If the viewport attemps to render this item,\n          it will be blocked until the mutex is released.\n          (if the rendering thread is holding the mutex,\n           no blocking occurs)\n\n        In general, you don't need to use any mutex in your code,\n        unless you are writing a library and cannot make assumptions\n        on what the users will do, or if you know your code manipulates\n        the same objects with multiple threads.\n\n        All attribute accesses are mutex protected.\n\n        If you want to subclass and add attributes, you\n        can use this mutex to protect your new attributes.\n        Be careful not to hold the mutex if your thread\n        intends to access the attributes of a parent item.\n        In case of doubt use parents_mutex instead.\n        "), 0},
  {(char *)"parents_mutex", __pyx_getprop_9dearcygui_4core_8baseItem_parents_mutex, 0, (char *)PyDoc_STR("Context manager instance for the item mutex and all its parents\n        \n        Similar to mutex but locks not only this item, but also all\n        its current parents.\n        If you want to access parent fields, or if you are unsure,\n        lock this mutex rather than self.mutex.\n        This mutex will lock the item and all its parent in a safe\n        way that does not deadlock.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_baseItem_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_baseItem},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Base class for all items (except shared values)\n\n    To be rendered, an item must be in the child tree\n    of the viewport (context.viewport).\n\n    The parent of an item can be set with various ways:\n    1) Using the parent attribute. item.parent = target_item\n    2) Passing (parent=target_item) during item creation\n    3) If the context manager is not empty ('with' on an item),\n       and no parent is set (parent = None passed or nothing),\n       the last item in 'with' is taken as parent. The context\n       manager can be managed directly with context.push_next_parent()\n       and context.pop_next_parent()\n    4) if you set the previous_sibling or next_sibling attribute,\n       the item will be inserted respectively after and before the\n       respective items in the parent item children list. For legacy\n       support, the 'before=target_item' attribute can be used during item creation,\n       and is equivalent to item.next_sibling = target_item\n\n    parent, previous_sibling and next_sibling are baseItem attributes\n    and can be read at any time.\n    It is possible to get the list of children of an item as well\n    with the 'children' attribute: item.children.\n\n    For ease of use, the items can be named for easy retrieval.\n    The tag attribute is a user string that can be set at any\n    moment and can be passed for parent/previous_sibling/next_sibling.\n    The item associated with a tag can be retrieved with context[tag].\n    Note that having a tag doesn't mean the item is referenced by the context.\n    If an item is not in the subtree of the viewport, and is not referenced,\n    it might get deleted.\n\n    During rendering the children of each item are rendered in\n    order from the first one to the last one.\n    When an item is attached to a parent, it is by default inserted\n    last, unless previous_sibling or next_sibling is used.\n\n    previous_sibling and next_sibling enable to insert an item\n    between elements.""\n\n    When parent, previous_sibling or next_sibling are set, the item\n    is detached from any parent or sibling it had previously.\n\n    An item can be manually detached from a parent\n    by setting parent = None.\n\n    Most items have restrictions for the parents and children it can\n    have. In addition some items can have several children lists\n    of incompatible types. These children list will be concatenated\n    when reading item.children. In a given list are items of a similar\n    type.\n\n    Finally some items cannot be children of any item in the rendering\n    tree. One such item is PlaceHolderParent, which can be parent\n    of any item which can have a parent. PlaceHolderParent cannot\n    be inserted in the rendering tree, but can be used to store items\n    before their insertion in the rendering tree.\n    Other such items are textures, themes, colormaps and fonts. Those\n    items cannot be made children of items of the rendering tree, but\n    can be bound to them. For example item.theme = theme_item will\n    bind theme_item to item. It is possible to bind such an item to\n    several items, and as long as one item reference them, they will\n    not be deleted by the garbage collector.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_baseItem},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_baseItem},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_8baseItem_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_baseItem},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_baseItem_spec = {
  "dearcygui.core.baseItem",
  sizeof(struct __pyx_obj_9dearcygui_4core_baseItem),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_baseItem_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_baseItem = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""baseItem", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_baseItem), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Base class for all items (except shared values)\n\n    To be rendered, an item must be in the child tree\n    of the viewport (context.viewport).\n\n    The parent of an item can be set with various ways:\n    1) Using the parent attribute. item.parent = target_item\n    2) Passing (parent=target_item) during item creation\n    3) If the context manager is not empty ('with' on an item),\n       and no parent is set (parent = None passed or nothing),\n       the last item in 'with' is taken as parent. The context\n       manager can be managed directly with context.push_next_parent()\n       and context.pop_next_parent()\n    4) if you set the previous_sibling or next_sibling attribute,\n       the item will be inserted respectively after and before the\n       respective items in the parent item children list. For legacy\n       support, the 'before=target_item' attribute can be used during item creation,\n       and is equivalent to item.next_sibling = target_item\n\n    parent, previous_sibling and next_sibling are baseItem attributes\n    and can be read at any time.\n    It is possible to get the list of children of an item as well\n    with the 'children' attribute: item.children.\n\n    For ease of use, the items can be named for easy retrieval.\n    The tag attribute is a user string that can be set at any\n    moment and can be passed for parent/previous_sibling/next_sibling.\n    The item associated with a tag can be retrieved with context[tag].\n    Note that having a tag doesn't mean the item is referenced by the context.\n    If an item is not in the subtree of the viewport, and is not referenced,\n    it might get deleted.\n\n    During rendering the children of each item are rendered in\n    order from the first one to the last one.\n    When an item is attached to a parent, it is by default inserted\n    last, unless previous_sibling or next_sibling is used.\n\n    previous_sibling and next_sibling enable to insert an item\n    between elements.""\n\n    When parent, previous_sibling or next_sibling are set, the item\n    is detached from any parent or sibling it had previously.\n\n    An item can be manually detached from a parent\n    by setting parent = None.\n\n    Most items have restrictions for the parents and children it can\n    have. In addition some items can have several children lists\n    of incompatible types. These children list will be concatenated\n    when reading item.children. In a given list are items of a similar\n    type.\n\n    Finally some items cannot be children of any item in the rendering\n    tree. One such item is PlaceHolderParent, which can be parent\n    of any item which can have a parent. PlaceHolderParent cannot\n    be inserted in the rendering tree, but can be used to store items\n    before their insertion in the rendering tree.\n    Other such items are textures, themes, colormaps and fonts. Those\n    items cannot be made children of items of the rendering tree, but\n    can be bound to them. For example item.theme = theme_item will\n    bind theme_item to item. It is possible to bind such an item to\n    several items, and as long as one item reference them, they will\n    not be deleted by the garbage collector.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_baseItem, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_baseItem, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_baseItem, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Viewport __pyx_vtable_9dearcygui_4core_Viewport;

static PyObject *__pyx_tp_new_9dearcygui_4core_Viewport(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Viewport *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Viewport *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Viewport;
  new((void*)&(p->mutex_backend)) std::recursive_mutex();
  new((void*)&(p->graphics)) struct mvGraphics();
  new((void*)&(p->state)) struct __pyx_t_9dearcygui_4core_itemState();
  new((void*)&(p->window_pos)) ImVec2();
  new((void*)&(p->parent_pos)) ImVec2();
  new((void*)&(p->pending_theme_actions)) std::vector<__pyx_t_9dearcygui_4core_theme_action> ();
  new((void*)&(p->applied_theme_actions)) std::vector<__pyx_t_9dearcygui_4core_theme_action> ();
  new((void*)&(p->applied_theme_actions_count)) std::vector<int> ();
  p->_resize_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  p->_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  p->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_8Viewport_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Viewport(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Viewport *p = (struct __pyx_obj_9dearcygui_4core_Viewport *)o;
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9dearcygui_4core_8Viewport_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->mutex_backend);
  __Pyx_call_destructor(p->graphics);
  __Pyx_call_destructor(p->state);
  __Pyx_call_destructor(p->window_pos);
  __Pyx_call_destructor(p->parent_pos);
  __Pyx_call_destructor(p->pending_theme_actions);
  __Pyx_call_destructor(p->applied_theme_actions);
  __Pyx_call_destructor(p->applied_theme_actions_count);
  Py_CLEAR(p->_resize_callback);
  Py_CLEAR(p->_close_callback);
  Py_CLEAR(p->_font);
  Py_CLEAR(p->_theme);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Viewport(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Viewport *p = (struct __pyx_obj_9dearcygui_4core_Viewport *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_resize_callback) {
    e = (*v)(((PyObject *)p->_resize_callback), a); if (e) return e;
  }
  if (p->_close_callback) {
    e = (*v)(((PyObject *)p->_close_callback), a); if (e) return e;
  }
  if (p->_font) {
    e = (*v)(((PyObject *)p->_font), a); if (e) return e;
  }
  if (p->_theme) {
    e = (*v)(((PyObject *)p->_theme), a); if (e) return e;
  }
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_clear_color(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_11clear_color_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_clear_color(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_11clear_color_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_small_icon(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_10small_icon_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_small_icon(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_10small_icon_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_large_icon(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_10large_icon_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_large_icon(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_10large_icon_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_x_pos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5x_pos_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_x_pos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5x_pos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_y_pos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5y_pos_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_y_pos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5y_pos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_6height_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_resizable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9resizable_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_resizable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9resizable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_vsync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5vsync_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_vsync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5vsync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_dpi(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_3dpi_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_dpi(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_3dpi_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_min_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9min_width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_min_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9min_width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_max_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9max_width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_max_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9max_width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_min_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_10min_height_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_min_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_10min_height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_max_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_10max_height_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_max_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_10max_height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_always_on_top(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_always_on_top(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_13always_on_top_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_decorated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9decorated_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_decorated(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9decorated_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_handlers(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_8handlers_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_handlers(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_8handlers_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_cursor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_6cursor_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_cursor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_6cursor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_font(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_4font_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_font(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_4font_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_theme(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5theme_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_theme(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5theme_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_title(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5title_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_title(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_5title_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_disable_close(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_13disable_close_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_disable_close(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_13disable_close_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_fullscreen(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_fullscreen(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_10fullscreen_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_minimized(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9minimized_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_minimized(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9minimized_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_maximized(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_9maximized_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_maximized(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_9maximized_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_wait_for_input(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_wait_for_input(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_14wait_for_input_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_shown(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_5shown_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_resize_callback(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_resize_callback(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_15resize_callback_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_close_callback(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_14close_callback_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8Viewport_close_callback(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8Viewport_14close_callback_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8Viewport_metrics(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8Viewport_7metrics_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Viewport[] = {
  {"initialize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_5initialize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8Viewport_4initialize},
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_7configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"render_frame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_8Viewport_9render_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_8Viewport_8render_frame},
  {"wake", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_11wake, METH_NOARGS, __pyx_doc_9dearcygui_4core_8Viewport_10wake},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Viewport_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Viewport[] = {
  {(char *)"clear_color", __pyx_getprop_9dearcygui_4core_8Viewport_clear_color, __pyx_setprop_9dearcygui_4core_8Viewport_clear_color, (char *)0, 0},
  {(char *)"small_icon", __pyx_getprop_9dearcygui_4core_8Viewport_small_icon, __pyx_setprop_9dearcygui_4core_8Viewport_small_icon, (char *)0, 0},
  {(char *)"large_icon", __pyx_getprop_9dearcygui_4core_8Viewport_large_icon, __pyx_setprop_9dearcygui_4core_8Viewport_large_icon, (char *)0, 0},
  {(char *)"x_pos", __pyx_getprop_9dearcygui_4core_8Viewport_x_pos, __pyx_setprop_9dearcygui_4core_8Viewport_x_pos, (char *)0, 0},
  {(char *)"y_pos", __pyx_getprop_9dearcygui_4core_8Viewport_y_pos, __pyx_setprop_9dearcygui_4core_8Viewport_y_pos, (char *)0, 0},
  {(char *)"width", __pyx_getprop_9dearcygui_4core_8Viewport_width, __pyx_setprop_9dearcygui_4core_8Viewport_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_9dearcygui_4core_8Viewport_height, __pyx_setprop_9dearcygui_4core_8Viewport_height, (char *)0, 0},
  {(char *)"resizable", __pyx_getprop_9dearcygui_4core_8Viewport_resizable, __pyx_setprop_9dearcygui_4core_8Viewport_resizable, (char *)0, 0},
  {(char *)"vsync", __pyx_getprop_9dearcygui_4core_8Viewport_vsync, __pyx_setprop_9dearcygui_4core_8Viewport_vsync, (char *)0, 0},
  {(char *)"dpi", __pyx_getprop_9dearcygui_4core_8Viewport_dpi, __pyx_setprop_9dearcygui_4core_8Viewport_dpi, (char *)PyDoc_STR("\n        DPI scaling of the main monitor, which\n        will be used to scale all UI elements and fonts.\n        Write to override the value.\n        A value of 1. will disable scaling.\n        Setting the dpi only has an impact if done\n        after initialize()\n        "), 0},
  {(char *)"min_width", __pyx_getprop_9dearcygui_4core_8Viewport_min_width, __pyx_setprop_9dearcygui_4core_8Viewport_min_width, (char *)0, 0},
  {(char *)"max_width", __pyx_getprop_9dearcygui_4core_8Viewport_max_width, __pyx_setprop_9dearcygui_4core_8Viewport_max_width, (char *)0, 0},
  {(char *)"min_height", __pyx_getprop_9dearcygui_4core_8Viewport_min_height, __pyx_setprop_9dearcygui_4core_8Viewport_min_height, (char *)0, 0},
  {(char *)"max_height", __pyx_getprop_9dearcygui_4core_8Viewport_max_height, __pyx_setprop_9dearcygui_4core_8Viewport_max_height, (char *)0, 0},
  {(char *)"always_on_top", __pyx_getprop_9dearcygui_4core_8Viewport_always_on_top, __pyx_setprop_9dearcygui_4core_8Viewport_always_on_top, (char *)0, 0},
  {(char *)"decorated", __pyx_getprop_9dearcygui_4core_8Viewport_decorated, __pyx_setprop_9dearcygui_4core_8Viewport_decorated, (char *)0, 0},
  {(char *)"handlers", __pyx_getprop_9dearcygui_4core_8Viewport_handlers, __pyx_setprop_9dearcygui_4core_8Viewport_handlers, (char *)PyDoc_STR("\n        Writable attribute: bound handler (or handlerList)\n        for the viewport.\n        Only Key and Mouse handlers are compatible.\n        Handlers that check item states won't work.\n        "), 0},
  {(char *)"cursor", __pyx_getprop_9dearcygui_4core_8Viewport_cursor, __pyx_setprop_9dearcygui_4core_8Viewport_cursor, (char *)PyDoc_STR("\n        Change the mouse cursor to one of mouse_cursor.\n        The mouse cursor is reset every frame.\n        "), 0},
  {(char *)"font", __pyx_getprop_9dearcygui_4core_8Viewport_font, __pyx_setprop_9dearcygui_4core_8Viewport_font, (char *)PyDoc_STR("\n        Writable attribute: global font\n        "), 0},
  {(char *)"theme", __pyx_getprop_9dearcygui_4core_8Viewport_theme, __pyx_setprop_9dearcygui_4core_8Viewport_theme, (char *)PyDoc_STR("\n        Writable attribute: global theme\n        "), 0},
  {(char *)"title", __pyx_getprop_9dearcygui_4core_8Viewport_title, __pyx_setprop_9dearcygui_4core_8Viewport_title, (char *)0, 0},
  {(char *)"disable_close", __pyx_getprop_9dearcygui_4core_8Viewport_disable_close, __pyx_setprop_9dearcygui_4core_8Viewport_disable_close, (char *)0, 0},
  {(char *)"fullscreen", __pyx_getprop_9dearcygui_4core_8Viewport_fullscreen, __pyx_setprop_9dearcygui_4core_8Viewport_fullscreen, (char *)0, 0},
  {(char *)"minimized", __pyx_getprop_9dearcygui_4core_8Viewport_minimized, __pyx_setprop_9dearcygui_4core_8Viewport_minimized, (char *)0, 0},
  {(char *)"maximized", __pyx_getprop_9dearcygui_4core_8Viewport_maximized, __pyx_setprop_9dearcygui_4core_8Viewport_maximized, (char *)0, 0},
  {(char *)"wait_for_input", __pyx_getprop_9dearcygui_4core_8Viewport_wait_for_input, __pyx_setprop_9dearcygui_4core_8Viewport_wait_for_input, (char *)PyDoc_STR("\n        Writable attribute: When the app doesn't need to be\n        refreshed, one can save power comsumption by not\n        rendering. wait_for_input will pause rendering until\n        a mouse or keyboard event is received.\n        wake() can also be used to restart rendering\n        for one frame.\n        "), 0},
  {(char *)"shown", __pyx_getprop_9dearcygui_4core_8Viewport_shown, 0, (char *)PyDoc_STR("\n        Whether the viewport window has been created by the\n        operating system.\n        "), 0},
  {(char *)"resize_callback", __pyx_getprop_9dearcygui_4core_8Viewport_resize_callback, __pyx_setprop_9dearcygui_4core_8Viewport_resize_callback, (char *)PyDoc_STR("\n        Callback to be issued when the viewport is resized.\n        "), 0},
  {(char *)"close_callback", __pyx_getprop_9dearcygui_4core_8Viewport_close_callback, __pyx_setprop_9dearcygui_4core_8Viewport_close_callback, (char *)PyDoc_STR("\n        Callback to be issued when the viewport is closed.\n        "), 0},
  {(char *)"metrics", __pyx_getprop_9dearcygui_4core_8Viewport_metrics, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Viewport_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Viewport},
  {Py_tp_doc, (void *)PyDoc_STR("\n    The viewport corresponds to the main item containing\n    all the visuals. It is decorated by the operating system,\n    and can be minimized/maximized/made fullscreen.\n\n    Rendering starts from the viewports and recursively\n    every item renders itself and its children.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Viewport},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Viewport},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Viewport},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Viewport},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Viewport_spec = {
  "dearcygui.core.Viewport",
  sizeof(struct __pyx_obj_9dearcygui_4core_Viewport),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Viewport_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Viewport = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Viewport", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Viewport), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Viewport, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    The viewport corresponds to the main item containing\n    all the visuals. It is decorated by the operating system,\n    and can be minimized/maximized/made fullscreen.\n\n    Rendering starts from the viewports and recursively\n    every item renders itself and its children.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Viewport, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Viewport, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Viewport, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Viewport, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9dearcygui_4core_Callback(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Callback *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_9dearcygui_4core_Callback *)o);
  p->callback = Py_None; Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_8Callback_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Callback(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Callback *p = (struct __pyx_obj_9dearcygui_4core_Callback *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Callback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->callback);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_9dearcygui_4core_Callback(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Callback *p = (struct __pyx_obj_9dearcygui_4core_Callback *)o;
  if (p->callback) {
    e = (*v)(p->callback, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Callback(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Callback *p = (struct __pyx_obj_9dearcygui_4core_Callback *)o;
  tmp = ((PyObject*)p->callback);
  p->callback = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Callback[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Callback_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Callback_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Callback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Callback},
  {Py_tp_call, (void *)__pyx_pw_9dearcygui_4core_8Callback_5__call__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Wrapper class that automatically encapsulate\n    callbacks.\n\n    Callbacks in DCG mode can take up to 3 arguments:\n    . source_item: the item to which the callback was attached\n    . target_item: the item for which the callback was raised.\n        Is only different to source_item for handlers' callback.\n    . call_info: If applicable information about the call (key button, etc)\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Callback},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Callback},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Callback},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_8Callback_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Callback},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Callback_spec = {
  "dearcygui.core.Callback",
  sizeof(struct __pyx_obj_9dearcygui_4core_Callback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Callback_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Callback = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Callback", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Callback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Callback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  __pyx_pw_9dearcygui_4core_8Callback_5__call__, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Wrapper class that automatically encapsulate\n    callbacks.\n\n    Callbacks in DCG mode can take up to 3 arguments:\n    . source_item: the item to which the callback was attached\n    . target_item: the item for which the callback was raised.\n        Is only different to source_item for handlers' callback.\n    . call_info: If applicable information about the call (key button, etc)\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Callback, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Callback, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Callback, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_8Callback_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Callback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_drawingItem __pyx_vtable_9dearcygui_4core_drawingItem;

static PyObject *__pyx_tp_new_9dearcygui_4core_drawingItem(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_drawingItem *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_drawingItem *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_drawingItem;
  if (unlikely(__pyx_pw_9dearcygui_4core_11drawingItem_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11drawingItem_show(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11drawingItem_4show_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11drawingItem_show(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11drawingItem_4show_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_drawingItem[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11drawingItem_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11drawingItem_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_drawingItem[] = {
  {(char *)"show", __pyx_getprop_9dearcygui_4core_11drawingItem_show, __pyx_setprop_9dearcygui_4core_11drawingItem_show, (char *)PyDoc_STR("\n        Writable attribute: Should the object be drawn/shown ?\n        In case show is set to False, this disables any\n        callback (for example the close callback won't be called\n        if a window is hidden with show = False).\n        In the case of items that can be closed,\n        show is set to False automatically on close.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_drawingItem_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    A simple item with no UI state,\n    that inherit from the drawing area of its\n    parent\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_drawingItem},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_drawingItem},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_drawingItem},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_drawingItem_spec = {
  "dearcygui.core.drawingItem",
  sizeof(struct __pyx_obj_9dearcygui_4core_drawingItem),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_drawingItem_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_drawingItem = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""drawingItem", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_drawingItem), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A simple item with no UI state,\n    that inherit from the drawing area of its\n    parent\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_drawingItem, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_drawingItem, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_drawingItem, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawingList __pyx_vtable_9dearcygui_4core_DrawingList;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawingList(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawingList *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawingList *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawingList;
  if (unlikely(__pyx_pw_9dearcygui_4core_11DrawingList_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawingList[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawingList_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawingList_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawingList_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    A simple drawing item that renders its children.\n    Useful to arrange your items and quickly\n    hide/show/delete them by manipulating the list.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawingList},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawingList},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawingList_spec = {
  "dearcygui.core.DrawingList",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawingList),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawingList_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawingList = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawingList", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawingList), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A simple drawing item that renders its children.\n    Useful to arrange your items and quickly\n    hide/show/delete them by manipulating the list.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawingList, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawingList, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawingListScale __pyx_vtable_9dearcygui_4core_DrawingListScale;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawingListScale(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawingListScale *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawingListScale *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawingListScale;
  if (unlikely(__pyx_pw_9dearcygui_4core_16DrawingListScale_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_16DrawingListScale_scales(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16DrawingListScale_scales(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16DrawingListScale_6scales_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16DrawingListScale_shifts(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16DrawingListScale_shifts(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16DrawingListScale_6shifts_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16DrawingListScale_no_parent_scale(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16DrawingListScale_no_parent_scale(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16DrawingListScale_15no_parent_scale_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawingListScale[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawingListScale_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawingListScale_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_DrawingListScale[] = {
  {(char *)"scales", __pyx_getprop_9dearcygui_4core_16DrawingListScale_scales, __pyx_setprop_9dearcygui_4core_16DrawingListScale_scales, (char *)PyDoc_STR("\n        Scales applied to the x and y axes\n        Default is (1., 1.).\n        The scales multiply any previous scales\n        already set (including plot scales).\n        Use no_parent_scale to remove that behaviour.\n        "), 0},
  {(char *)"shifts", __pyx_getprop_9dearcygui_4core_16DrawingListScale_shifts, __pyx_setprop_9dearcygui_4core_16DrawingListScale_shifts, (char *)PyDoc_STR("\n        Shifts applied to the x and y axes.\n        Default is (0., 0.)\n        The shifts are applied any previous\n        shift and scale.\n        For instance on x, the transformation to\n        screen space is:\n        parent_x_transform(x * scales[0] + shifts[0])\n        "), 0},
  {(char *)"no_parent_scale", __pyx_getprop_9dearcygui_4core_16DrawingListScale_no_parent_scale, __pyx_setprop_9dearcygui_4core_16DrawingListScale_no_parent_scale, (char *)PyDoc_STR("\n        Resets any previous scaling to screen space.\n        shifts are transformed to screen space using\n        the parent transform and serves as origin (0, 0)\n        for the child coordinates.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawingListScale_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Similar to a DrawingList, but\n    can apply shift and scale to the data\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawingListScale},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_DrawingListScale},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawingListScale},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawingListScale_spec = {
  "dearcygui.core.DrawingListScale",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawingListScale),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawingListScale_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawingListScale = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawingListScale", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawingListScale), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Similar to a DrawingList, but\n    can apply shift and scale to the data\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawingListScale, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_DrawingListScale, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawingListScale, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawArrow_ __pyx_vtable_9dearcygui_4core_DrawArrow_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawArrow_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawArrow_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawArrow_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawArrow_;
  if (unlikely(__pyx_pw_9dearcygui_4core_10DrawArrow__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawArrow_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawArrow__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawArrow__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawArrow__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawArrow_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawArrow_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawArrow__spec = {
  "dearcygui.core.DrawArrow_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawArrow_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawArrow__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawArrow_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawArrow_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawArrow_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawArrow_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawArrow_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierCubic_ __pyx_vtable_9dearcygui_4core_DrawBezierCubic_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawBezierCubic_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawBezierCubic_;
  if (unlikely(__pyx_pw_9dearcygui_4core_16DrawBezierCubic__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawBezierCubic_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawBezierCubic__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawBezierCubic_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawBezierCubic_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawBezierCubic__spec = {
  "dearcygui.core.DrawBezierCubic_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawBezierCubic__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawBezierCubic_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawBezierCubic_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawBezierCubic_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawBezierCubic_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawBezierQuadratic_ __pyx_vtable_9dearcygui_4core_DrawBezierQuadratic_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawBezierQuadratic_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawBezierQuadratic_;
  if (unlikely(__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawBezierQuadratic_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawBezierQuadratic__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawBezierQuadratic_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawBezierQuadratic_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawBezierQuadratic__spec = {
  "dearcygui.core.DrawBezierQuadratic_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawBezierQuadratic__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawBezierQuadratic_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawBezierQuadratic_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawBezierQuadratic_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawBezierQuadratic_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawCircle_ __pyx_vtable_9dearcygui_4core_DrawCircle_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawCircle_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawCircle_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawCircle_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawCircle_;
  if (unlikely(__pyx_pw_9dearcygui_4core_11DrawCircle__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawCircle_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawCircle__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DrawCircle__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawCircle__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawCircle_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawCircle_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawCircle__spec = {
  "dearcygui.core.DrawCircle_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawCircle_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawCircle__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawCircle_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawCircle_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawCircle_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawCircle_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawCircle_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawEllipse_ __pyx_vtable_9dearcygui_4core_DrawEllipse_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawEllipse_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawEllipse_;
  new((void*)&(p->points)) std::vector<double4> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_12DrawEllipse__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawEllipse_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *p = (struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawEllipse_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->points);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawEllipse_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawEllipse__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawEllipse__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawEllipse__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawEllipse_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawEllipse_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawEllipse_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawEllipse__spec = {
  "dearcygui.core.DrawEllipse_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawEllipse_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawEllipse__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawEllipse_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawEllipse_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawEllipse_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawEllipse_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawEllipse_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawEllipse_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawImage_ __pyx_vtable_9dearcygui_4core_DrawImage_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawImage_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawImage_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawImage_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawImage_;
  p->texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_10DrawImage__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawImage_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawImage_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImage_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawImage_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->texture);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_DrawImage_(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_DrawImage_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImage_ *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->texture) {
    e = (*v)(((PyObject *)p->texture), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_DrawImage_(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_DrawImage_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImage_ *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->texture);
  p->texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawImage_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawImage__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawImage__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawImage__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawImage_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_DrawImage_},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_DrawImage_},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawImage_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawImage_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawImage__spec = {
  "dearcygui.core.DrawImage_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawImage_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawImage__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawImage_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawImage_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawImage_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawImage_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_DrawImage_, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_DrawImage_, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawImage_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawImage_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawImageQuad_ __pyx_vtable_9dearcygui_4core_DrawImageQuad_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawImageQuad_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawImageQuad_;
  p->texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_14DrawImageQuad__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawImageQuad_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawImageQuad_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->texture);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_DrawImageQuad_(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->texture) {
    e = (*v)(((PyObject *)p->texture), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_DrawImageQuad_(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *p = (struct __pyx_obj_9dearcygui_4core_DrawImageQuad_ *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->texture);
  p->texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawImageQuad_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawImageQuad__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawImageQuad_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_DrawImageQuad_},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_DrawImageQuad_},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawImageQuad_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawImageQuad_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawImageQuad__spec = {
  "dearcygui.core.DrawImageQuad_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawImageQuad__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawImageQuad_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawImageQuad_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawImageQuad_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_DrawImageQuad_, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_DrawImageQuad_, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawImageQuad_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawImageQuad_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawLine_ __pyx_vtable_9dearcygui_4core_DrawLine_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawLine_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawLine_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawLine_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawLine_;
  if (unlikely(__pyx_pw_9dearcygui_4core_9DrawLine__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawLine_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawLine__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawLine__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawLine__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawLine_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawLine_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawLine__spec = {
  "dearcygui.core.DrawLine_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawLine_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawLine__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawLine_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawLine_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawLine_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawLine_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawLine_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawPolyline_ __pyx_vtable_9dearcygui_4core_DrawPolyline_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawPolyline_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawPolyline_;
  new((void*)&(p->points)) std::vector<double4> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_13DrawPolyline__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawPolyline_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *p = (struct __pyx_obj_9dearcygui_4core_DrawPolyline_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawPolyline_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->points);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawPolyline_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawPolyline__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawPolyline__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawPolyline__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawPolyline_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawPolyline_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawPolyline_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawPolyline__spec = {
  "dearcygui.core.DrawPolyline_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawPolyline_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawPolyline__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawPolyline_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawPolyline_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawPolyline_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawPolyline_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawPolyline_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawPolyline_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawPolygon_ __pyx_vtable_9dearcygui_4core_DrawPolygon_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawPolygon_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawPolygon_;
  new((void*)&(p->points)) std::vector<double4> ();
  p->triangulation_indices.data = NULL;
  p->triangulation_indices.memview = NULL;
  if (unlikely(__pyx_pw_9dearcygui_4core_12DrawPolygon__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawPolygon_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *p = (struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawPolygon_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->points);
  __PYX_XCLEAR_MEMVIEW(&p->triangulation_indices, 1);
  p->triangulation_indices.memview = NULL; p->triangulation_indices.data = NULL;
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawPolygon_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawPolygon__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawPolygon__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawPolygon__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawPolygon_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawPolygon_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawPolygon_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawPolygon__spec = {
  "dearcygui.core.DrawPolygon_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawPolygon_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawPolygon__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawPolygon_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawPolygon_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawPolygon_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawPolygon_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawPolygon_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawPolygon_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawQuad_ __pyx_vtable_9dearcygui_4core_DrawQuad_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawQuad_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawQuad_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawQuad_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawQuad_;
  if (unlikely(__pyx_pw_9dearcygui_4core_9DrawQuad__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawQuad_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawQuad__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawQuad__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawQuad__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawQuad_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawQuad_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawQuad__spec = {
  "dearcygui.core.DrawQuad_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawQuad_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawQuad__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawQuad_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawQuad_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawQuad_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawQuad_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawQuad_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawRect_ __pyx_vtable_9dearcygui_4core_DrawRect_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawRect_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawRect_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawRect_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawRect_;
  if (unlikely(__pyx_pw_9dearcygui_4core_9DrawRect__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawRect_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawRect__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawRect__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawRect__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawRect_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawRect_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawRect__spec = {
  "dearcygui.core.DrawRect_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawRect_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawRect__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawRect_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawRect_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawRect_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawRect_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawRect_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawText_ __pyx_vtable_9dearcygui_4core_DrawText_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawText_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawText_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawText_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawText_;
  new((void*)&(p->text)) std::string();
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_9DrawText__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawText_(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawText_ *p = (struct __pyx_obj_9dearcygui_4core_DrawText_ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawText_) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->text);
  Py_CLEAR(p->_font);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_DrawText_(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_DrawText_ *p = (struct __pyx_obj_9dearcygui_4core_DrawText_ *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_font) {
    e = (*v)(((PyObject *)p->_font), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_DrawText_(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_DrawText_ *p = (struct __pyx_obj_9dearcygui_4core_DrawText_ *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->_font);
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawText_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawText__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9DrawText__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawText__slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawText_},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_DrawText_},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_DrawText_},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawText_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawText_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawText__spec = {
  "dearcygui.core.DrawText_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawText_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawText__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawText_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawText_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawText_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawText_, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_DrawText_, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_DrawText_, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawText_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawText_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawTriangle_ __pyx_vtable_9dearcygui_4core_DrawTriangle_;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawTriangle_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawTriangle_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawTriangle_;
  if (unlikely(__pyx_pw_9dearcygui_4core_13DrawTriangle__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawTriangle_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawTriangle__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13DrawTriangle__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawTriangle__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawTriangle_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawTriangle_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawTriangle__spec = {
  "dearcygui.core.DrawTriangle_",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawTriangle_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawTriangle__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawTriangle_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawTriangle_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawTriangle_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawTriangle_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawTriangle_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInvisibleButton __pyx_vtable_9dearcygui_4core_DrawInvisibleButton;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInvisibleButton(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_drawingItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawInvisibleButton;
  new((void*)&(p->state)) struct __pyx_t_9dearcygui_4core_itemState();
  new((void*)&(p->initial_mouse_position)) ImVec2();
  if (unlikely(__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_DrawInvisibleButton(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *p = (struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_DrawInvisibleButton) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->state);
  __Pyx_call_destructor(p->initial_mouse_position);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_p1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_p1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_p2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_p2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_2p2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_min_side(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_min_side(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8min_side_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_max_side(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_max_side(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8max_side_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_handlers(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_handlers(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8handlers_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_activated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9activated_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_active(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_6active_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_clicked(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7clicked_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_double_clicked(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_14double_clicked_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_deactivated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_11deactivated_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_hovered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7hovered_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_viewport(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_15pos_to_viewport_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_window(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_window_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_parent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13pos_to_parent_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_rect_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_9rect_size_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_resized(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_7resized_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_no_input(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_no_input(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_8no_input_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_capture_mouse(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_capture_mouse(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_19DrawInvisibleButton_13capture_mouse_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawInvisibleButton[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_DrawInvisibleButton[] = {
  {(char *)"button", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_button, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_button, (char *)PyDoc_STR("\n        Mouse button mask that makes the invisible button\n        active and triggers the item's callback.\n\n        Default is left-click.\n\n        The mask is an (OR) combination of\n        1: left button\n        2: right button\n        4: middle button\n        "), 0},
  {(char *)"p1", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_p1, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_p1, (char *)PyDoc_STR("\n        Corner of the invisible button in plot/drawing\n        space\n        "), 0},
  {(char *)"p2", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_p2, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_p2, (char *)PyDoc_STR("\n        Opposite corner of the invisible button in plot/drawing\n        space\n        "), 0},
  {(char *)"min_side", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_min_side, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_min_side, (char *)PyDoc_STR("\n        If the rectangle width or height after\n        coordinate transform is lower than this,\n        resize the screen space transformed coordinates\n        such that the width/height are at least min_side.\n        Retains original ratio.\n        "), 0},
  {(char *)"max_side", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_max_side, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_max_side, (char *)PyDoc_STR("\n        If the rectangle width or height after\n        coordinate transform is higher than this,\n        resize the screen space transformed coordinates\n        such that the width/height are at max max_side.\n        Retains original ratio.\n        "), 0},
  {(char *)"handlers", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_handlers, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_handlers, (char *)PyDoc_STR("\n        Writable attribute: bound handlers for the item.\n        If read returns a list of handlers. Accept\n        a handler or a list of handlers as input.\n        This enables to do item.handlers += [new_handler].\n        "), 0},
  {(char *)"activated", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_activated, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the button just been pressed\n        "), 0},
  {(char *)"active", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_active, 0, (char *)PyDoc_STR("\n        Readonly attribute: is the button held\n        "), 0},
  {(char *)"clicked", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_clicked, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been clicked.\n        The returned value is a tuple of len 5 containing the individual test\n        mouse buttons (up to 5 buttons)\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"double_clicked", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_double_clicked, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been double-clicked.\n        The returned value is a tuple of len 5 containing the individual test\n        mouse buttons (up to 5 buttons)\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"deactivated", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_deactivated, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the button just been unpressed\n        "), 0},
  {(char *)"hovered", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_hovered, 0, (char *)PyDoc_STR("\n        Readonly attribute: Is the mouse inside area\n        "), 0},
  {(char *)"pos_to_viewport", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_viewport, 0, (char *)PyDoc_STR("\n        Readonly attribute:\n        Current screen-space position of the top left\n        of the item's rectangle. Basically the coordinate relative\n        to the top left of the viewport.\n        "), 0},
  {(char *)"pos_to_window", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_window, 0, (char *)PyDoc_STR("\n        Readonly attribute:\n        Relative position to the window's starting inner\n        content area.\n        "), 0},
  {(char *)"pos_to_parent", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_pos_to_parent, 0, (char *)PyDoc_STR("\n        Readonly attribute:\n        Relative position to latest non-drawing parent\n        "), 0},
  {(char *)"rect_size", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_rect_size, 0, (char *)PyDoc_STR("\n        Readonly attribute: actual (width, height) of the item on screen\n        "), 0},
  {(char *)"resized", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_resized, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item size just changed\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"no_input", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_no_input, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_no_input, (char *)PyDoc_STR("\n        Writable attribute: If enabled, this item will not\n        detect hovering or activation, thus letting other\n        items taking the inputs.\n\n        This is useful to use no_input - rather than show=False,\n        if you want to still have handlers run if the item\n        is in the visible region.\n        "), 0},
  {(char *)"capture_mouse", __pyx_getprop_9dearcygui_4core_19DrawInvisibleButton_capture_mouse, __pyx_setprop_9dearcygui_4core_19DrawInvisibleButton_capture_mouse, (char *)PyDoc_STR("\n        Writable attribute: If set, the item will\n        capture the mouse if hovered even if another\n        item was already active.\n\n        As it is not in general a good behaviour (and\n        will not behave well if several items with this\n        state are overlapping),\n        this is reset to False every frame.\n\n        Default is True on creation. Thus creating an item\n        in front of the mouse will capture it.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawInvisibleButton_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_DrawInvisibleButton},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Invisible rectangular area, parallel to axes, behaving\n    like a button (using imgui default handling of buttons).\n\n    Unlike other Draw items, this item accepts handlers and callbacks.\n\n    DrawInvisibleButton can be overlapped on top of each other. In that\n    case only one will be considered hovered. This one corresponds to the\n    last one of the rendering tree that is hovered. If the button is\n    considered active (see below), it retains the hover status to itself.\n    Thus if you drag an invisible button on top of items later in the\n    rendering tree, they will not be considered hovered.\n\n    Note that only the mouse button(s) that trigger activation will\n    have the above described behaviour for hover tests. If the mouse\n    doesn't hover anymore the item, it will remain active as long\n    as the configured buttons are pressed.\n\n    When inside a plot, drag deltas are returned in plot coordinates,\n    that is the deltas correspond to the deltas you must apply\n    to your drawing coordinates compared to their original position\n    to apply the dragging. When not in a plot, the drag deltas are\n    in screen coordinates, and you must convert yourself to drawing\n    coordinates if you are applying matrix transforms to your data.\n    Generally matrix transforms are not well supported by\n    DrawInvisibleButtons, and the shifted position that is updated\n    during dragging might be invalid.\n\n    Dragging handlers will not be triggered if the item is not active\n    (unlike normal imgui items).\n\n    If you create a DrawInvisibleButton in front of the mouse while\n    the mouse is clicked with one of the activation buttons, it will\n    steal hovering and activation tests. This is not the case of other\n    gui items (except modal windows).\n\n    If your Draw Button is not part of a window (ViewportDrawList),\n    the hovering test might not be reliable (except specific case above).\n\n    DrawInvisibleButton accepts children."" In that case, the children\n    are drawn relative to the coordinates of the DrawInvisibleButton,\n    where top left is (0, 0) and bottom right is (1, 1).\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawInvisibleButton},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_DrawInvisibleButton},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawInvisibleButton},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawInvisibleButton_spec = {
  "dearcygui.core.DrawInvisibleButton",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawInvisibleButton_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawInvisibleButton = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawInvisibleButton", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_DrawInvisibleButton, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Invisible rectangular area, parallel to axes, behaving\n    like a button (using imgui default handling of buttons).\n\n    Unlike other Draw items, this item accepts handlers and callbacks.\n\n    DrawInvisibleButton can be overlapped on top of each other. In that\n    case only one will be considered hovered. This one corresponds to the\n    last one of the rendering tree that is hovered. If the button is\n    considered active (see below), it retains the hover status to itself.\n    Thus if you drag an invisible button on top of items later in the\n    rendering tree, they will not be considered hovered.\n\n    Note that only the mouse button(s) that trigger activation will\n    have the above described behaviour for hover tests. If the mouse\n    doesn't hover anymore the item, it will remain active as long\n    as the configured buttons are pressed.\n\n    When inside a plot, drag deltas are returned in plot coordinates,\n    that is the deltas correspond to the deltas you must apply\n    to your drawing coordinates compared to their original position\n    to apply the dragging. When not in a plot, the drag deltas are\n    in screen coordinates, and you must convert yourself to drawing\n    coordinates if you are applying matrix transforms to your data.\n    Generally matrix transforms are not well supported by\n    DrawInvisibleButtons, and the shifted position that is updated\n    during dragging might be invalid.\n\n    Dragging handlers will not be triggered if the item is not active\n    (unlike normal imgui items).\n\n    If you create a DrawInvisibleButton in front of the mouse while\n    the mouse is clicked with one of the activation buttons, it will\n    steal hovering and activation tests. This is not the case of other\n    gui items (except modal windows).\n\n    If your Draw Button is not part of a window (ViewportDrawList),\n    the hovering test might not be reliable (except specific case above).\n\n    DrawInvisibleButton accepts children."" In that case, the children\n    are drawn relative to the coordinates of the DrawInvisibleButton,\n    where top left is (0, 0) and bottom right is (1, 1).\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawInvisibleButton, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_DrawInvisibleButton, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawInvisibleButton, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ViewportDrawList_ __pyx_vtable_9dearcygui_4core_ViewportDrawList_;

static PyObject *__pyx_tp_new_9dearcygui_4core_ViewportDrawList_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ViewportDrawList_;
  if (unlikely(__pyx_pw_9dearcygui_4core_17ViewportDrawList__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ViewportDrawList_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ViewportDrawList__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ViewportDrawList_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ViewportDrawList_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ViewportDrawList__spec = {
  "dearcygui.core.ViewportDrawList_",
  sizeof(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ViewportDrawList__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ViewportDrawList_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ViewportDrawList_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ViewportDrawList_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ViewportDrawList_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedValue __pyx_vtable_9dearcygui_4core_SharedValue;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedValue *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)o);
  p->__pyx_vtab = __pyx_vtabptr_9dearcygui_4core_SharedValue;
  new((void*)&(p->mutex)) std::recursive_mutex();
  p->context = ((struct __pyx_obj_9dearcygui_4core_Context *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_11SharedValue_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_SharedValue(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_SharedValue *p = (struct __pyx_obj_9dearcygui_4core_SharedValue *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_SharedValue) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->mutex);
  Py_CLEAR(p->context);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_9dearcygui_4core_SharedValue(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_SharedValue *p = (struct __pyx_obj_9dearcygui_4core_SharedValue *)o;
  if (p->context) {
    e = (*v)(((PyObject *)p->context), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_SharedValue(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_SharedValue *p = (struct __pyx_obj_9dearcygui_4core_SharedValue *)o;
  tmp = ((PyObject*)p->context);
  p->context = ((struct __pyx_obj_9dearcygui_4core_Context *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedValue_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11SharedValue_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11SharedValue_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedValue_shareable_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedValue_15shareable_value_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedValue_last_frame_update(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_update_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedValue_last_frame_change(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedValue_17last_frame_change_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedValue_num_attached(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedValue_12num_attached_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedValue[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedValue_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedValue_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedValue[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_11SharedValue_value, __pyx_setprop_9dearcygui_4core_11SharedValue_value, (char *)0, 0},
  {(char *)"shareable_value", __pyx_getprop_9dearcygui_4core_11SharedValue_shareable_value, 0, (char *)0, 0},
  {(char *)"last_frame_update", __pyx_getprop_9dearcygui_4core_11SharedValue_last_frame_update, 0, (char *)PyDoc_STR("\n        Readable attribute: last frame index when the value\n        was updated (can be identical value).\n        "), 0},
  {(char *)"last_frame_change", __pyx_getprop_9dearcygui_4core_11SharedValue_last_frame_change, 0, (char *)PyDoc_STR("\n        Readable attribute: last frame index when the value\n        was changed (different value).\n        For non-scalar data (color, point, vector), equals to\n        last_frame_update to avoid heavy comparisons.\n        "), 0},
  {(char *)"num_attached", __pyx_getprop_9dearcygui_4core_11SharedValue_num_attached, 0, (char *)PyDoc_STR("\n        Readable attribute: Number of items sharing this value\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedValue_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_SharedValue},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedValue},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedValue},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_11SharedValue_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedValue},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedValue_spec = {
  "dearcygui.core.SharedValue",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedValue_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedValue", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_11SharedValue_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedBool __pyx_vtable_9dearcygui_4core_SharedBool;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedBool(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedBool *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedBool *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedBool;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SharedBool_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SharedBool_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SharedBool_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SharedBool_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedBool[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedBool_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedBool_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedBool[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_10SharedBool_value, __pyx_setprop_9dearcygui_4core_10SharedBool_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedBool_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedBool},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedBool},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_10SharedBool_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedBool},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedBool_spec = {
  "dearcygui.core.SharedBool",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedBool),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedBool_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedBool = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedBool", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedBool), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedBool, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedBool, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_10SharedBool_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedBool, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat __pyx_vtable_9dearcygui_4core_SharedFloat;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloat(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedFloat *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedFloat *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedFloat;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedFloat_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedFloat_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11SharedFloat_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11SharedFloat_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedFloat[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedFloat_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedFloat_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedFloat[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_11SharedFloat_value, __pyx_setprop_9dearcygui_4core_11SharedFloat_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedFloat_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedFloat},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedFloat},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_11SharedFloat_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedFloat},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedFloat_spec = {
  "dearcygui.core.SharedFloat",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloat),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedFloat_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedFloat = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedFloat", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloat), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedFloat, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedFloat, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_11SharedFloat_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedFloat, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedInt __pyx_vtable_9dearcygui_4core_SharedInt;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedInt(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedInt *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedInt *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedInt;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_9SharedInt_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9SharedInt_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9SharedInt_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9SharedInt_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedInt[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedInt_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedInt_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedInt[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_9SharedInt_value, __pyx_setprop_9dearcygui_4core_9SharedInt_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedInt_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedInt},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedInt},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_9SharedInt_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedInt},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedInt_spec = {
  "dearcygui.core.SharedInt",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedInt),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedInt_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedInt = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedInt", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedInt), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedInt, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedInt, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_9SharedInt_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedInt, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedColor __pyx_vtable_9dearcygui_4core_SharedColor;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedColor(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedColor *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedColor *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedColor;
  new((void*)&(p->_value_asfloat4)) ImVec4();
  return o;
}

static void __pyx_tp_dealloc_9dearcygui_4core_SharedColor(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_SharedColor *p = (struct __pyx_obj_9dearcygui_4core_SharedColor *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_SharedColor) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_value_asfloat4);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11SharedColor_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11SharedColor_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11SharedColor_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11SharedColor_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedColor[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedColor_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11SharedColor_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedColor[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_11SharedColor_value, __pyx_setprop_9dearcygui_4core_11SharedColor_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedColor_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_SharedColor},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedColor},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedColor},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_11SharedColor_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedColor},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedColor_spec = {
  "dearcygui.core.SharedColor",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedColor),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedColor_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedColor = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedColor", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedColor), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedColor, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedColor, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedColor, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_11SharedColor_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedColor, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble __pyx_vtable_9dearcygui_4core_SharedDouble;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedDouble(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedDouble *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedDouble *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedDouble;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_12SharedDouble_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_12SharedDouble_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_12SharedDouble_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_12SharedDouble_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedDouble[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedDouble_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedDouble_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedDouble[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_12SharedDouble_value, __pyx_setprop_9dearcygui_4core_12SharedDouble_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedDouble_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedDouble},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedDouble},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_12SharedDouble_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedDouble},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedDouble_spec = {
  "dearcygui.core.SharedDouble",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedDouble),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedDouble_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedDouble = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedDouble", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedDouble), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedDouble, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedDouble, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_12SharedDouble_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedDouble, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedStr __pyx_vtable_9dearcygui_4core_SharedStr;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedStr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedStr *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedStr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedStr;
  new((void*)&(p->_value)) std::string();
  return o;
}

static void __pyx_tp_dealloc_9dearcygui_4core_SharedStr(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_SharedStr *p = (struct __pyx_obj_9dearcygui_4core_SharedStr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_SharedStr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_value);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_9SharedStr_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9SharedStr_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9SharedStr_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9SharedStr_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedStr[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedStr_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9SharedStr_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedStr[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_9SharedStr_value, __pyx_setprop_9dearcygui_4core_9SharedStr_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedStr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_SharedStr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedStr},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedStr},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_9SharedStr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedStr},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedStr_spec = {
  "dearcygui.core.SharedStr",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedStr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedStr_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedStr = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedStr", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedStr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedStr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedStr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedStr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_9SharedStr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedStr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloat4 __pyx_vtable_9dearcygui_4core_SharedFloat4;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloat4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedFloat4 *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedFloat4 *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedFloat4;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_12SharedFloat4_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_12SharedFloat4_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_12SharedFloat4_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_12SharedFloat4_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedFloat4[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedFloat4_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12SharedFloat4_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedFloat4[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_12SharedFloat4_value, __pyx_setprop_9dearcygui_4core_12SharedFloat4_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedFloat4_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedFloat4},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedFloat4},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_12SharedFloat4_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedFloat4},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedFloat4_spec = {
  "dearcygui.core.SharedFloat4",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloat4),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedFloat4_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedFloat4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedFloat4", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloat4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedFloat4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedFloat4, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_12SharedFloat4_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedFloat4, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedInt4 __pyx_vtable_9dearcygui_4core_SharedInt4;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedInt4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedInt4 *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedInt4 *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedInt4;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SharedInt4_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SharedInt4_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SharedInt4_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SharedInt4_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedInt4[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedInt4_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SharedInt4_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedInt4[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_10SharedInt4_value, __pyx_setprop_9dearcygui_4core_10SharedInt4_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedInt4_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedInt4},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedInt4},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_10SharedInt4_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedInt4},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedInt4_spec = {
  "dearcygui.core.SharedInt4",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedInt4),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedInt4_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedInt4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedInt4", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedInt4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedInt4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedInt4, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_10SharedInt4_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedInt4, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedDouble4 __pyx_vtable_9dearcygui_4core_SharedDouble4;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedDouble4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedDouble4 *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedDouble4 *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedDouble4;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_13SharedDouble4_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_13SharedDouble4_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_13SharedDouble4_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_13SharedDouble4_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedDouble4[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13SharedDouble4_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13SharedDouble4_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedDouble4[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_13SharedDouble4_value, __pyx_setprop_9dearcygui_4core_13SharedDouble4_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedDouble4_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedValue},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedValue},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedDouble4},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedDouble4},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_13SharedDouble4_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedDouble4},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedDouble4_spec = {
  "dearcygui.core.SharedDouble4",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedDouble4),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedDouble4_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedDouble4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedDouble4", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedDouble4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedValue, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedDouble4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedDouble4, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_13SharedDouble4_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedDouble4, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SharedFloatVect __pyx_vtable_9dearcygui_4core_SharedFloatVect;

static PyObject *__pyx_tp_new_9dearcygui_4core_SharedFloatVect(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SharedFloatVect *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_SharedValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_SharedValue*)__pyx_vtabptr_9dearcygui_4core_SharedFloatVect;
  p->_value_np = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  p->_value.data = NULL;
  p->_value.memview = NULL;
  return o;
}

static void __pyx_tp_dealloc_9dearcygui_4core_SharedFloatVect(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_SharedFloatVect *p = (struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_SharedFloatVect) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_value_np);
  __PYX_XCLEAR_MEMVIEW(&p->_value, 1);
  p->_value.memview = NULL; p->_value.data = NULL;
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_SharedValue(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_SharedFloatVect(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_SharedFloatVect *p = (struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_SharedValue(o, v, a); if (e) return e;
  if (p->_value_np) {
    e = (*v)(((PyObject *)p->_value_np), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_SharedFloatVect(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_SharedFloatVect *p = (struct __pyx_obj_9dearcygui_4core_SharedFloatVect *)o;
  __pyx_tp_clear_9dearcygui_4core_SharedValue(o);
  tmp = ((PyObject*)p->_value_np);
  p->_value_np = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_15SharedFloatVect_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_15SharedFloatVect_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_15SharedFloatVect_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SharedFloatVect[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SharedFloatVect[] = {
  {(char *)"value", __pyx_getprop_9dearcygui_4core_15SharedFloatVect_value, __pyx_setprop_9dearcygui_4core_15SharedFloatVect_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SharedFloatVect_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_SharedFloatVect},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_SharedFloatVect},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_SharedFloatVect},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SharedFloatVect},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SharedFloatVect},
  {Py_tp_init, (void *)__pyx_pw_9dearcygui_4core_15SharedFloatVect_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SharedFloatVect},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SharedFloatVect_spec = {
  "dearcygui.core.SharedFloatVect",
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloatVect),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SharedFloatVect_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SharedFloatVect = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SharedFloatVect", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SharedFloatVect), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SharedFloatVect, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_SharedFloatVect, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_SharedFloatVect, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SharedFloatVect, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SharedFloatVect, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9dearcygui_4core_15SharedFloatVect_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SharedFloatVect, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_baseHandler __pyx_vtable_9dearcygui_4core_baseHandler;

static PyObject *__pyx_tp_new_9dearcygui_4core_baseHandler(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_baseHandler *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_baseHandler;
  p->_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_11baseHandler_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_baseHandler(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_baseHandler *p = (struct __pyx_obj_9dearcygui_4core_baseHandler *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_baseHandler) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_callback);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_baseHandler(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_baseHandler *p = (struct __pyx_obj_9dearcygui_4core_baseHandler *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_callback) {
    e = (*v)(((PyObject *)p->_callback), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_baseHandler(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_baseHandler *p = (struct __pyx_obj_9dearcygui_4core_baseHandler *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->_callback);
  p->_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11baseHandler_enabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11baseHandler_7enabled_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11baseHandler_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11baseHandler_7enabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11baseHandler_show(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11baseHandler_4show_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11baseHandler_show(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11baseHandler_4show_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11baseHandler_callback(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11baseHandler_8callback_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11baseHandler_callback(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11baseHandler_8callback_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_baseHandler[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11baseHandler_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11baseHandler_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_baseHandler[] = {
  {(char *)"enabled", __pyx_getprop_9dearcygui_4core_11baseHandler_enabled, __pyx_setprop_9dearcygui_4core_11baseHandler_enabled, (char *)0, 0},
  {(char *)"show", __pyx_getprop_9dearcygui_4core_11baseHandler_show, __pyx_setprop_9dearcygui_4core_11baseHandler_show, (char *)0, 0},
  {(char *)"callback", __pyx_getprop_9dearcygui_4core_11baseHandler_callback, __pyx_setprop_9dearcygui_4core_11baseHandler_callback, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_baseHandler_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_baseHandler},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_baseHandler},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_baseHandler},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_baseHandler},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_baseHandler_spec = {
  "dearcygui.core.baseHandler",
  sizeof(struct __pyx_obj_9dearcygui_4core_baseHandler),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_baseHandler_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_baseHandler = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""baseHandler", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_baseHandler), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_baseHandler, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_baseHandler, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_baseHandler, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_KeyDownHandler_ __pyx_vtable_9dearcygui_4core_KeyDownHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_KeyDownHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_KeyDownHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_KeyDownHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_15KeyDownHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_KeyDownHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_KeyDownHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_KeyDownHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_KeyDownHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_KeyDownHandler__spec = {
  "dearcygui.core.KeyDownHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_KeyDownHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_KeyDownHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""KeyDownHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_KeyDownHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_KeyDownHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_KeyPressHandler_ __pyx_vtable_9dearcygui_4core_KeyPressHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_KeyPressHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_KeyPressHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_KeyPressHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_16KeyPressHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_KeyPressHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_KeyPressHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_KeyPressHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_KeyPressHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_KeyPressHandler__spec = {
  "dearcygui.core.KeyPressHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_KeyPressHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_KeyPressHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""KeyPressHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_KeyPressHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_KeyPressHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_KeyReleaseHandler_ __pyx_vtable_9dearcygui_4core_KeyReleaseHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_KeyReleaseHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_KeyReleaseHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_KeyReleaseHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_KeyReleaseHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_KeyReleaseHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_KeyReleaseHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_KeyReleaseHandler__spec = {
  "dearcygui.core.KeyReleaseHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_KeyReleaseHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_KeyReleaseHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""KeyReleaseHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_KeyReleaseHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_KeyReleaseHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseClickHandler_ __pyx_vtable_9dearcygui_4core_MouseClickHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseClickHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseClickHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseClickHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_18MouseClickHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseClickHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseClickHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseClickHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseClickHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseClickHandler__spec = {
  "dearcygui.core.MouseClickHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseClickHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseClickHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseClickHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseClickHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseClickHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDoubleClickHandler_ __pyx_vtable_9dearcygui_4core_MouseDoubleClickHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDoubleClickHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseDoubleClickHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseDoubleClickHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseDoubleClickHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseDoubleClickHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseDoubleClickHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseDoubleClickHandler__spec = {
  "dearcygui.core.MouseDoubleClickHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseDoubleClickHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseDoubleClickHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseDoubleClickHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseDoubleClickHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseDoubleClickHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDownHandler_ __pyx_vtable_9dearcygui_4core_MouseDownHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDownHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseDownHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseDownHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_17MouseDownHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseDownHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseDownHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseDownHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseDownHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseDownHandler__spec = {
  "dearcygui.core.MouseDownHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseDownHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseDownHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseDownHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseDownHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseDownHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseDragHandler_ __pyx_vtable_9dearcygui_4core_MouseDragHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseDragHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseDragHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseDragHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_17MouseDragHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseDragHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseDragHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseDragHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseDragHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseDragHandler__spec = {
  "dearcygui.core.MouseDragHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseDragHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseDragHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseDragHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseDragHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseDragHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseMoveHandler __pyx_vtable_9dearcygui_4core_MouseMoveHandler;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseMoveHandler(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseMoveHandler *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseMoveHandler;
  return o;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseMoveHandler[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseMoveHandler_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseMoveHandler},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseMoveHandler},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseMoveHandler_spec = {
  "dearcygui.core.MouseMoveHandler",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseMoveHandler),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseMoveHandler_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseMoveHandler = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseMoveHandler", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseMoveHandler), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseMoveHandler, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseMoveHandler, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseReleaseHandler_ __pyx_vtable_9dearcygui_4core_MouseReleaseHandler_;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseReleaseHandler_(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_ *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseReleaseHandler_;
  if (unlikely(__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseReleaseHandler_[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseReleaseHandler__slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseReleaseHandler_},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseReleaseHandler_},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseReleaseHandler__spec = {
  "dearcygui.core.MouseReleaseHandler_",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseReleaseHandler__slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseReleaseHandler_ = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseReleaseHandler_", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseReleaseHandler_, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseReleaseHandler_, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MouseWheelHandler __pyx_vtable_9dearcygui_4core_MouseWheelHandler;

static PyObject *__pyx_tp_new_9dearcygui_4core_MouseWheelHandler(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseHandler(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MouseWheelHandler *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MouseWheelHandler;
  if (unlikely(__pyx_pw_9dearcygui_4core_17MouseWheelHandler_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_17MouseWheelHandler_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_17MouseWheelHandler_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_17MouseWheelHandler_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MouseWheelHandler[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_MouseWheelHandler[] = {
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_17MouseWheelHandler_horizontal, __pyx_setprop_9dearcygui_4core_17MouseWheelHandler_horizontal, (char *)PyDoc_STR("\n        Whether to look at the horizontal wheel\n        instead of the vertical wheel.\n\n        NOTE: Shift+ vertical wheel => horizontal wheel\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MouseWheelHandler_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseHandler},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseHandler},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MouseWheelHandler},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_MouseWheelHandler},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MouseWheelHandler},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MouseWheelHandler_spec = {
  "dearcygui.core.MouseWheelHandler",
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MouseWheelHandler_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MouseWheelHandler = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MouseWheelHandler", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseHandler, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseHandler, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseHandler, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MouseWheelHandler, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_MouseWheelHandler, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MouseWheelHandler, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_uiItem __pyx_vtable_9dearcygui_4core_uiItem;

static PyObject *__pyx_tp_new_9dearcygui_4core_uiItem(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_uiItem *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_uiItem *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_uiItem;
  new((void*)&(p->imgui_label)) std::string();
  new((void*)&(p->state)) struct __pyx_t_9dearcygui_4core_itemState();
  new((void*)&(p->payloadType)) std::string();
  new((void*)&(p->requested_size)) ImVec2();
  new((void*)&(p->_callbacks)) std::vector<PyObject *> ();
  p->user_label = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->dragCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  p->dropCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  p->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  p->_value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_6uiItem_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_uiItem(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_uiItem *p = (struct __pyx_obj_9dearcygui_4core_uiItem *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_uiItem) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9dearcygui_4core_6uiItem_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->imgui_label);
  __Pyx_call_destructor(p->state);
  __Pyx_call_destructor(p->payloadType);
  __Pyx_call_destructor(p->requested_size);
  __Pyx_call_destructor(p->_callbacks);
  Py_CLEAR(p->user_label);
  Py_CLEAR(p->dragCallback);
  Py_CLEAR(p->dropCallback);
  Py_CLEAR(p->_font);
  Py_CLEAR(p->_theme);
  Py_CLEAR(p->_value);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_uiItem(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_uiItem *p = (struct __pyx_obj_9dearcygui_4core_uiItem *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->dragCallback) {
    e = (*v)(((PyObject *)p->dragCallback), a); if (e) return e;
  }
  if (p->dropCallback) {
    e = (*v)(((PyObject *)p->dropCallback), a); if (e) return e;
  }
  if (p->_font) {
    e = (*v)(((PyObject *)p->_font), a); if (e) return e;
  }
  if (p->_theme) {
    e = (*v)(((PyObject *)p->_theme), a); if (e) return e;
  }
  if (p->_value) {
    e = (*v)(((PyObject *)p->_value), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_uiItem(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_uiItem *p = (struct __pyx_obj_9dearcygui_4core_uiItem *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->dragCallback);
  p->dragCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->dropCallback);
  p->dropCallback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_font);
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_theme);
  p->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_9dearcygui_4core_SharedValue *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_active(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_6active_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_activated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_9activated_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_clicked(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7clicked_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_double_clicked(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_14double_clicked_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_deactivated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_11deactivated_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_deactivated_after_edited(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_24deactivated_after_edited_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_edited(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_6edited_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_focused(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7focused_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_focused(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_7focused_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_hovered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7hovered_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_resized(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7resized_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_toggled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7toggled_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_visible(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7visible_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_callbacks(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_9callbacks_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_callbacks(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_9callbacks_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_enabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_7enabled_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_7enabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_font(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_4font_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_font(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_4font_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_5label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_5label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_5value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_shareable_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_shareable_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_15shareable_value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_show(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_4show_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_show(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_4show_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_handlers(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_8handlers_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_handlers(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_8handlers_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_theme(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_5theme_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_theme(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_5theme_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_pos_to_viewport(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_viewport(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_15pos_to_viewport_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_pos_to_window(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_window(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_window_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_pos_to_parent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_parent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_13pos_to_parent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_pos_to_default(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_default(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_14pos_to_default_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_rect_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_9rect_size_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_content_region_avail(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_20content_region_avail_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_pos_policy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_pos_policy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_10pos_policy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_6height_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_5width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_indent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_6indent_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_indent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_6indent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6uiItem_no_newline(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6uiItem_10no_newline_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6uiItem_no_newline(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6uiItem_10no_newline_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_uiItem[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_6uiItem_5configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__dir__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_7__dir__, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6uiItem_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_uiItem[] = {
  {(char *)"active", __pyx_getprop_9dearcygui_4core_6uiItem_active, 0, (char *)PyDoc_STR("\n        Readonly attribute: is the item active.\n        For example for a button, it is when pressed. For tabs\n        it is when selected, etc.\n        "), 0},
  {(char *)"activated", __pyx_getprop_9dearcygui_4core_6uiItem_activated, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just turned active\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"clicked", __pyx_getprop_9dearcygui_4core_6uiItem_clicked, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been clicked.\n        The returned value is a tuple of len 5 containing the individual test\n        mouse buttons (up to 5 buttons)\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"double_clicked", __pyx_getprop_9dearcygui_4core_6uiItem_double_clicked, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been double-clicked.\n        The returned value is a tuple of len 5 containing the individual test\n        mouse buttons (up to 5 buttons)\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"deactivated", __pyx_getprop_9dearcygui_4core_6uiItem_deactivated, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just turned un-active\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"deactivated_after_edited", __pyx_getprop_9dearcygui_4core_6uiItem_deactivated_after_edited, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just turned un-active after having\n        been edited.\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"edited", __pyx_getprop_9dearcygui_4core_6uiItem_edited, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been edited ?\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"focused", __pyx_getprop_9dearcygui_4core_6uiItem_focused, __pyx_setprop_9dearcygui_4core_6uiItem_focused, (char *)PyDoc_STR("\n        Writable attribute: Is the item focused ?\n        For windows it means the window is at the top,\n        while for items it could mean the keyboard inputs are redirected to it.\n        "), 0},
  {(char *)"hovered", __pyx_getprop_9dearcygui_4core_6uiItem_hovered, 0, (char *)PyDoc_STR("\n        Readonly attribute: Is the mouse inside the region of the item.\n        Only one element is hovered at a time, thus\n        subitems/subwindows take priority over their parent.\n        "), 0},
  {(char *)"resized", __pyx_getprop_9dearcygui_4core_6uiItem_resized, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item size just changed\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"toggled", __pyx_getprop_9dearcygui_4core_6uiItem_toggled, 0, (char *)PyDoc_STR("\n        Has a menu/bar trigger been hit for the item\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"visible", __pyx_getprop_9dearcygui_4core_6uiItem_visible, 0, (char *)PyDoc_STR("\n        True if the item was rendered (inside the rendering region + show = True\n        for the item and its ancestors). Note when an item is not visible,\n        rendering is skipped (as well as running their handlers, etc).\n        "), 0},
  {(char *)"callbacks", __pyx_getprop_9dearcygui_4core_6uiItem_callbacks, __pyx_setprop_9dearcygui_4core_6uiItem_callbacks, (char *)PyDoc_STR("\n        Writable attribute: callback object or list of callback objects\n        which is called when the value of the item is changed.\n        If read, always returns a list of callbacks. This enables\n        to do item.callbacks += [new_callback]\n        "), 0},
  {(char *)"enabled", __pyx_getprop_9dearcygui_4core_6uiItem_enabled, __pyx_setprop_9dearcygui_4core_6uiItem_enabled, (char *)PyDoc_STR("\n        Writable attribute: Should the object be displayed as enabled ?\n        the enabled state can be used to prevent edition of editable fields,\n        or to use a specific disabled element theme.\n        Note a disabled item is still rendered. Use show=False to hide\n        an object.\n        A disabled item does not react to hovering or clicking.\n        "), 0},
  {(char *)"font", __pyx_getprop_9dearcygui_4core_6uiItem_font, __pyx_setprop_9dearcygui_4core_6uiItem_font, (char *)PyDoc_STR("\n        Writable attribute: font used for the text rendered\n        of this item and its subitems\n        "), 0},
  {(char *)"label", __pyx_getprop_9dearcygui_4core_6uiItem_label, __pyx_setprop_9dearcygui_4core_6uiItem_label, (char *)PyDoc_STR("\n        Writable attribute: label assigned to the item.\n        Used for text fields, window titles, etc\n        "), 0},
  {(char *)"value", __pyx_getprop_9dearcygui_4core_6uiItem_value, __pyx_setprop_9dearcygui_4core_6uiItem_value, (char *)PyDoc_STR("\n        Writable attribute: main internal value for the object.\n        For buttons, it is set when pressed; For text it is the\n        text itself; For selectable whether it is selected, etc.\n        Reading the value attribute returns a copy, while writing\n        to the value attribute will edit the field of the value.\n        In case the value is shared among items, setting the value\n        attribute will change it for all the sharing items.\n        To share a value attribute among objects, one should use\n        the shareable_value attribute\n        "), 0},
  {(char *)"shareable_value", __pyx_getprop_9dearcygui_4core_6uiItem_shareable_value, __pyx_setprop_9dearcygui_4core_6uiItem_shareable_value, (char *)PyDoc_STR("\n        Same as the value field, but rather than a copy of the internal value\n        of the object, return a python object that holds a value field that\n        is in sync with the internal value of the object. This python object\n        can be passed to other items using an internal value of the same\n        type to share it.\n        "), 0},
  {(char *)"show", __pyx_getprop_9dearcygui_4core_6uiItem_show, __pyx_setprop_9dearcygui_4core_6uiItem_show, (char *)PyDoc_STR("\n        Writable attribute: Should the object be drawn/shown ?\n        In case show is set to False, this disables any\n        callback (for example the close callback won't be called\n        if a window is hidden with show = False).\n        In the case of items that can be closed,\n        show is set to False automatically on close.\n        "), 0},
  {(char *)"handlers", __pyx_getprop_9dearcygui_4core_6uiItem_handlers, __pyx_setprop_9dearcygui_4core_6uiItem_handlers, (char *)PyDoc_STR("\n        Writable attribute: bound handlers for the item.\n        If read returns a list of handlers. Accept\n        a handler or a list of handlers as input.\n        This enables to do item.handlers += [new_handler].\n        "), 0},
  {(char *)"theme", __pyx_getprop_9dearcygui_4core_6uiItem_theme, __pyx_setprop_9dearcygui_4core_6uiItem_theme, (char *)PyDoc_STR("\n        Writable attribute: bound theme for the item\n        "), 0},
  {(char *)"pos_to_viewport", __pyx_getprop_9dearcygui_4core_6uiItem_pos_to_viewport, __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_viewport, (char *)PyDoc_STR("\n        Writable attribute:\n        Current screen-space position of the top left\n        of the item's rectangle. Basically the coordinate relative\n        to the top left of the viewport.\n\n        User writing this attribute automatically switches\n        the positioning mode to REL_VIEWPORT position.\n\n        Note that item is still clipped from the parent's clipping\n        region, and thus the item will not be visible if placed\n        outside.\n\n        Setting None to one of component will ignore the update\n        of this component.\n        For example item.pos_to_viewport = (x, None) will only\n        set the horizontal component of the pos_to_viewport position,\n        and update the positioning policy for this component\n        only.\n        "), 0},
  {(char *)"pos_to_window", __pyx_getprop_9dearcygui_4core_6uiItem_pos_to_window, __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_window, (char *)PyDoc_STR("\n        Writable attribute:\n        Relative position to the window's starting inner\n        content area.\n\n        The position corresponds to the top left of the item's\n        rectangle\n\n        User writing this attribute automatically switches\n        the positioning policy to relative position to the\n        window.\n\n        Note that the position may place the item outside the\n        parent's content region, in which case the item is not\n        visible.\n\n        Setting None to one of component will ignore the update\n        of this component.\n        "), 0},
  {(char *)"pos_to_parent", __pyx_getprop_9dearcygui_4core_6uiItem_pos_to_parent, __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_parent, (char *)PyDoc_STR("\n        Writable attribute:\n        Relative position to the parent's position, or to\n        its starting inner content area if any.\n\n        The position corresponds to the top left of the item's\n        rectangle\n\n        User writing this attribute automatically switches\n        the positioning policy to relative position to the\n        parent.\n\n        Note that the position may place the item outside the\n        parent's content region, in which case the item is not\n        visible.\n\n        Setting None to one of component will ignore the update\n        of this component.\n        "), 0},
  {(char *)"pos_to_default", __pyx_getprop_9dearcygui_4core_6uiItem_pos_to_default, __pyx_setprop_9dearcygui_4core_6uiItem_pos_to_default, (char *)PyDoc_STR("\n        Writable attribute:\n        Relative position to the item's default position.\n\n        User set attribute to offset the object relative to\n        the position it would be drawn by default given the other\n        items drawn. The position corresponds to the top left of\n        the item's rectangle.\n\n        User writing this attribute automatically switches the \n        positioning policy to relative to the default position.\n\n        Setting None to one of component will ignore the update\n        of this component.\n        "), 0},
  {(char *)"rect_size", __pyx_getprop_9dearcygui_4core_6uiItem_rect_size, 0, (char *)PyDoc_STR("\n        Readonly attribute: actual (width, height) of the element,\n        including margins.\n\n        The space taken by the item corresponds to a rectangle\n        of size rect_size with top left coordinate\n        the position given by the position fields.\n\n        Not the rect_size refers to the size within the parent\n        window. If a popup menu is opened, it is not included.\n        "), 0},
  {(char *)"content_region_avail", __pyx_getprop_9dearcygui_4core_6uiItem_content_region_avail, 0, (char *)PyDoc_STR("\n        Readonly attribute: For windows, child windows,\n        table cells, etc: Available region.\n\n        Only defined for elements that contain other items.\n        Corresponds to the size inside the item to display\n        other items (regions not shown which can\n        be scrolled are not accounted). Basically the item size\n        minus the margins and borders.\n        "), 0},
  {(char *)"pos_policy", __pyx_getprop_9dearcygui_4core_6uiItem_pos_policy, __pyx_setprop_9dearcygui_4core_6uiItem_pos_policy, (char *)PyDoc_STR("\n        Writable attribute: Positioning policy\n\n        Changing the policy enables the user to\n        change the position of the item relative to\n        its default position.\n\n        - DEFAULT: The item is drawn at the position\n          given by ImGUI's cursor position, which by\n          default is incremented vertically after each item is\n          rendered.\n        - REL_DEFAULT: The item is drawn at the same position\n          as default, but after adding as offset the value\n          contained in the pos_to_default field.\n        - REL_PARENT: The item is rendered at the position\n          contained in the pos_to_parent's field,\n          which is respective to the top left of the content\n          area of the parent.\n        - REL_WINDOW: The item is rendered at the position\n          contained in the pos_to_window's field,\n          which is respective to the top left of the containing\n          window or child window content area.\n        - REL_VIEWPORT: The item is rendered in viewport\n          coordinates, at the position pos_to_viewport.\n\n        Items rendered with the DEFAULT or REL_DEFAULT policy do\n        increment the cursor position, while REL_PARENT, REL_WINDOW\n        and REL_VIEWPORT do not.\n\n        Each axis has it's own positioning policy.\n        pos_policy = DEFAULT will update both policies, why\n        pos_policy = (None, DEFAULT) will only update the vertical\n        axis policy.\n\n        Regardless of the policy, all position fields are updated\n        when the item is rendered. Only the position corresponding to\n        the positioning policy can be expected to remain fixed, with no\n        strong guarantees.\n\n        Since some items react dynamically to the size of their contents,\n        while items react dynamically to the size of their parent, a few\n        frames may be needed for positions to stabilize.\n        "), 0},
  {(char *)"height", __pyx_getprop_9dearcygui_4core_6uiItem_height, __pyx_setprop_9dearcygui_4core_6uiItem_height, (char *)PyDoc_STR("\n        Writable attribute: Requested height of the item.\n        When it is written, it is set to a 'requested value' that is not\n        entirely guaranteed to be enforced.\n        Specific values:\n            . 0 is meant to define the default size. For some items,\n              such as windows, it triggers a fit to the content size.\n               For other items, there is a default size deduced from the\n              style policy. And for some items (such as child windows),\n              it triggers a fit to the full size available within the\n              parent window.\n            . > 0 values is meant as a hint for rect_size.\n            . < 0 values to be interpreted as 'take remaining space\n              of the parent's content region from the current position,\n              and subtract this value'. For example -1 will stretch to the\n              remaining area minus one pixel.\n\n        Note that for some items, the actual rect_size of the element cannot\n        be changed to the requested values (for example Text). In that case, the\n        item is not resized, but it behaves as if it has the requested size in terms\n        of impact on the layout (default position of other items).\n\n        In addition the real height may change if the object is resizable.\n        In this case, the height may be changed back by setting again the value\n        of this field.\n        "), 0},
  {(char *)"width", __pyx_getprop_9dearcygui_4core_6uiItem_width, __pyx_setprop_9dearcygui_4core_6uiItem_width, (char *)PyDoc_STR("\n        Writable attribute: Requested width of the item.\n        When it is written, it is set to a 'requested value' that is not\n        entirely guaranteed to be enforced.\n        Specific values:\n            . 0 is meant to define the default size. For some items,\n              such as windows, it triggers a fit to the content size.\n              For other items, there is a default size deduced from the\n              style policy. And for some items (such as child windows),\n              it triggers a fit to the full size available within the\n              parent window.\n            . > 0 values is meant as a hint for rect_size.\n            . < 0 values to be interpreted as 'take remaining space\n              of the parent's content region from the current position,\n              and subtract this value'. For example -1 will stretch to the\n              remaining area minus one pixel.\n\n        Note that for some items, the actual rect_size of the element cannot\n        be changed to the requested values (for example Text). In that case, the\n        item is not resized, but it behaves as if it has the requested size in terms\n        of impact on the layout (default position of other items).\n\n        In addition the real width may change if the object is resizable.\n        In this case, the width may be changed back by setting again the value\n        of this field.\n        "), 0},
  {(char *)"indent", __pyx_getprop_9dearcygui_4core_6uiItem_indent, __pyx_setprop_9dearcygui_4core_6uiItem_indent, (char *)PyDoc_STR("\n        Writable attribute: Shifts horizontally the DEFAULT\n        position of the item by the requested amount of pixels.\n\n        A value < 0 indicates an indentation of the default size\n        according to the style policy.\n        "), 0},
  {(char *)"no_newline", __pyx_getprop_9dearcygui_4core_6uiItem_no_newline, __pyx_setprop_9dearcygui_4core_6uiItem_no_newline, (char *)PyDoc_STR("\n        Writable attribute: Disables moving the\n        cursor (DEFAULT position) by one line\n        after this item.\n\n        Might be modified by the layout\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_uiItem_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_uiItem},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_uiItem},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_uiItem},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_uiItem},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_uiItem_spec = {
  "dearcygui.core.uiItem",
  sizeof(struct __pyx_obj_9dearcygui_4core_uiItem),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_uiItem_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_uiItem = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""uiItem", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_uiItem), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_uiItem, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_uiItem, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_uiItem, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInWindow __pyx_vtable_9dearcygui_4core_DrawInWindow;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInWindow(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawInWindow *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawInWindow *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawInWindow;
  if (unlikely(__pyx_pw_9dearcygui_4core_12DrawInWindow_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawInWindow[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawInWindow_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12DrawInWindow_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawInWindow_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    An UI item that contains a region for Draw* elements.\n    Enables to insert Draw* Elements inside a window.\n\n    Inside a DrawInWindow elements, the (0, 0) coordinate\n    starts at the top left of the DrawWindow and y increases\n    when going down.\n    The drawing region is clipped by the available width/height\n    of the item (set manually, or deduced).\n\n    An invisible button is created to span the entire drawing\n    area, which is used to retrieve button states on the area\n    (hovering, active, etc). If set, the callback is called when\n    the mouse is pressed inside the area with any of the left,\n    middle or right button.\n    In addition, the use of an invisible button enables the drag\n    and drop behaviour proposed by imgui.\n\n    If you intend on dragging elements inside the drawing area,\n    you can either implement yourself a hovering test for your\n    specific items and use the context's is_mouse_dragging, or\n    add invisible buttons on top of the elements you want to\n    interact with, and combine the active and mouse dragging\n    handlers. Note if you intend to make an element draggable\n    that way, you must not make the element source of a Drag\n    and Drop, as it impacts the hovering tests.\n\n    Note that Drawing items do not have any hovering/clicked/\n    visible/etc tests maintained and thus do not have a callback.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawInWindow},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawInWindow},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawInWindow_spec = {
  "dearcygui.core.DrawInWindow",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInWindow),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawInWindow_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawInWindow = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawInWindow", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInWindow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    An UI item that contains a region for Draw* elements.\n    Enables to insert Draw* Elements inside a window.\n\n    Inside a DrawInWindow elements, the (0, 0) coordinate\n    starts at the top left of the DrawWindow and y increases\n    when going down.\n    The drawing region is clipped by the available width/height\n    of the item (set manually, or deduced).\n\n    An invisible button is created to span the entire drawing\n    area, which is used to retrieve button states on the area\n    (hovering, active, etc). If set, the callback is called when\n    the mouse is pressed inside the area with any of the left,\n    middle or right button.\n    In addition, the use of an invisible button enables the drag\n    and drop behaviour proposed by imgui.\n\n    If you intend on dragging elements inside the drawing area,\n    you can either implement yourself a hovering test for your\n    specific items and use the context's is_mouse_dragging, or\n    add invisible buttons on top of the elements you want to\n    interact with, and combine the active and mouse dragging\n    handlers. Note if you intend to make an element draggable\n    that way, you must not make the element source of a Drag\n    and Drop, as it impacts the hovering tests.\n\n    Note that Drawing items do not have any hovering/clicked/\n    visible/etc tests maintained and thus do not have a callback.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawInWindow, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawInWindow, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_SimplePlot __pyx_vtable_9dearcygui_4core_SimplePlot;

static PyObject *__pyx_tp_new_9dearcygui_4core_SimplePlot(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_SimplePlot *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_SimplePlot *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_SimplePlot;
  new((void*)&(p->_overlay)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_10SimplePlot_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_SimplePlot(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_SimplePlot *p = (struct __pyx_obj_9dearcygui_4core_SimplePlot *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_SimplePlot) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_overlay);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SimplePlot_scale_min(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SimplePlot_scale_min(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_min_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SimplePlot_scale_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SimplePlot_scale_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SimplePlot_9scale_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SimplePlot_histogram(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SimplePlot_histogram(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SimplePlot_9histogram_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SimplePlot_autoscale(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SimplePlot_autoscale(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SimplePlot_9autoscale_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10SimplePlot_overlay(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10SimplePlot_overlay(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10SimplePlot_7overlay_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_SimplePlot[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10SimplePlot_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SimplePlot_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10SimplePlot_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_SimplePlot[] = {
  {(char *)"scale_min", __pyx_getprop_9dearcygui_4core_10SimplePlot_scale_min, __pyx_setprop_9dearcygui_4core_10SimplePlot_scale_min, (char *)PyDoc_STR("\n        Writable attribute: value corresponding to the minimum value of plot scale\n        "), 0},
  {(char *)"scale_max", __pyx_getprop_9dearcygui_4core_10SimplePlot_scale_max, __pyx_setprop_9dearcygui_4core_10SimplePlot_scale_max, (char *)PyDoc_STR("\n        Writable attribute: value corresponding to the maximum value of plot scale\n        "), 0},
  {(char *)"histogram", __pyx_getprop_9dearcygui_4core_10SimplePlot_histogram, __pyx_setprop_9dearcygui_4core_10SimplePlot_histogram, (char *)PyDoc_STR("\n        Writable attribute: Whether the data should be plotted as an histogram\n        "), 0},
  {(char *)"autoscale", __pyx_getprop_9dearcygui_4core_10SimplePlot_autoscale, __pyx_setprop_9dearcygui_4core_10SimplePlot_autoscale, (char *)PyDoc_STR("\n        Writable attribute: Whether scale_min and scale_max should be deduced\n        from the data\n        "), 0},
  {(char *)"overlay", __pyx_getprop_9dearcygui_4core_10SimplePlot_overlay, __pyx_setprop_9dearcygui_4core_10SimplePlot_overlay, (char *)PyDoc_STR("\n        Writable attribute: Overlay text\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_SimplePlot_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_SimplePlot},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_SimplePlot},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_SimplePlot},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_SimplePlot},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_SimplePlot_spec = {
  "dearcygui.core.SimplePlot",
  sizeof(struct __pyx_obj_9dearcygui_4core_SimplePlot),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_SimplePlot_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_SimplePlot = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""SimplePlot", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_SimplePlot), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_SimplePlot, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_SimplePlot, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_SimplePlot, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_SimplePlot, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Button __pyx_vtable_9dearcygui_4core_Button;

static PyObject *__pyx_tp_new_9dearcygui_4core_Button(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Button *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Button *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Button;
  if (unlikely(__pyx_pw_9dearcygui_4core_6Button_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Button_direction(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Button_9direction_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Button_direction(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Button_9direction_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Button_small(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Button_5small_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Button_small(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Button_5small_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Button_arrow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Button_5arrow_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Button_arrow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Button_5arrow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Button_repeat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Button_6repeat_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Button_repeat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Button_6repeat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Button[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Button_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Button_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Button[] = {
  {(char *)"direction", __pyx_getprop_9dearcygui_4core_6Button_direction, __pyx_setprop_9dearcygui_4core_6Button_direction, (char *)PyDoc_STR("\n        Writable attribute: Direction of the arrow if any\n        "), 0},
  {(char *)"small", __pyx_getprop_9dearcygui_4core_6Button_small, __pyx_setprop_9dearcygui_4core_6Button_small, (char *)PyDoc_STR("\n        Writable attribute: Whether to display a small button\n        "), 0},
  {(char *)"arrow", __pyx_getprop_9dearcygui_4core_6Button_arrow, __pyx_setprop_9dearcygui_4core_6Button_arrow, (char *)PyDoc_STR("\n        Writable attribute: Whether to display an arrow.\n        Not compatible with small\n        "), 0},
  {(char *)"repeat", __pyx_getprop_9dearcygui_4core_6Button_repeat, __pyx_setprop_9dearcygui_4core_6Button_repeat, (char *)PyDoc_STR("\n        Writable attribute: Whether to generate many clicked events\n        when the button is held repeatedly, instead of a single.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Button_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Button},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Button},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Button},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Button_spec = {
  "dearcygui.core.Button",
  sizeof(struct __pyx_obj_9dearcygui_4core_Button),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Button_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Button = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Button", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Button), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Button, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Button, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Button, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Combo __pyx_vtable_9dearcygui_4core_Combo;

static PyObject *__pyx_tp_new_9dearcygui_4core_Combo(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Combo *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Combo *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Combo;
  new((void*)&(p->_items)) std::vector<std::string> ();
  new((void*)&(p->disabled_value)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_5Combo_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Combo(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Combo *p = (struct __pyx_obj_9dearcygui_4core_Combo *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Combo) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_items);
  __Pyx_call_destructor(p->disabled_value);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_items(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_5items_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_items(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_5items_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_height_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_11height_mode_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_height_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_11height_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_popup_align_left(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_popup_align_left(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_16popup_align_left_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_no_arrow_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_no_arrow_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_15no_arrow_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_no_preview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_10no_preview_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_no_preview(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_10no_preview_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Combo_fit_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Combo_9fit_width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Combo_fit_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Combo_9fit_width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Combo[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Combo_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Combo_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Combo[] = {
  {(char *)"items", __pyx_getprop_9dearcygui_4core_5Combo_items, __pyx_setprop_9dearcygui_4core_5Combo_items, (char *)PyDoc_STR("\n        Writable attribute: List of text values to select\n        "), 0},
  {(char *)"height_mode", __pyx_getprop_9dearcygui_4core_5Combo_height_mode, __pyx_setprop_9dearcygui_4core_5Combo_height_mode, (char *)PyDoc_STR("\n        Writable attribute: height mode of the combo.\n        Supported values are\n        \"small\"\n        \"regular\"\n        \"large\"\n        \"largest\"\n        "), 0},
  {(char *)"popup_align_left", __pyx_getprop_9dearcygui_4core_5Combo_popup_align_left, __pyx_setprop_9dearcygui_4core_5Combo_popup_align_left, (char *)PyDoc_STR("\n        Writable attribute: Whether to align left\n        "), 0},
  {(char *)"no_arrow_button", __pyx_getprop_9dearcygui_4core_5Combo_no_arrow_button, __pyx_setprop_9dearcygui_4core_5Combo_no_arrow_button, (char *)PyDoc_STR("\n        Writable attribute: Whether the combo should not display an arrow on top\n        "), 0},
  {(char *)"no_preview", __pyx_getprop_9dearcygui_4core_5Combo_no_preview, __pyx_setprop_9dearcygui_4core_5Combo_no_preview, (char *)PyDoc_STR("\n        Writable attribute: Whether the preview should be disabled\n        "), 0},
  {(char *)"fit_width", __pyx_getprop_9dearcygui_4core_5Combo_fit_width, __pyx_setprop_9dearcygui_4core_5Combo_fit_width, (char *)PyDoc_STR("\n        Writable attribute: Whether the combo should fit available width\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Combo_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Combo},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Combo},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Combo},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Combo},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Combo_spec = {
  "dearcygui.core.Combo",
  sizeof(struct __pyx_obj_9dearcygui_4core_Combo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Combo_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Combo = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Combo", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Combo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Combo, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Combo, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Combo, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Combo, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Checkbox __pyx_vtable_9dearcygui_4core_Checkbox;

static PyObject *__pyx_tp_new_9dearcygui_4core_Checkbox(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Checkbox *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Checkbox *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Checkbox;
  if (unlikely(__pyx_pw_9dearcygui_4core_8Checkbox_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Checkbox[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Checkbox_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8Checkbox_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Checkbox_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Checkbox},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Checkbox},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Checkbox_spec = {
  "dearcygui.core.Checkbox",
  sizeof(struct __pyx_obj_9dearcygui_4core_Checkbox),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Checkbox_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Checkbox = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Checkbox", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Checkbox), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Checkbox, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Checkbox, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Slider __pyx_vtable_9dearcygui_4core_Slider;

static PyObject *__pyx_tp_new_9dearcygui_4core_Slider(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Slider *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Slider *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Slider;
  new((void*)&(p->_print_format)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_6Slider_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Slider(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Slider *p = (struct __pyx_obj_9dearcygui_4core_Slider *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Slider) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_print_format);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_6format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_4size_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_clamped(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_7clamped_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_clamped(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_7clamped_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_drag(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_4drag_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_drag(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_4drag_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_logarithmic(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_11logarithmic_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_logarithmic(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_11logarithmic_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_min_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_9min_value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_min_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_9min_value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_max_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_9max_value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_max_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_9max_value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_no_input(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_8no_input_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_no_input(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_8no_input_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_print_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_12print_format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_print_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_12print_format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_round_to_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_15round_to_format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_round_to_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_15round_to_format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_speed(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_5speed_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_speed(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_5speed_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Slider_vertical(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Slider_8vertical_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Slider_vertical(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Slider_8vertical_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Slider[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_6Slider_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Slider_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Slider_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Slider[] = {
  {(char *)"format", __pyx_getprop_9dearcygui_4core_6Slider_format, __pyx_setprop_9dearcygui_4core_6Slider_format, (char *)PyDoc_STR("\n        Writable attribute: Format of the slider.\n        Must be \"int\", \"float\" or \"double\".\n        Note that float here means the 32 bits version.\n        The python float corresponds to a double.\n        "), 0},
  {(char *)"size", __pyx_getprop_9dearcygui_4core_6Slider_size, __pyx_setprop_9dearcygui_4core_6Slider_size, (char *)PyDoc_STR("\n        Writable attribute: Size of the slider.\n        Can be 1, 2, 3 or 4.\n        When 1 the item's value is held with\n        a scalar shared value, else it is held\n        with a vector of 4 elements (even for\n        size 2 and 3)\n        "), 0},
  {(char *)"clamped", __pyx_getprop_9dearcygui_4core_6Slider_clamped, __pyx_setprop_9dearcygui_4core_6Slider_clamped, (char *)PyDoc_STR("\n        Writable attribute: Whether the slider value should be clamped even when keyboard set\n        "), 0},
  {(char *)"drag", __pyx_getprop_9dearcygui_4core_6Slider_drag, __pyx_setprop_9dearcygui_4core_6Slider_drag, (char *)PyDoc_STR("\n        Writable attribute: Whether the use a 'drag'\n        slider rather than a regular one.\n        Incompatible with 'vertical'.\n        "), 0},
  {(char *)"logarithmic", __pyx_getprop_9dearcygui_4core_6Slider_logarithmic, __pyx_setprop_9dearcygui_4core_6Slider_logarithmic, (char *)PyDoc_STR("\n        Writable attribute: Make the slider logarithmic.\n        Disables round_to_format if enabled\n        "), 0},
  {(char *)"min_value", __pyx_getprop_9dearcygui_4core_6Slider_min_value, __pyx_setprop_9dearcygui_4core_6Slider_min_value, (char *)PyDoc_STR("\n        Writable attribute: Minimum value the slider\n        will be clamped to.\n        "), 0},
  {(char *)"max_value", __pyx_getprop_9dearcygui_4core_6Slider_max_value, __pyx_setprop_9dearcygui_4core_6Slider_max_value, (char *)PyDoc_STR("\n        Writable attribute: Maximum value the slider\n        will be clamped to.\n        "), 0},
  {(char *)"no_input", __pyx_getprop_9dearcygui_4core_6Slider_no_input, __pyx_setprop_9dearcygui_4core_6Slider_no_input, (char *)PyDoc_STR("\n        Writable attribute: Disable Ctrl+Click and Enter key to\n        manually set the value\n        "), 0},
  {(char *)"print_format", __pyx_getprop_9dearcygui_4core_6Slider_print_format, __pyx_setprop_9dearcygui_4core_6Slider_print_format, (char *)PyDoc_STR("\n        Writable attribute: format string\n        for the value -> string conversion\n        for display. If round_to_format is\n        enabled, the value is converted\n        back and thus appears rounded.\n        "), 0},
  {(char *)"round_to_format", __pyx_getprop_9dearcygui_4core_6Slider_round_to_format, __pyx_setprop_9dearcygui_4core_6Slider_round_to_format, (char *)PyDoc_STR("\n        Writable attribute: If set (default),\n        the value will not have more digits precision\n        than the requested format string for display.\n        "), 0},
  {(char *)"speed", __pyx_getprop_9dearcygui_4core_6Slider_speed, __pyx_setprop_9dearcygui_4core_6Slider_speed, (char *)PyDoc_STR("\n        Writable attribute: When drag is true,\n        this attributes sets the drag speed.\n        "), 0},
  {(char *)"vertical", __pyx_getprop_9dearcygui_4core_6Slider_vertical, __pyx_setprop_9dearcygui_4core_6Slider_vertical, (char *)PyDoc_STR("\n        Writable attribute: Whether the use a vertical\n        slider. Only sliders of size 1 and drag False\n        are supported.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Slider_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Slider},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Slider},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Slider},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Slider},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Slider_spec = {
  "dearcygui.core.Slider",
  sizeof(struct __pyx_obj_9dearcygui_4core_Slider),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Slider_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Slider = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Slider", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Slider), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Slider, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Slider, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Slider, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Slider, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ListBox __pyx_vtable_9dearcygui_4core_ListBox;

static PyObject *__pyx_tp_new_9dearcygui_4core_ListBox(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ListBox *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ListBox *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ListBox;
  new((void*)&(p->_items)) std::vector<std::string> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_7ListBox_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_ListBox(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_ListBox *p = (struct __pyx_obj_9dearcygui_4core_ListBox *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_ListBox) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_items);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_7ListBox_items(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7ListBox_5items_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7ListBox_items(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7ListBox_5items_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7ListBox_num_items_shown_when_open(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7ListBox_num_items_shown_when_open(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7ListBox_25num_items_shown_when_open_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ListBox[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7ListBox_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7ListBox_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ListBox[] = {
  {(char *)"items", __pyx_getprop_9dearcygui_4core_7ListBox_items, __pyx_setprop_9dearcygui_4core_7ListBox_items, (char *)PyDoc_STR("\n        Writable attribute: List of text values to select\n        "), 0},
  {(char *)"num_items_shown_when_open", __pyx_getprop_9dearcygui_4core_7ListBox_num_items_shown_when_open, __pyx_setprop_9dearcygui_4core_7ListBox_num_items_shown_when_open, (char *)PyDoc_STR("\n        Writable attribute: Number of items\n        shown when the menu is opened\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ListBox_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_ListBox},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ListBox},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ListBox},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ListBox},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ListBox_spec = {
  "dearcygui.core.ListBox",
  sizeof(struct __pyx_obj_9dearcygui_4core_ListBox),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ListBox_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ListBox = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ListBox", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ListBox), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_ListBox, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ListBox, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ListBox, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ListBox, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_RadioButton __pyx_vtable_9dearcygui_4core_RadioButton;

static PyObject *__pyx_tp_new_9dearcygui_4core_RadioButton(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_RadioButton *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_RadioButton *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_RadioButton;
  new((void*)&(p->_items)) std::vector<std::string> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_11RadioButton_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_RadioButton(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_RadioButton *p = (struct __pyx_obj_9dearcygui_4core_RadioButton *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_RadioButton) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_items);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11RadioButton_items(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11RadioButton_5items_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11RadioButton_items(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11RadioButton_5items_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11RadioButton_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11RadioButton_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11RadioButton_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_RadioButton[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11RadioButton_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11RadioButton_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_RadioButton[] = {
  {(char *)"items", __pyx_getprop_9dearcygui_4core_11RadioButton_items, __pyx_setprop_9dearcygui_4core_11RadioButton_items, (char *)PyDoc_STR("\n        Writable attribute: List of text values to select\n        "), 0},
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_11RadioButton_horizontal, __pyx_setprop_9dearcygui_4core_11RadioButton_horizontal, (char *)PyDoc_STR("\n        Writable attribute: Horizontal vs vertical placement\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_RadioButton_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_RadioButton},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_RadioButton},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_RadioButton},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_RadioButton},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_RadioButton_spec = {
  "dearcygui.core.RadioButton",
  sizeof(struct __pyx_obj_9dearcygui_4core_RadioButton),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_RadioButton_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_RadioButton = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""RadioButton", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_RadioButton), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_RadioButton, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_RadioButton, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_RadioButton, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_RadioButton, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_InputText __pyx_vtable_9dearcygui_4core_InputText;

static PyObject *__pyx_tp_new_9dearcygui_4core_InputText(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_InputText *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_InputText *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_InputText;
  new((void*)&(p->_hint)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_9InputText_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_InputText(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_InputText *p = (struct __pyx_obj_9dearcygui_4core_InputText *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_InputText) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_hint);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_hint(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_4hint_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_hint(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_4hint_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_multiline(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_9multiline_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_multiline(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_9multiline_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_max_characters(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_14max_characters_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_max_characters(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_14max_characters_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_decimal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_7decimal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_decimal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_7decimal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_hexadecimal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_hexadecimal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_11hexadecimal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_scientific(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_10scientific_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_scientific(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_10scientific_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_uppercase(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_9uppercase_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_uppercase(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_9uppercase_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_no_spaces(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_9no_spaces_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_no_spaces(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_9no_spaces_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_tab_input(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_9tab_input_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_tab_input(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_9tab_input_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_on_enter(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_8on_enter_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_on_enter(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_8on_enter_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_escape_clears_all(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_escape_clears_all(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_17escape_clears_all_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_ctrl_enter_for_new_line(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_ctrl_enter_for_new_line(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_23ctrl_enter_for_new_line_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_readonly(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_8readonly_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_readonly(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_8readonly_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_password(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_8password_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_password(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_8password_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_always_overwrite(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_always_overwrite(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_16always_overwrite_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_auto_select_all(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_auto_select_all(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_15auto_select_all_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_no_horizontal_scroll(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_no_horizontal_scroll(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_20no_horizontal_scroll_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9InputText_no_undo_redo(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9InputText_no_undo_redo(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9InputText_12no_undo_redo_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_InputText[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9InputText_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9InputText_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_InputText[] = {
  {(char *)"hint", __pyx_getprop_9dearcygui_4core_9InputText_hint, __pyx_setprop_9dearcygui_4core_9InputText_hint, (char *)PyDoc_STR("\n        Writable attribute: text hint.\n        Doesn't work with multiline.\n        "), 0},
  {(char *)"multiline", __pyx_getprop_9dearcygui_4core_9InputText_multiline, __pyx_setprop_9dearcygui_4core_9InputText_multiline, (char *)PyDoc_STR("\n        Writable attribute: multiline text input.\n        Doesn't work with non-empty hint.\n        "), 0},
  {(char *)"max_characters", __pyx_getprop_9dearcygui_4core_9InputText_max_characters, __pyx_setprop_9dearcygui_4core_9InputText_max_characters, (char *)PyDoc_STR("\n        Writable attribute: Maximal number of characters that can be written\n        "), 0},
  {(char *)"decimal", __pyx_getprop_9dearcygui_4core_9InputText_decimal, __pyx_setprop_9dearcygui_4core_9InputText_decimal, (char *)PyDoc_STR("\n        Writable attribute: Allow 0123456789.+-\n        "), 0},
  {(char *)"hexadecimal", __pyx_getprop_9dearcygui_4core_9InputText_hexadecimal, __pyx_setprop_9dearcygui_4core_9InputText_hexadecimal, (char *)PyDoc_STR("\n        Writable attribute:  Allow 0123456789ABCDEFabcdef\n        "), 0},
  {(char *)"scientific", __pyx_getprop_9dearcygui_4core_9InputText_scientific, __pyx_setprop_9dearcygui_4core_9InputText_scientific, (char *)PyDoc_STR("\n        Writable attribute: Allow 0123456789.+-*/eE\n        "), 0},
  {(char *)"uppercase", __pyx_getprop_9dearcygui_4core_9InputText_uppercase, __pyx_setprop_9dearcygui_4core_9InputText_uppercase, (char *)PyDoc_STR("\n        Writable attribute: Turn a..z into A..Z\n        "), 0},
  {(char *)"no_spaces", __pyx_getprop_9dearcygui_4core_9InputText_no_spaces, __pyx_setprop_9dearcygui_4core_9InputText_no_spaces, (char *)PyDoc_STR("\n        Writable attribute: Filter out spaces, tabs\n        "), 0},
  {(char *)"tab_input", __pyx_getprop_9dearcygui_4core_9InputText_tab_input, __pyx_setprop_9dearcygui_4core_9InputText_tab_input, (char *)PyDoc_STR("\n        Writable attribute: Pressing TAB input a '\t' character into the text field\n        "), 0},
  {(char *)"on_enter", __pyx_getprop_9dearcygui_4core_9InputText_on_enter, __pyx_setprop_9dearcygui_4core_9InputText_on_enter, (char *)PyDoc_STR("\n        Writable attribute: Callback called everytime Enter is pressed,\n        not just when the value is modified.\n        "), 0},
  {(char *)"escape_clears_all", __pyx_getprop_9dearcygui_4core_9InputText_escape_clears_all, __pyx_setprop_9dearcygui_4core_9InputText_escape_clears_all, (char *)PyDoc_STR("\n        Writable attribute: Escape key clears content if not empty,\n        and deactivate otherwise\n        (contrast to default behavior of Escape to revert)\n        "), 0},
  {(char *)"ctrl_enter_for_new_line", __pyx_getprop_9dearcygui_4core_9InputText_ctrl_enter_for_new_line, __pyx_setprop_9dearcygui_4core_9InputText_ctrl_enter_for_new_line, (char *)PyDoc_STR("\n        Writable attribute: In multi-line mode, validate with Enter,\n        add new line with Ctrl+Enter\n        (default is opposite: validate with Ctrl+Enter, add line with Enter).\n        "), 0},
  {(char *)"readonly", __pyx_getprop_9dearcygui_4core_9InputText_readonly, __pyx_setprop_9dearcygui_4core_9InputText_readonly, (char *)PyDoc_STR("\n        Writable attribute: Read-only mode\n        "), 0},
  {(char *)"password", __pyx_getprop_9dearcygui_4core_9InputText_password, __pyx_setprop_9dearcygui_4core_9InputText_password, (char *)PyDoc_STR("\n        Writable attribute: Password mode, display all characters as '*', disable copy\n        "), 0},
  {(char *)"always_overwrite", __pyx_getprop_9dearcygui_4core_9InputText_always_overwrite, __pyx_setprop_9dearcygui_4core_9InputText_always_overwrite, (char *)PyDoc_STR("\n        Writable attribute: Overwrite mode\n        "), 0},
  {(char *)"auto_select_all", __pyx_getprop_9dearcygui_4core_9InputText_auto_select_all, __pyx_setprop_9dearcygui_4core_9InputText_auto_select_all, (char *)PyDoc_STR("\n        Writable attribute: Select entire text when first taking mouse focus\n        "), 0},
  {(char *)"no_horizontal_scroll", __pyx_getprop_9dearcygui_4core_9InputText_no_horizontal_scroll, __pyx_setprop_9dearcygui_4core_9InputText_no_horizontal_scroll, (char *)PyDoc_STR("\n        Writable attribute: Disable following the scroll horizontally\n        "), 0},
  {(char *)"no_undo_redo", __pyx_getprop_9dearcygui_4core_9InputText_no_undo_redo, __pyx_setprop_9dearcygui_4core_9InputText_no_undo_redo, (char *)PyDoc_STR("\n        Writable attribute: Disable undo/redo.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_InputText_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_InputText},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_InputText},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_InputText},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_InputText},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_InputText_spec = {
  "dearcygui.core.InputText",
  sizeof(struct __pyx_obj_9dearcygui_4core_InputText),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_InputText_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_InputText = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""InputText", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_InputText), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_InputText, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_InputText, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_InputText, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_InputText, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_InputValue __pyx_vtable_9dearcygui_4core_InputValue;

static PyObject *__pyx_tp_new_9dearcygui_4core_InputValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_InputValue *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_InputValue *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_InputValue;
  new((void*)&(p->_print_format)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_10InputValue_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_InputValue(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_InputValue *p = (struct __pyx_obj_9dearcygui_4core_InputValue *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_InputValue) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_print_format);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_6format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_4size_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_step(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_4step_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_4step_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_step_fast(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_9step_fast_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_step_fast(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_9step_fast_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_min_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_9min_value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_min_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_9min_value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_max_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_9max_value_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_max_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_9max_value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_print_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_12print_format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_print_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_12print_format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_decimal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_7decimal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_decimal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_7decimal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_hexadecimal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_hexadecimal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_11hexadecimal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_scientific(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_10scientific_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_scientific(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_10scientific_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_on_enter(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_8on_enter_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_on_enter(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_8on_enter_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_escape_clears_all(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_escape_clears_all(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_17escape_clears_all_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_readonly(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_8readonly_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_readonly(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_8readonly_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_password(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_8password_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_password(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_8password_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_always_overwrite(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_always_overwrite(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_16always_overwrite_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_auto_select_all(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_auto_select_all(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_15auto_select_all_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_empty_as_zero(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_empty_as_zero(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_13empty_as_zero_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_empty_if_zero(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_empty_if_zero(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_13empty_if_zero_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_no_horizontal_scroll(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_no_horizontal_scroll(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_20no_horizontal_scroll_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10InputValue_no_undo_redo(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10InputValue_no_undo_redo(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10InputValue_12no_undo_redo_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_InputValue[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_10InputValue_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10InputValue_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10InputValue_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_InputValue[] = {
  {(char *)"format", __pyx_getprop_9dearcygui_4core_10InputValue_format, __pyx_setprop_9dearcygui_4core_10InputValue_format, (char *)PyDoc_STR("\n        Writable attribute: Format of the slider.\n        Must be \"int\", \"float\" or \"double\".\n        Note that float here means the 32 bits version.\n        The python float corresponds to a double.\n        "), 0},
  {(char *)"size", __pyx_getprop_9dearcygui_4core_10InputValue_size, __pyx_setprop_9dearcygui_4core_10InputValue_size, (char *)PyDoc_STR("\n        Writable attribute: Size of the slider.\n        Can be 1, 2, 3 or 4.\n        When 1 the item's value is held with\n        a scalar shared value, else it is held\n        with a vector of 4 elements (even for\n        size 2 and 3)\n        "), 0},
  {(char *)"step", __pyx_getprop_9dearcygui_4core_10InputValue_step, __pyx_setprop_9dearcygui_4core_10InputValue_step, (char *)PyDoc_STR("\n        Writable attribute: \n        "), 0},
  {(char *)"step_fast", __pyx_getprop_9dearcygui_4core_10InputValue_step_fast, __pyx_setprop_9dearcygui_4core_10InputValue_step_fast, (char *)PyDoc_STR("\n        Writable attribute: \n        "), 0},
  {(char *)"min_value", __pyx_getprop_9dearcygui_4core_10InputValue_min_value, __pyx_setprop_9dearcygui_4core_10InputValue_min_value, (char *)PyDoc_STR("\n        Writable attribute: Minimum value the input\n        will be clamped to.\n        "), 0},
  {(char *)"max_value", __pyx_getprop_9dearcygui_4core_10InputValue_max_value, __pyx_setprop_9dearcygui_4core_10InputValue_max_value, (char *)PyDoc_STR("\n        Writable attribute: Maximum value the input\n        will be clamped to.\n        "), 0},
  {(char *)"print_format", __pyx_getprop_9dearcygui_4core_10InputValue_print_format, __pyx_setprop_9dearcygui_4core_10InputValue_print_format, (char *)PyDoc_STR("\n        Writable attribute: format string\n        for the value -> string conversion\n        for display. If round_to_format is\n        enabled, the value is converted\n        back and thus appears rounded.\n        "), 0},
  {(char *)"decimal", __pyx_getprop_9dearcygui_4core_10InputValue_decimal, __pyx_setprop_9dearcygui_4core_10InputValue_decimal, (char *)PyDoc_STR("\n        Writable attribute: Allow 0123456789.+-\n        "), 0},
  {(char *)"hexadecimal", __pyx_getprop_9dearcygui_4core_10InputValue_hexadecimal, __pyx_setprop_9dearcygui_4core_10InputValue_hexadecimal, (char *)PyDoc_STR("\n        Writable attribute:  Allow 0123456789ABCDEFabcdef\n        "), 0},
  {(char *)"scientific", __pyx_getprop_9dearcygui_4core_10InputValue_scientific, __pyx_setprop_9dearcygui_4core_10InputValue_scientific, (char *)PyDoc_STR("\n        Writable attribute: Allow 0123456789.+-*/eE\n        "), 0},
  {(char *)"on_enter", __pyx_getprop_9dearcygui_4core_10InputValue_on_enter, __pyx_setprop_9dearcygui_4core_10InputValue_on_enter, (char *)PyDoc_STR("\n        Writable attribute: Callback called everytime Enter is pressed,\n        not just when the value is modified.\n        "), 0},
  {(char *)"escape_clears_all", __pyx_getprop_9dearcygui_4core_10InputValue_escape_clears_all, __pyx_setprop_9dearcygui_4core_10InputValue_escape_clears_all, (char *)PyDoc_STR("\n        Writable attribute: Escape key clears content if not empty,\n        and deactivate otherwise\n        (contrast to default behavior of Escape to revert)\n        "), 0},
  {(char *)"readonly", __pyx_getprop_9dearcygui_4core_10InputValue_readonly, __pyx_setprop_9dearcygui_4core_10InputValue_readonly, (char *)PyDoc_STR("\n        Writable attribute: Read-only mode\n        "), 0},
  {(char *)"password", __pyx_getprop_9dearcygui_4core_10InputValue_password, __pyx_setprop_9dearcygui_4core_10InputValue_password, (char *)PyDoc_STR("\n        Writable attribute: Password mode, display all characters as '*', disable copy\n        "), 0},
  {(char *)"always_overwrite", __pyx_getprop_9dearcygui_4core_10InputValue_always_overwrite, __pyx_setprop_9dearcygui_4core_10InputValue_always_overwrite, (char *)PyDoc_STR("\n        Writable attribute: Overwrite mode\n        "), 0},
  {(char *)"auto_select_all", __pyx_getprop_9dearcygui_4core_10InputValue_auto_select_all, __pyx_setprop_9dearcygui_4core_10InputValue_auto_select_all, (char *)PyDoc_STR("\n        Writable attribute: Select entire text when first taking mouse focus\n        "), 0},
  {(char *)"empty_as_zero", __pyx_getprop_9dearcygui_4core_10InputValue_empty_as_zero, __pyx_setprop_9dearcygui_4core_10InputValue_empty_as_zero, (char *)PyDoc_STR("\n        Writable attribute: parse empty string as zero value\n        "), 0},
  {(char *)"empty_if_zero", __pyx_getprop_9dearcygui_4core_10InputValue_empty_if_zero, __pyx_setprop_9dearcygui_4core_10InputValue_empty_if_zero, (char *)PyDoc_STR("\n        Writable attribute: when value is zero, do not display it\n        "), 0},
  {(char *)"no_horizontal_scroll", __pyx_getprop_9dearcygui_4core_10InputValue_no_horizontal_scroll, __pyx_setprop_9dearcygui_4core_10InputValue_no_horizontal_scroll, (char *)PyDoc_STR("\n        Writable attribute: Disable following the scroll horizontally\n        "), 0},
  {(char *)"no_undo_redo", __pyx_getprop_9dearcygui_4core_10InputValue_no_undo_redo, __pyx_setprop_9dearcygui_4core_10InputValue_no_undo_redo, (char *)PyDoc_STR("\n        Writable attribute: Disable undo/redo.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_InputValue_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_InputValue},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_InputValue},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_InputValue},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_InputValue},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_InputValue_spec = {
  "dearcygui.core.InputValue",
  sizeof(struct __pyx_obj_9dearcygui_4core_InputValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_InputValue_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_InputValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""InputValue", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_InputValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_InputValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_InputValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_InputValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_InputValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Text __pyx_vtable_9dearcygui_4core_Text;

static PyObject *__pyx_tp_new_9dearcygui_4core_Text(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Text *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Text *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Text;
  if (unlikely(__pyx_pw_9dearcygui_4core_4Text_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Text_color(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Text_5color_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Text_color(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Text_5color_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Text_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Text_5label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Text_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Text_5label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Text_wrap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Text_4wrap_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Text_wrap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Text_4wrap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Text_bullet(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Text_6bullet_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Text_bullet(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Text_6bullet_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Text_show_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Text_10show_label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Text_show_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Text_10show_label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Text[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Text_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Text_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Text[] = {
  {(char *)"color", __pyx_getprop_9dearcygui_4core_4Text_color, __pyx_setprop_9dearcygui_4core_4Text_color, (char *)PyDoc_STR("\n        Writable attribute: text color.\n        If set to 0 (default), that is\n        full transparent text, use the\n        default value given by the style\n        "), 0},
  {(char *)"label", __pyx_getprop_9dearcygui_4core_4Text_label, __pyx_setprop_9dearcygui_4core_4Text_label, (char *)0, 0},
  {(char *)"wrap", __pyx_getprop_9dearcygui_4core_4Text_wrap, __pyx_setprop_9dearcygui_4core_4Text_wrap, (char *)PyDoc_STR("\n        Writable attribute: wrap width in pixels\n        -1 for no wrapping\n        "), 0},
  {(char *)"bullet", __pyx_getprop_9dearcygui_4core_4Text_bullet, __pyx_setprop_9dearcygui_4core_4Text_bullet, (char *)PyDoc_STR("\n        Writable attribute: Whether to add a bullet\n        before the text\n        "), 0},
  {(char *)"show_label", __pyx_getprop_9dearcygui_4core_4Text_show_label, __pyx_setprop_9dearcygui_4core_4Text_show_label, (char *)PyDoc_STR("\n        Writable attribute: Whether to display the\n        label next to the text stored in value\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Text_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Text},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Text},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Text},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Text_spec = {
  "dearcygui.core.Text",
  sizeof(struct __pyx_obj_9dearcygui_4core_Text),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Text_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Text = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Text", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Text), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Text, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Text, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Text, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Selectable __pyx_vtable_9dearcygui_4core_Selectable;

static PyObject *__pyx_tp_new_9dearcygui_4core_Selectable(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Selectable *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Selectable *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Selectable;
  if (unlikely(__pyx_pw_9dearcygui_4core_10Selectable_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_10Selectable_disable_popup_close(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10Selectable_disable_popup_close(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10Selectable_19disable_popup_close_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10Selectable_span_columns(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10Selectable_12span_columns_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10Selectable_span_columns(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10Selectable_12span_columns_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10Selectable_on_double_click(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10Selectable_on_double_click(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10Selectable_15on_double_click_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10Selectable_highlighted(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10Selectable_11highlighted_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10Selectable_highlighted(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10Selectable_11highlighted_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Selectable[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10Selectable_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10Selectable_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Selectable[] = {
  {(char *)"disable_popup_close", __pyx_getprop_9dearcygui_4core_10Selectable_disable_popup_close, __pyx_setprop_9dearcygui_4core_10Selectable_disable_popup_close, (char *)PyDoc_STR("\n        Writable attribute: Clicking this doesn't close parent popup window\n        "), 0},
  {(char *)"span_columns", __pyx_getprop_9dearcygui_4core_10Selectable_span_columns, __pyx_setprop_9dearcygui_4core_10Selectable_span_columns, (char *)PyDoc_STR("\n        Writable attribute: Frame will span all columns of its container table (text will still fit in current column)\n        "), 0},
  {(char *)"on_double_click", __pyx_getprop_9dearcygui_4core_10Selectable_on_double_click, __pyx_setprop_9dearcygui_4core_10Selectable_on_double_click, (char *)PyDoc_STR("\n        Writable attribute: call callbacks on double clicks too\n        "), 0},
  {(char *)"highlighted", __pyx_getprop_9dearcygui_4core_10Selectable_highlighted, __pyx_setprop_9dearcygui_4core_10Selectable_highlighted, (char *)PyDoc_STR("\n        Writable attribute: highlighted as if hovered\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Selectable_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Selectable},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Selectable},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Selectable},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Selectable_spec = {
  "dearcygui.core.Selectable",
  sizeof(struct __pyx_obj_9dearcygui_4core_Selectable),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Selectable_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Selectable = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Selectable", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Selectable), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Selectable, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Selectable, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Selectable, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MenuItem __pyx_vtable_9dearcygui_4core_MenuItem;

static PyObject *__pyx_tp_new_9dearcygui_4core_MenuItem(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MenuItem *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MenuItem *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MenuItem;
  new((void*)&(p->_shortcut)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_8MenuItem_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_MenuItem(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_MenuItem *p = (struct __pyx_obj_9dearcygui_4core_MenuItem *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_MenuItem) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_shortcut);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_8MenuItem_check(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8MenuItem_5check_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8MenuItem_check(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8MenuItem_5check_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8MenuItem_shortcut(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8MenuItem_shortcut(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8MenuItem_8shortcut_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MenuItem[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8MenuItem_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8MenuItem_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_MenuItem[] = {
  {(char *)"check", __pyx_getprop_9dearcygui_4core_8MenuItem_check, __pyx_setprop_9dearcygui_4core_8MenuItem_check, (char *)PyDoc_STR("\n        Writable attribute:\n        "), 0},
  {(char *)"shortcut", __pyx_getprop_9dearcygui_4core_8MenuItem_shortcut, __pyx_setprop_9dearcygui_4core_8MenuItem_shortcut, (char *)PyDoc_STR("\n        Writable attribute:\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MenuItem_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_MenuItem},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MenuItem},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_MenuItem},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MenuItem},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MenuItem_spec = {
  "dearcygui.core.MenuItem",
  sizeof(struct __pyx_obj_9dearcygui_4core_MenuItem),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MenuItem_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MenuItem = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MenuItem", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MenuItem), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_MenuItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MenuItem, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_MenuItem, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MenuItem, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ProgressBar __pyx_vtable_9dearcygui_4core_ProgressBar;

static PyObject *__pyx_tp_new_9dearcygui_4core_ProgressBar(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ProgressBar *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ProgressBar *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ProgressBar;
  new((void*)&(p->_overlay)) std::string();
  if (unlikely(__pyx_pw_9dearcygui_4core_11ProgressBar_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_ProgressBar(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_ProgressBar *p = (struct __pyx_obj_9dearcygui_4core_ProgressBar *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_ProgressBar) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_overlay);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ProgressBar_overlay(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ProgressBar_overlay(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ProgressBar_7overlay_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ProgressBar[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ProgressBar_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ProgressBar_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ProgressBar[] = {
  {(char *)"overlay", __pyx_getprop_9dearcygui_4core_11ProgressBar_overlay, __pyx_setprop_9dearcygui_4core_11ProgressBar_overlay, (char *)PyDoc_STR("\n        Writable attribute:\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ProgressBar_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_ProgressBar},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ProgressBar},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ProgressBar},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ProgressBar},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ProgressBar_spec = {
  "dearcygui.core.ProgressBar",
  sizeof(struct __pyx_obj_9dearcygui_4core_ProgressBar),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ProgressBar_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ProgressBar = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ProgressBar", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ProgressBar), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_ProgressBar, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ProgressBar, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ProgressBar, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ProgressBar, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Image __pyx_vtable_9dearcygui_4core_Image;

static PyObject *__pyx_tp_new_9dearcygui_4core_Image(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Image *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Image *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Image;
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_5Image_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Image(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Image *p = (struct __pyx_obj_9dearcygui_4core_Image *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Image) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_texture);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Image(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Image *p = (struct __pyx_obj_9dearcygui_4core_Image *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_uiItem(o, v, a); if (e) return e;
  if (p->_texture) {
    e = (*v)(((PyObject *)p->_texture), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Image(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Image *p = (struct __pyx_obj_9dearcygui_4core_Image *)o;
  __pyx_tp_clear_9dearcygui_4core_uiItem(o);
  tmp = ((PyObject*)p->_texture);
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Image_texture(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Image_7texture_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Image_texture(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Image_7texture_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Image_uv(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Image_2uv_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Image_uv(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Image_2uv_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Image_color_multiplier(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Image_16color_multiplier_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Image_color_multiplier(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Image_16color_multiplier_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_5Image_border_color(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_5Image_12border_color_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_5Image_border_color(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_5Image_12border_color_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Image[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Image_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_5Image_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Image[] = {
  {(char *)"texture", __pyx_getprop_9dearcygui_4core_5Image_texture, __pyx_setprop_9dearcygui_4core_5Image_texture, (char *)0, 0},
  {(char *)"uv", __pyx_getprop_9dearcygui_4core_5Image_uv, __pyx_setprop_9dearcygui_4core_5Image_uv, (char *)0, 0},
  {(char *)"color_multiplier", __pyx_getprop_9dearcygui_4core_5Image_color_multiplier, __pyx_setprop_9dearcygui_4core_5Image_color_multiplier, (char *)0, 0},
  {(char *)"border_color", __pyx_getprop_9dearcygui_4core_5Image_border_color, __pyx_setprop_9dearcygui_4core_5Image_border_color, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Image_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Image},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Image},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Image},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Image},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Image},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Image},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Image_spec = {
  "dearcygui.core.Image",
  sizeof(struct __pyx_obj_9dearcygui_4core_Image),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Image_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Image = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Image", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Image), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Image, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Image, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Image, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Image, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Image, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Image, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ImageButton __pyx_vtable_9dearcygui_4core_ImageButton;

static PyObject *__pyx_tp_new_9dearcygui_4core_ImageButton(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ImageButton *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ImageButton *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ImageButton;
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_11ImageButton_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_ImageButton(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_ImageButton *p = (struct __pyx_obj_9dearcygui_4core_ImageButton *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_ImageButton) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_texture);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_ImageButton(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_ImageButton *p = (struct __pyx_obj_9dearcygui_4core_ImageButton *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_uiItem(o, v, a); if (e) return e;
  if (p->_texture) {
    e = (*v)(((PyObject *)p->_texture), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_ImageButton(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_ImageButton *p = (struct __pyx_obj_9dearcygui_4core_ImageButton *)o;
  __pyx_tp_clear_9dearcygui_4core_uiItem(o);
  tmp = ((PyObject*)p->_texture);
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ImageButton_texture(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ImageButton_7texture_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ImageButton_texture(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ImageButton_7texture_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ImageButton_frame_padding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ImageButton_frame_padding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ImageButton_13frame_padding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ImageButton_uv(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ImageButton_2uv_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ImageButton_uv(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ImageButton_2uv_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ImageButton_color_multiplier(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ImageButton_color_multiplier(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ImageButton_16color_multiplier_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ImageButton_background_color(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ImageButton_16background_color_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ImageButton_background_color(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ImageButton_16background_color_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ImageButton[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ImageButton_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ImageButton_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ImageButton[] = {
  {(char *)"texture", __pyx_getprop_9dearcygui_4core_11ImageButton_texture, __pyx_setprop_9dearcygui_4core_11ImageButton_texture, (char *)0, 0},
  {(char *)"frame_padding", __pyx_getprop_9dearcygui_4core_11ImageButton_frame_padding, __pyx_setprop_9dearcygui_4core_11ImageButton_frame_padding, (char *)0, 0},
  {(char *)"uv", __pyx_getprop_9dearcygui_4core_11ImageButton_uv, __pyx_setprop_9dearcygui_4core_11ImageButton_uv, (char *)0, 0},
  {(char *)"color_multiplier", __pyx_getprop_9dearcygui_4core_11ImageButton_color_multiplier, __pyx_setprop_9dearcygui_4core_11ImageButton_color_multiplier, (char *)0, 0},
  {(char *)"background_color", __pyx_getprop_9dearcygui_4core_11ImageButton_background_color, __pyx_setprop_9dearcygui_4core_11ImageButton_background_color, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ImageButton_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_ImageButton},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_ImageButton},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_ImageButton},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ImageButton},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ImageButton},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ImageButton},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ImageButton_spec = {
  "dearcygui.core.ImageButton",
  sizeof(struct __pyx_obj_9dearcygui_4core_ImageButton),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ImageButton_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ImageButton = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ImageButton", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ImageButton), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_ImageButton, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_ImageButton, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_ImageButton, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ImageButton, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ImageButton, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ImageButton, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Separator __pyx_vtable_9dearcygui_4core_Separator;

static PyObject *__pyx_tp_new_9dearcygui_4core_Separator(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Separator *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Separator *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Separator;
  if (unlikely(__pyx_pw_9dearcygui_4core_9Separator_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_9Separator_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9Separator_5label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9Separator_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9Separator_5label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Separator[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9Separator_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9Separator_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Separator[] = {
  {(char *)"label", __pyx_getprop_9dearcygui_4core_9Separator_label, __pyx_setprop_9dearcygui_4core_9Separator_label, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Separator_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Separator},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Separator},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Separator},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Separator_spec = {
  "dearcygui.core.Separator",
  sizeof(struct __pyx_obj_9dearcygui_4core_Separator),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Separator_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Separator = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Separator", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Separator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Separator, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Separator, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Separator, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Spacer __pyx_vtable_9dearcygui_4core_Spacer;

static PyObject *__pyx_tp_new_9dearcygui_4core_Spacer(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Spacer *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Spacer *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Spacer;
  if (unlikely(__pyx_pw_9dearcygui_4core_6Spacer_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Spacer[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Spacer_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Spacer_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Spacer_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Spacer},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Spacer},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Spacer_spec = {
  "dearcygui.core.Spacer",
  sizeof(struct __pyx_obj_9dearcygui_4core_Spacer),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Spacer_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Spacer = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Spacer", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Spacer), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Spacer, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Spacer, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_MenuBar __pyx_vtable_9dearcygui_4core_MenuBar;

static PyObject *__pyx_tp_new_9dearcygui_4core_MenuBar(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_MenuBar *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_MenuBar *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_MenuBar;
  if (unlikely(__pyx_pw_9dearcygui_4core_7MenuBar_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_MenuBar[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7MenuBar_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7MenuBar_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_MenuBar_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_MenuBar},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_MenuBar},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_MenuBar_spec = {
  "dearcygui.core.MenuBar",
  sizeof(struct __pyx_obj_9dearcygui_4core_MenuBar),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_MenuBar_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_MenuBar = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""MenuBar", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_MenuBar), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_MenuBar, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_MenuBar, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Menu __pyx_vtable_9dearcygui_4core_Menu;

static PyObject *__pyx_tp_new_9dearcygui_4core_Menu(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Menu *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Menu *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Menu;
  if (unlikely(__pyx_pw_9dearcygui_4core_4Menu_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Menu[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Menu_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Menu_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Menu_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Menu},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Menu},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Menu_spec = {
  "dearcygui.core.Menu",
  sizeof(struct __pyx_obj_9dearcygui_4core_Menu),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Menu_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Menu = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Menu", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Menu), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Menu, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Menu, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Tooltip __pyx_vtable_9dearcygui_4core_Tooltip;

static PyObject *__pyx_tp_new_9dearcygui_4core_Tooltip(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Tooltip *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Tooltip *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Tooltip;
  p->_target = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  p->secondary_handler = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_7Tooltip_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Tooltip(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Tooltip *p = (struct __pyx_obj_9dearcygui_4core_Tooltip *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Tooltip) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_target);
  Py_CLEAR(p->secondary_handler);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Tooltip(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Tooltip *p = (struct __pyx_obj_9dearcygui_4core_Tooltip *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_uiItem(o, v, a); if (e) return e;
  if (p->_target) {
    e = (*v)(((PyObject *)p->_target), a); if (e) return e;
  }
  if (p->secondary_handler) {
    e = (*v)(((PyObject *)p->secondary_handler), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Tooltip(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Tooltip *p = (struct __pyx_obj_9dearcygui_4core_Tooltip *)o;
  __pyx_tp_clear_9dearcygui_4core_uiItem(o);
  tmp = ((PyObject*)p->_target);
  p->_target = ((struct __pyx_obj_9dearcygui_4core_baseItem *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->secondary_handler);
  p->secondary_handler = ((struct __pyx_obj_9dearcygui_4core_baseHandler *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Tooltip_target(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Tooltip_6target_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Tooltip_target(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Tooltip_6target_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Tooltip_condition_from_handler(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Tooltip_condition_from_handler(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Tooltip_22condition_from_handler_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Tooltip_delay(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Tooltip_5delay_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Tooltip_delay(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Tooltip_5delay_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Tooltip_hide_on_activity(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Tooltip_hide_on_activity(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Tooltip_16hide_on_activity_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Tooltip[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Tooltip_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Tooltip_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Tooltip[] = {
  {(char *)"target", __pyx_getprop_9dearcygui_4core_7Tooltip_target, __pyx_setprop_9dearcygui_4core_7Tooltip_target, (char *)PyDoc_STR("\n        Target item which state will be checked\n        to trigger the tooltip.\n        Note if the item is after this tooltip\n        in the rendering tree, there will be\n        a frame delay.\n        If no target is set, the previous sibling\n        is the target.\n        If the target is not the previous sibling,\n        delay will have no effect.\n        "), 0},
  {(char *)"condition_from_handler", __pyx_getprop_9dearcygui_4core_7Tooltip_condition_from_handler, __pyx_setprop_9dearcygui_4core_7Tooltip_condition_from_handler, (char *)PyDoc_STR("\n        When set, the handler referenced in\n        this field will be used to replace\n        the target hovering check. It will\n        apply to target, which must be set.\n        "), 0},
  {(char *)"delay", __pyx_getprop_9dearcygui_4core_7Tooltip_delay, __pyx_setprop_9dearcygui_4core_7Tooltip_delay, (char *)PyDoc_STR("\n        Delay in seconds with no motion before showing the tooltip\n        -1: Use imgui defaults\n        Has no effect if the target is not the previous sibling,\n        or if condition_from_handler is set.\n        "), 0},
  {(char *)"hide_on_activity", __pyx_getprop_9dearcygui_4core_7Tooltip_hide_on_activity, __pyx_setprop_9dearcygui_4core_7Tooltip_hide_on_activity, (char *)PyDoc_STR("\n        Hide the tooltip when the mouse moves\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Tooltip_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Tooltip},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Tooltip},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Tooltip},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Tooltip},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Tooltip},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Tooltip},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Tooltip_spec = {
  "dearcygui.core.Tooltip",
  sizeof(struct __pyx_obj_9dearcygui_4core_Tooltip),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Tooltip_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Tooltip = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Tooltip", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Tooltip), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Tooltip, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Tooltip, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Tooltip, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Tooltip, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Tooltip, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Tooltip, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_TabButton __pyx_vtable_9dearcygui_4core_TabButton;

static PyObject *__pyx_tp_new_9dearcygui_4core_TabButton(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_TabButton *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_TabButton *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_TabButton;
  if (unlikely(__pyx_pw_9dearcygui_4core_9TabButton_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_9TabButton_no_reorder(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9TabButton_no_reorder(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9TabButton_10no_reorder_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9TabButton_leading(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9TabButton_7leading_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9TabButton_leading(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9TabButton_7leading_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9TabButton_trailing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9TabButton_8trailing_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9TabButton_trailing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9TabButton_8trailing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9TabButton_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9TabButton_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9TabButton_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_TabButton[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9TabButton_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9TabButton_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_TabButton[] = {
  {(char *)"no_reorder", __pyx_getprop_9dearcygui_4core_9TabButton_no_reorder, __pyx_setprop_9dearcygui_4core_9TabButton_no_reorder, (char *)PyDoc_STR("\n        Writable attribute: Disable reordering this tab or\n        having another tab cross over this tab\n        "), 0},
  {(char *)"leading", __pyx_getprop_9dearcygui_4core_9TabButton_leading, __pyx_setprop_9dearcygui_4core_9TabButton_leading, (char *)PyDoc_STR("\n        Writable attribute: Enforce the tab position to the\n        left of the tab bar (after the tab list popup button)\n        "), 0},
  {(char *)"trailing", __pyx_getprop_9dearcygui_4core_9TabButton_trailing, __pyx_setprop_9dearcygui_4core_9TabButton_trailing, (char *)PyDoc_STR("\n        Writable attribute: Enforce the tab position to the\n        right of the tab bar (before the scrolling buttons)\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_9TabButton_no_tooltip, __pyx_setprop_9dearcygui_4core_9TabButton_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: Disable tooltip for the given tab\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_TabButton_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_TabButton},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_TabButton},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_TabButton},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_TabButton_spec = {
  "dearcygui.core.TabButton",
  sizeof(struct __pyx_obj_9dearcygui_4core_TabButton),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_TabButton_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_TabButton = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""TabButton", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_TabButton), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_TabButton, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_TabButton, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_TabButton, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Tab __pyx_vtable_9dearcygui_4core_Tab;

static PyObject *__pyx_tp_new_9dearcygui_4core_Tab(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Tab *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Tab *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Tab;
  if (unlikely(__pyx_pw_9dearcygui_4core_3Tab_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_3Tab_closable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_3Tab_8closable_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_3Tab_closable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_3Tab_8closable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_3Tab_no_reorder(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_3Tab_10no_reorder_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_3Tab_no_reorder(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_3Tab_10no_reorder_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_3Tab_leading(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_3Tab_7leading_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_3Tab_leading(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_3Tab_7leading_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_3Tab_trailing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_3Tab_8trailing_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_3Tab_trailing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_3Tab_8trailing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_3Tab_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_3Tab_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_3Tab_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Tab[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_3Tab_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_3Tab_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Tab[] = {
  {(char *)"closable", __pyx_getprop_9dearcygui_4core_3Tab_closable, __pyx_setprop_9dearcygui_4core_3Tab_closable, (char *)PyDoc_STR("\n        Writable attribute: Can the tab be closed\n        "), 0},
  {(char *)"no_reorder", __pyx_getprop_9dearcygui_4core_3Tab_no_reorder, __pyx_setprop_9dearcygui_4core_3Tab_no_reorder, (char *)PyDoc_STR("\n        Writable attribute: Disable reordering this tab or\n        having another tab cross over this tab\n        "), 0},
  {(char *)"leading", __pyx_getprop_9dearcygui_4core_3Tab_leading, __pyx_setprop_9dearcygui_4core_3Tab_leading, (char *)PyDoc_STR("\n        Writable attribute: Enforce the tab position to the\n        left of the tab bar (after the tab list popup button)\n        "), 0},
  {(char *)"trailing", __pyx_getprop_9dearcygui_4core_3Tab_trailing, __pyx_setprop_9dearcygui_4core_3Tab_trailing, (char *)PyDoc_STR("\n        Writable attribute: Enforce the tab position to the\n        right of the tab bar (before the scrolling buttons)\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_3Tab_no_tooltip, __pyx_setprop_9dearcygui_4core_3Tab_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: Disable tooltip for the given tab\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Tab_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Tab},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Tab},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Tab},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Tab_spec = {
  "dearcygui.core.Tab",
  sizeof(struct __pyx_obj_9dearcygui_4core_Tab),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Tab_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Tab = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Tab", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Tab), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Tab, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Tab, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Tab, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_TabBar __pyx_vtable_9dearcygui_4core_TabBar;

static PyObject *__pyx_tp_new_9dearcygui_4core_TabBar(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_TabBar *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_TabBar *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_TabBar;
  if (unlikely(__pyx_pw_9dearcygui_4core_6TabBar_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_reorderable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_11reorderable_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_reorderable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_11reorderable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_autoselect_new_tabs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_autoselect_new_tabs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_19autoselect_new_tabs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_no_tab_list_popup_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_no_tab_list_popup_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_24no_tab_list_popup_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_no_close_with_middle_mouse_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_no_close_with_middle_mouse_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_33no_close_with_middle_mouse_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_no_scrolling_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_no_scrolling_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_19no_scrolling_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_selected_overline(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_selected_overline(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_17selected_overline_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_resize_to_fit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_resize_to_fit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_13resize_to_fit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6TabBar_allow_tab_scroll(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6TabBar_allow_tab_scroll(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6TabBar_16allow_tab_scroll_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_TabBar[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6TabBar_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6TabBar_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_TabBar[] = {
  {(char *)"reorderable", __pyx_getprop_9dearcygui_4core_6TabBar_reorderable, __pyx_setprop_9dearcygui_4core_6TabBar_reorderable, (char *)PyDoc_STR("\n        Writable attribute: Allow manually dragging tabs\n        to re-order them + New tabs are appended at the end of list\n        "), 0},
  {(char *)"autoselect_new_tabs", __pyx_getprop_9dearcygui_4core_6TabBar_autoselect_new_tabs, __pyx_setprop_9dearcygui_4core_6TabBar_autoselect_new_tabs, (char *)PyDoc_STR("\n        Writable attribute: Automatically select new\n        tabs when they appear\n        "), 0},
  {(char *)"no_tab_list_popup_button", __pyx_getprop_9dearcygui_4core_6TabBar_no_tab_list_popup_button, __pyx_setprop_9dearcygui_4core_6TabBar_no_tab_list_popup_button, (char *)PyDoc_STR("\n        Writable attribute: Disable buttons to open the tab list popup\n        "), 0},
  {(char *)"no_close_with_middle_mouse_button", __pyx_getprop_9dearcygui_4core_6TabBar_no_close_with_middle_mouse_button, __pyx_setprop_9dearcygui_4core_6TabBar_no_close_with_middle_mouse_button, (char *)PyDoc_STR("\n        Writable attribute: Disable behavior of closing tabs with middle mouse button.\n        "), 0},
  {(char *)"no_scrolling_button", __pyx_getprop_9dearcygui_4core_6TabBar_no_scrolling_button, __pyx_setprop_9dearcygui_4core_6TabBar_no_scrolling_button, (char *)PyDoc_STR("\n        Writable attribute: Disable scrolling buttons\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_6TabBar_no_tooltip, __pyx_setprop_9dearcygui_4core_6TabBar_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: Disable tooltip for all tabs\n        "), 0},
  {(char *)"selected_overline", __pyx_getprop_9dearcygui_4core_6TabBar_selected_overline, __pyx_setprop_9dearcygui_4core_6TabBar_selected_overline, (char *)PyDoc_STR("\n        Writable attribute: Draw selected overline markers over selected tab\n        "), 0},
  {(char *)"resize_to_fit", __pyx_getprop_9dearcygui_4core_6TabBar_resize_to_fit, __pyx_setprop_9dearcygui_4core_6TabBar_resize_to_fit, (char *)PyDoc_STR("\n        Writable attribute: Resize tabs when they don't fit\n        "), 0},
  {(char *)"allow_tab_scroll", __pyx_getprop_9dearcygui_4core_6TabBar_allow_tab_scroll, __pyx_setprop_9dearcygui_4core_6TabBar_allow_tab_scroll, (char *)PyDoc_STR("\n        Writable attribute: Add scroll buttons when tabs don't fit\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_TabBar_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_TabBar},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_TabBar},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_TabBar},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_TabBar_spec = {
  "dearcygui.core.TabBar",
  sizeof(struct __pyx_obj_9dearcygui_4core_TabBar),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_TabBar_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_TabBar = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""TabBar", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_TabBar), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_TabBar, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_TabBar, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_TabBar, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Layout __pyx_vtable_9dearcygui_4core_Layout;

static PyObject *__pyx_tp_new_9dearcygui_4core_Layout(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Layout *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Layout *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Layout;
  new((void*)&(p->prev_content_area)) ImVec2();
  if (unlikely(__pyx_pw_9dearcygui_4core_6Layout_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Layout(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Layout *p = (struct __pyx_obj_9dearcygui_4core_Layout *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Layout) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->prev_content_area);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Layout[] = {
  {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_3update_layout, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Layout_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Layout_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Layout},
  {Py_tp_doc, (void *)PyDoc_STR("\n    A layout is a group of elements organized\n    together.\n    The layout states correspond to the OR\n    of all the item states, and the rect size\n    corresponds to the minimum rect containing\n    all the items. The position of the layout\n    is used to initialize the default position\n    for the first item.\n    For example setting indent will shift all\n    the items of the Layout.\n\n    Subclassing Layout:\n    For custom layouts, you can use Layout with\n    a callback. The callback is called whenever\n    the layout should be updated.\n\n    If the automated update detection is not\n    sufficient, update_layout() can be called\n    to force a recomputation of the layout.\n\n    Currently the update detection detects a change in\n    the size of the remaining content area available\n    locally within the window, or if the last item has changed.\n\n    The layout item works by changing the positioning\n    policy and the target position of its children, and\n    thus there is no guarantee that the user set\n    positioning and position states of the children are\n    preserved.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Layout},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Layout},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Layout_spec = {
  "dearcygui.core.Layout",
  sizeof(struct __pyx_obj_9dearcygui_4core_Layout),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Layout_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Layout = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Layout", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Layout), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Layout, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A layout is a group of elements organized\n    together.\n    The layout states correspond to the OR\n    of all the item states, and the rect size\n    corresponds to the minimum rect containing\n    all the items. The position of the layout\n    is used to initialize the default position\n    for the first item.\n    For example setting indent will shift all\n    the items of the Layout.\n\n    Subclassing Layout:\n    For custom layouts, you can use Layout with\n    a callback. The callback is called whenever\n    the layout should be updated.\n\n    If the automated update detection is not\n    sufficient, update_layout() can be called\n    to force a recomputation of the layout.\n\n    Currently the update detection detects a change in\n    the size of the remaining content area available\n    locally within the window, or if the last item has changed.\n\n    The layout item works by changing the positioning\n    policy and the target position of its children, and\n    thus there is no guarantee that the user set\n    positioning and position states of the children are\n    preserved.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Layout, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Layout, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_HorizontalLayout __pyx_vtable_9dearcygui_4core_HorizontalLayout;

static PyObject *__pyx_tp_new_9dearcygui_4core_HorizontalLayout(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_HorizontalLayout *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_Layout(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_HorizontalLayout;
  new((void*)&(p->_positions)) std::vector<float> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_16HorizontalLayout_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_HorizontalLayout(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_HorizontalLayout *p = (struct __pyx_obj_9dearcygui_4core_HorizontalLayout *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_HorizontalLayout) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_positions);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_Layout(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_16HorizontalLayout_alignment_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16HorizontalLayout_alignment_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16HorizontalLayout_14alignment_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16HorizontalLayout_spacing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16HorizontalLayout_spacing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16HorizontalLayout_7spacing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16HorizontalLayout_positions(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16HorizontalLayout_positions(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16HorizontalLayout_9positions_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_HorizontalLayout[] = {
  {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_3update_layout, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_HorizontalLayout[] = {
  {(char *)"alignment_mode", __pyx_getprop_9dearcygui_4core_16HorizontalLayout_alignment_mode, __pyx_setprop_9dearcygui_4core_16HorizontalLayout_alignment_mode, (char *)PyDoc_STR("\n        Horizontal alignment mode of the items.\n        LEFT: items are appended from the left\n        RIGHT: items are appended from the right\n        CENTER: items are centered\n        JUSTIFIED: spacing is organized such\n        that items start at the left and end\n        at the right.\n        MANUAL: items are positionned at the requested\n        positions\n\n        FOR LEFT/RIGHT/CENTER, spacing can be used\n        to add additional spacing between the items.\n        Default is LEFT.\n        "), 0},
  {(char *)"spacing", __pyx_getprop_9dearcygui_4core_16HorizontalLayout_spacing, __pyx_setprop_9dearcygui_4core_16HorizontalLayout_spacing, (char *)PyDoc_STR("\n        Additional space to add between items.\n        Doesn't have effect with JUSTIFIED or MANUAL.\n        "), 0},
  {(char *)"positions", __pyx_getprop_9dearcygui_4core_16HorizontalLayout_positions, __pyx_setprop_9dearcygui_4core_16HorizontalLayout_positions, (char *)PyDoc_STR("\n        When in MANUAL mode, the x position starting\n        from the top left of this item at which to\n        place the children items.\n\n        If the positions are between 0 and 1, they are\n        interpreted as percentages relative to the\n        size of the Layout width.\n        If the positions are negatives, they are interpreted\n        as in reference to the right of the layout rather\n        than the left. Items are still left aligned to\n        the target position though.\n\n        Setting this field sets the alignment mode to\n        MANUAL.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_HorizontalLayout_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_HorizontalLayout},
  {Py_tp_doc, (void *)PyDoc_STR("\n    A basic layout to organize the items\n    horizontally.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_HorizontalLayout},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_HorizontalLayout},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_HorizontalLayout},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_HorizontalLayout_spec = {
  "dearcygui.core.HorizontalLayout",
  sizeof(struct __pyx_obj_9dearcygui_4core_HorizontalLayout),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_HorizontalLayout_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_HorizontalLayout = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""HorizontalLayout", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_HorizontalLayout), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_HorizontalLayout, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A basic layout to organize the items\n    horizontally.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_HorizontalLayout, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_HorizontalLayout, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_HorizontalLayout, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_VerticalLayout __pyx_vtable_9dearcygui_4core_VerticalLayout;

static PyObject *__pyx_tp_new_9dearcygui_4core_VerticalLayout(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_VerticalLayout *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_Layout(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_VerticalLayout *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_VerticalLayout;
  new((void*)&(p->_positions)) std::vector<float> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_14VerticalLayout_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_VerticalLayout(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_VerticalLayout *p = (struct __pyx_obj_9dearcygui_4core_VerticalLayout *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_VerticalLayout) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_positions);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_Layout(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_14VerticalLayout_alignment_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14VerticalLayout_alignment_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14VerticalLayout_14alignment_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14VerticalLayout_spacing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14VerticalLayout_spacing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14VerticalLayout_7spacing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14VerticalLayout_positions(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14VerticalLayout_positions(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14VerticalLayout_9positions_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_VerticalLayout[] = {
  {"update_layout", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_3update_layout, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14VerticalLayout_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_VerticalLayout[] = {
  {(char *)"alignment_mode", __pyx_getprop_9dearcygui_4core_14VerticalLayout_alignment_mode, __pyx_setprop_9dearcygui_4core_14VerticalLayout_alignment_mode, (char *)PyDoc_STR("\n        Vertical alignment mode of the items.\n        TOP: items are appended from the top\n        BOTTOM: items are appended from the BOTTOM\n        CENTER: items are centered\n        JUSTIFIED: spacing is organized such\n        that items start at the TOP and end\n        at the BOTTOM.\n        MANUAL: items are positionned at the requested\n        positions\n\n        FOR TOP/BOTTOM/CENTER, spacing can be used\n        to add additional spacing between the items.\n        Default is TOP.\n        "), 0},
  {(char *)"spacing", __pyx_getprop_9dearcygui_4core_14VerticalLayout_spacing, __pyx_setprop_9dearcygui_4core_14VerticalLayout_spacing, (char *)PyDoc_STR("\n        Additional space to add between items.\n        Doesn't have effect with JUSTIFIED or MANUAL.\n        "), 0},
  {(char *)"positions", __pyx_getprop_9dearcygui_4core_14VerticalLayout_positions, __pyx_setprop_9dearcygui_4core_14VerticalLayout_positions, (char *)PyDoc_STR("\n        When in MANUAL mode, the y position starting\n        from the top left of this item at which to\n        place the children items.\n\n        If the positions are between 0 and 1, they are\n        interpreted as percentages relative to the\n        size of the Layout height.\n        If the positions are negatives, they are interpreted\n        as in reference to the bottom of the layout rather\n        than the top. Items are still top aligned to\n        the target position though.\n\n        Setting this field sets the alignment mode to\n        MANUAL.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_VerticalLayout_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_VerticalLayout},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Same as HorizontalLayout but vertically\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_VerticalLayout},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_VerticalLayout},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_VerticalLayout},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_VerticalLayout_spec = {
  "dearcygui.core.VerticalLayout",
  sizeof(struct __pyx_obj_9dearcygui_4core_VerticalLayout),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_VerticalLayout_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_VerticalLayout = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""VerticalLayout", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_VerticalLayout), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_VerticalLayout, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Same as HorizontalLayout but vertically\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_VerticalLayout, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_VerticalLayout, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_VerticalLayout, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_TreeNode __pyx_vtable_9dearcygui_4core_TreeNode;

static PyObject *__pyx_tp_new_9dearcygui_4core_TreeNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_TreeNode *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_TreeNode *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_TreeNode;
  if (unlikely(__pyx_pw_9dearcygui_4core_8TreeNode_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_selectable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_10selectable_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_selectable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_10selectable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_default_open(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_12default_open_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_default_open(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_12default_open_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_open_on_double_click(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_open_on_double_click(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_20open_on_double_click_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_open_on_arrow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_open_on_arrow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_13open_on_arrow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_leaf(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_4leaf_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_leaf(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_4leaf_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_bullet(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_6bullet_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_bullet(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_6bullet_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_span_text_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_span_text_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_15span_text_width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8TreeNode_span_full_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8TreeNode_span_full_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8TreeNode_15span_full_width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_TreeNode[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8TreeNode_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8TreeNode_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_TreeNode[] = {
  {(char *)"selectable", __pyx_getprop_9dearcygui_4core_8TreeNode_selectable, __pyx_setprop_9dearcygui_4core_8TreeNode_selectable, (char *)PyDoc_STR("\n        Writable attribute: Draw the TreeNode as selected when opened\n        "), 0},
  {(char *)"default_open", __pyx_getprop_9dearcygui_4core_8TreeNode_default_open, __pyx_setprop_9dearcygui_4core_8TreeNode_default_open, (char *)PyDoc_STR("\n        Writable attribute: Default node to be open\n        "), 0},
  {(char *)"open_on_double_click", __pyx_getprop_9dearcygui_4core_8TreeNode_open_on_double_click, __pyx_setprop_9dearcygui_4core_8TreeNode_open_on_double_click, (char *)PyDoc_STR("\n        Writable attribute: Need double-click to open node\n        "), 0},
  {(char *)"open_on_arrow", __pyx_getprop_9dearcygui_4core_8TreeNode_open_on_arrow, __pyx_setprop_9dearcygui_4core_8TreeNode_open_on_arrow, (char *)PyDoc_STR("\n        Writable attribute:  Only open when clicking on the arrow part.\n        If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set,\n        single-click arrow or double-click all box to open.\n        "), 0},
  {(char *)"leaf", __pyx_getprop_9dearcygui_4core_8TreeNode_leaf, __pyx_setprop_9dearcygui_4core_8TreeNode_leaf, (char *)PyDoc_STR("\n        Writable attribute: No collapsing, no arrow (use as a convenience for leaf nodes).\n        "), 0},
  {(char *)"bullet", __pyx_getprop_9dearcygui_4core_8TreeNode_bullet, __pyx_setprop_9dearcygui_4core_8TreeNode_bullet, (char *)PyDoc_STR("\n        Writable attribute: Display a bullet instead of arrow.\n        IMPORTANT: node can still be marked open/close if\n        you don't set the _Leaf flag!\n        "), 0},
  {(char *)"span_text_width", __pyx_getprop_9dearcygui_4core_8TreeNode_span_text_width, __pyx_setprop_9dearcygui_4core_8TreeNode_span_text_width, (char *)PyDoc_STR("\n        Writable attribute: Narrow hit box + narrow hovering\n        highlight, will only cover the label text.\n        "), 0},
  {(char *)"span_full_width", __pyx_getprop_9dearcygui_4core_8TreeNode_span_full_width, __pyx_setprop_9dearcygui_4core_8TreeNode_span_full_width, (char *)PyDoc_STR("\n        Writable attribute: Extend hit box to the left-most\n        and right-most edges (cover the indent area).\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_TreeNode_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_TreeNode},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_TreeNode},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_TreeNode},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_TreeNode_spec = {
  "dearcygui.core.TreeNode",
  sizeof(struct __pyx_obj_9dearcygui_4core_TreeNode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_TreeNode_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_TreeNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""TreeNode", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_TreeNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_TreeNode, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_TreeNode, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_TreeNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_CollapsingHeader __pyx_vtable_9dearcygui_4core_CollapsingHeader;

static PyObject *__pyx_tp_new_9dearcygui_4core_CollapsingHeader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_CollapsingHeader *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_CollapsingHeader *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_CollapsingHeader;
  if (unlikely(__pyx_pw_9dearcygui_4core_16CollapsingHeader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_16CollapsingHeader_closable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16CollapsingHeader_closable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16CollapsingHeader_8closable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16CollapsingHeader_open_on_double_click(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16CollapsingHeader_open_on_double_click(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16CollapsingHeader_20open_on_double_click_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16CollapsingHeader_open_on_arrow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16CollapsingHeader_open_on_arrow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16CollapsingHeader_13open_on_arrow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16CollapsingHeader_leaf(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16CollapsingHeader_leaf(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16CollapsingHeader_4leaf_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16CollapsingHeader_bullet(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16CollapsingHeader_bullet(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16CollapsingHeader_6bullet_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_CollapsingHeader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_CollapsingHeader[] = {
  {(char *)"closable", __pyx_getprop_9dearcygui_4core_16CollapsingHeader_closable, __pyx_setprop_9dearcygui_4core_16CollapsingHeader_closable, (char *)PyDoc_STR("\n        Writable attribute: Display a close button\n        "), 0},
  {(char *)"open_on_double_click", __pyx_getprop_9dearcygui_4core_16CollapsingHeader_open_on_double_click, __pyx_setprop_9dearcygui_4core_16CollapsingHeader_open_on_double_click, (char *)PyDoc_STR("\n        Writable attribute: Need double-click to open node\n        "), 0},
  {(char *)"open_on_arrow", __pyx_getprop_9dearcygui_4core_16CollapsingHeader_open_on_arrow, __pyx_setprop_9dearcygui_4core_16CollapsingHeader_open_on_arrow, (char *)PyDoc_STR("\n        Writable attribute:  Only open when clicking on the arrow part.\n        If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set,\n        single-click arrow or double-click all box to open.\n        "), 0},
  {(char *)"leaf", __pyx_getprop_9dearcygui_4core_16CollapsingHeader_leaf, __pyx_setprop_9dearcygui_4core_16CollapsingHeader_leaf, (char *)PyDoc_STR("\n        Writable attribute: No collapsing, no arrow (use as a convenience for leaf nodes).\n        "), 0},
  {(char *)"bullet", __pyx_getprop_9dearcygui_4core_16CollapsingHeader_bullet, __pyx_setprop_9dearcygui_4core_16CollapsingHeader_bullet, (char *)PyDoc_STR("\n        Writable attribute: Display a bullet instead of arrow.\n        IMPORTANT: node can still be marked open/close if\n        you don't set the _Leaf flag!\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_CollapsingHeader_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_CollapsingHeader},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_CollapsingHeader},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_CollapsingHeader},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_CollapsingHeader_spec = {
  "dearcygui.core.CollapsingHeader",
  sizeof(struct __pyx_obj_9dearcygui_4core_CollapsingHeader),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_CollapsingHeader_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_CollapsingHeader = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""CollapsingHeader", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_CollapsingHeader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_CollapsingHeader, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_CollapsingHeader, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_CollapsingHeader, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ChildWindow __pyx_vtable_9dearcygui_4core_ChildWindow;

static PyObject *__pyx_tp_new_9dearcygui_4core_ChildWindow(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ChildWindow *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ChildWindow *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ChildWindow;
  if (unlikely(__pyx_pw_9dearcygui_4core_11ChildWindow_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_always_show_vertical_scrollvar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_always_show_vertical_scrollvar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_30always_show_vertical_scrollvar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_always_show_horizontal_scrollvar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_always_show_horizontal_scrollvar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_32always_show_horizontal_scrollvar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_no_scrollbar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_no_scrollbar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_12no_scrollbar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_horizontal_scrollbar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_horizontal_scrollbar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_20horizontal_scrollbar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_menubar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_menubar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_7menubar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_no_scroll_with_mouse(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_no_scroll_with_mouse(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_20no_scroll_with_mouse_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_flattened_navigation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_flattened_navigation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_20flattened_navigation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_border(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_6border_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_border(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_6border_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_always_auto_resize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_always_auto_resize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_18always_auto_resize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_always_use_window_padding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_always_use_window_padding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_25always_use_window_padding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_auto_resize_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_auto_resize_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_auto_resize_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_auto_resize_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_13auto_resize_y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_frame_style(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_frame_style(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_11frame_style_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_resizable_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_resizable_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ChildWindow_resizable_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ChildWindow_resizable_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ChildWindow_11resizable_y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ChildWindow[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ChildWindow_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ChildWindow_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ChildWindow[] = {
  {(char *)"always_show_vertical_scrollvar", __pyx_getprop_9dearcygui_4core_11ChildWindow_always_show_vertical_scrollvar, __pyx_setprop_9dearcygui_4core_11ChildWindow_always_show_vertical_scrollvar, (char *)PyDoc_STR("\n        Writable attribute to tell to always show a vertical scrollbar\n        even when the size does not require it\n        "), 0},
  {(char *)"always_show_horizontal_scrollvar", __pyx_getprop_9dearcygui_4core_11ChildWindow_always_show_horizontal_scrollvar, __pyx_setprop_9dearcygui_4core_11ChildWindow_always_show_horizontal_scrollvar, (char *)PyDoc_STR("\n        Writable attribute to tell to always show a horizontal scrollbar\n        even when the size does not require it (only if horizontal scrollbar\n        are enabled)\n        "), 0},
  {(char *)"no_scrollbar", __pyx_getprop_9dearcygui_4core_11ChildWindow_no_scrollbar, __pyx_setprop_9dearcygui_4core_11ChildWindow_no_scrollbar, (char *)PyDoc_STR("Writable attribute to indicate the window should have no scrollbar\n           Does not disable scrolling via mouse or keyboard\n        "), 0},
  {(char *)"horizontal_scrollbar", __pyx_getprop_9dearcygui_4core_11ChildWindow_horizontal_scrollbar, __pyx_setprop_9dearcygui_4core_11ChildWindow_horizontal_scrollbar, (char *)PyDoc_STR("\n        Writable attribute to enable having an horizontal scrollbar\n        "), 0},
  {(char *)"menubar", __pyx_getprop_9dearcygui_4core_11ChildWindow_menubar, __pyx_setprop_9dearcygui_4core_11ChildWindow_menubar, (char *)PyDoc_STR("\n        Writable attribute to indicate whether the window has a menu bar.\n\n        There will be menubar if either the user has asked for it,\n        or there is a menubar child.\n        "), 0},
  {(char *)"no_scroll_with_mouse", __pyx_getprop_9dearcygui_4core_11ChildWindow_no_scroll_with_mouse, __pyx_setprop_9dearcygui_4core_11ChildWindow_no_scroll_with_mouse, (char *)PyDoc_STR("\n        Writable attribute: mouse wheel will be forwarded to the parent\n        unless NoScrollbar is also set.\n        "), 0},
  {(char *)"flattened_navigation", __pyx_getprop_9dearcygui_4core_11ChildWindow_flattened_navigation, __pyx_setprop_9dearcygui_4core_11ChildWindow_flattened_navigation, (char *)PyDoc_STR("\n        Writable attribute: share focus scope, allow gamepad/keyboard\n        navigation to cross over parent border to this child or\n        between sibling child windows.\n        Defaults to True.\n        "), 0},
  {(char *)"border", __pyx_getprop_9dearcygui_4core_11ChildWindow_border, __pyx_setprop_9dearcygui_4core_11ChildWindow_border, (char *)PyDoc_STR("\n        Writable attribute: show an outer border and enable WindowPadding.\n        Defaults to True.\n        "), 0},
  {(char *)"always_auto_resize", __pyx_getprop_9dearcygui_4core_11ChildWindow_always_auto_resize, __pyx_setprop_9dearcygui_4core_11ChildWindow_always_auto_resize, (char *)PyDoc_STR("\n        Writable attribute: combined with AutoResizeX/AutoResizeY.\n        Always measure size even when child is hidden,\n        Note the item will render its children even if hidden.\n        "), 0},
  {(char *)"always_use_window_padding", __pyx_getprop_9dearcygui_4core_11ChildWindow_always_use_window_padding, __pyx_setprop_9dearcygui_4core_11ChildWindow_always_use_window_padding, (char *)PyDoc_STR("\n        Writable attribute: pad with style WindowPadding even if\n        no border are drawn (no padding by default for non-bordered\n        child windows)\n        "), 0},
  {(char *)"auto_resize_x", __pyx_getprop_9dearcygui_4core_11ChildWindow_auto_resize_x, __pyx_setprop_9dearcygui_4core_11ChildWindow_auto_resize_x, (char *)PyDoc_STR("\n        Writable attribute: enable auto-resizing width based on the content\n        Set instead width to 0 to use the remaining size of the parent\n        "), 0},
  {(char *)"auto_resize_y", __pyx_getprop_9dearcygui_4core_11ChildWindow_auto_resize_y, __pyx_setprop_9dearcygui_4core_11ChildWindow_auto_resize_y, (char *)PyDoc_STR("\n        Writable attribute: enable auto-resizing height based on the content\n        Set instead height to 0 to use the remaining size of the parent\n        "), 0},
  {(char *)"frame_style", __pyx_getprop_9dearcygui_4core_11ChildWindow_frame_style, __pyx_setprop_9dearcygui_4core_11ChildWindow_frame_style, (char *)PyDoc_STR("\n        Writable attribute: if set, style the child window like a framed item.\n        That is: use FrameBg, FrameRounding, FrameBorderSize, FramePadding\n        instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding.\n        "), 0},
  {(char *)"resizable_x", __pyx_getprop_9dearcygui_4core_11ChildWindow_resizable_x, __pyx_setprop_9dearcygui_4core_11ChildWindow_resizable_x, (char *)PyDoc_STR("\n        Writable attribute: allow resize from right border (layout direction).\n        "), 0},
  {(char *)"resizable_y", __pyx_getprop_9dearcygui_4core_11ChildWindow_resizable_y, __pyx_setprop_9dearcygui_4core_11ChildWindow_resizable_y, (char *)PyDoc_STR("\n        Writable attribute: allow resize from bottom border (layout direction).\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ChildWindow_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ChildWindow},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ChildWindow},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ChildWindow},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ChildWindow_spec = {
  "dearcygui.core.ChildWindow",
  sizeof(struct __pyx_obj_9dearcygui_4core_ChildWindow),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ChildWindow_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ChildWindow = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ChildWindow", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ChildWindow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ChildWindow, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ChildWindow, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ChildWindow, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ColorButton __pyx_vtable_9dearcygui_4core_ColorButton;

static PyObject *__pyx_tp_new_9dearcygui_4core_ColorButton(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ColorButton *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ColorButton *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ColorButton;
  if (unlikely(__pyx_pw_9dearcygui_4core_11ColorButton_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorButton_no_alpha(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorButton_no_alpha(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorButton_8no_alpha_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorButton_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorButton_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorButton_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorButton_no_drag_drop(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorButton_no_drag_drop(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorButton_12no_drag_drop_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorButton_no_border(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorButton_9no_border_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorButton_no_border(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorButton_9no_border_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ColorButton[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorButton_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorButton_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ColorButton[] = {
  {(char *)"no_alpha", __pyx_getprop_9dearcygui_4core_11ColorButton_no_alpha, __pyx_setprop_9dearcygui_4core_11ColorButton_no_alpha, (char *)PyDoc_STR("\n        Writable attribute: ignore Alpha component (will only read 3 components from the input pointer)\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_11ColorButton_no_tooltip, __pyx_setprop_9dearcygui_4core_11ColorButton_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: disable default tooltip when hovering the preview\n        "), 0},
  {(char *)"no_drag_drop", __pyx_getprop_9dearcygui_4core_11ColorButton_no_drag_drop, __pyx_setprop_9dearcygui_4core_11ColorButton_no_drag_drop, (char *)PyDoc_STR("\n        Writable attribute: disable drag and drop source\n        "), 0},
  {(char *)"no_border", __pyx_getprop_9dearcygui_4core_11ColorButton_no_border, __pyx_setprop_9dearcygui_4core_11ColorButton_no_border, (char *)PyDoc_STR("\n        Writable attribute: disable the default border\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ColorButton_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ColorButton},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ColorButton},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ColorButton},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ColorButton_spec = {
  "dearcygui.core.ColorButton",
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorButton),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ColorButton_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ColorButton = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ColorButton", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorButton), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ColorButton, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ColorButton, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ColorButton, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ColorEdit __pyx_vtable_9dearcygui_4core_ColorEdit;

static PyObject *__pyx_tp_new_9dearcygui_4core_ColorEdit(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ColorEdit *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ColorEdit *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ColorEdit;
  if (unlikely(__pyx_pw_9dearcygui_4core_9ColorEdit_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_alpha(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_alpha(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_8no_alpha_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_picker(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_picker(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_9no_picker_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_options(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_options(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_10no_options_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_small_preview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_small_preview(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_16no_small_preview_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_inputs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_inputs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_9no_inputs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_8no_label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_9ColorEdit_no_drag_drop(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9ColorEdit_no_drag_drop(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9ColorEdit_12no_drag_drop_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ColorEdit[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9ColorEdit_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9ColorEdit_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ColorEdit[] = {
  {(char *)"no_alpha", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_alpha, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_alpha, (char *)PyDoc_STR("\n        Writable attribute: ignore Alpha component (will only read 3 components from the input pointer)\n        "), 0},
  {(char *)"no_picker", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_picker, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_picker, (char *)PyDoc_STR("\n        Writable attribute: disable picker when clicking on color square.\n        "), 0},
  {(char *)"no_options", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_options, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_options, (char *)PyDoc_STR("\n        Writable attribute: disable toggling options menu when right-clicking on inputs/small preview.\n        "), 0},
  {(char *)"no_small_preview", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_small_preview, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_small_preview, (char *)PyDoc_STR("\n        Writable attribute: disable color square preview next to the inputs. (e.g. to show only the inputs)\n        "), 0},
  {(char *)"no_inputs", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_inputs, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_inputs, (char *)PyDoc_STR("\n        Writable attribute: disable inputs sliders/text widgets (e.g. to show only the small preview color square).\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_tooltip, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: disable default tooltip when hovering the preview\n        "), 0},
  {(char *)"no_label", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_label, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_label, (char *)PyDoc_STR("\n        Writable attribute: disable display of inline text label (the label is still forwarded to the tooltip and picker).\n        "), 0},
  {(char *)"no_drag_drop", __pyx_getprop_9dearcygui_4core_9ColorEdit_no_drag_drop, __pyx_setprop_9dearcygui_4core_9ColorEdit_no_drag_drop, (char *)PyDoc_STR("\n        Writable attribute: disable drag and drop target\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ColorEdit_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ColorEdit},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ColorEdit},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ColorEdit},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ColorEdit_spec = {
  "dearcygui.core.ColorEdit",
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorEdit),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ColorEdit_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ColorEdit = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ColorEdit", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorEdit), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ColorEdit, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ColorEdit, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ColorEdit, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_ColorPicker __pyx_vtable_9dearcygui_4core_ColorPicker;

static PyObject *__pyx_tp_new_9dearcygui_4core_ColorPicker(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_ColorPicker *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_ColorPicker *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_ColorPicker;
  if (unlikely(__pyx_pw_9dearcygui_4core_11ColorPicker_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_alpha(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_alpha(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_8no_alpha_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_small_preview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_small_preview(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_16no_small_preview_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_inputs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_inputs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_9no_inputs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_tooltip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_tooltip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_10no_tooltip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_8no_label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11ColorPicker_no_side_preview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11ColorPicker_no_side_preview(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11ColorPicker_15no_side_preview_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_ColorPicker[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorPicker_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11ColorPicker_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_ColorPicker[] = {
  {(char *)"no_alpha", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_alpha, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_alpha, (char *)PyDoc_STR("\n        Writable attribute: ignore Alpha component (will only read 3 components from the input pointer)\n        "), 0},
  {(char *)"no_small_preview", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_small_preview, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_small_preview, (char *)PyDoc_STR("\n        Writable attribute: disable color square preview next to the inputs. (e.g. to show only the inputs)\n        "), 0},
  {(char *)"no_inputs", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_inputs, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_inputs, (char *)PyDoc_STR("\n        Writable attribute: disable inputs sliders/text widgets (e.g. to show only the small preview color square).\n        "), 0},
  {(char *)"no_tooltip", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_tooltip, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_tooltip, (char *)PyDoc_STR("\n        Writable attribute: disable default tooltip when hovering the preview\n        "), 0},
  {(char *)"no_label", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_label, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_label, (char *)PyDoc_STR("\n        Writable attribute: disable display of inline text label (the label is still forwarded to the tooltip and picker).\n        "), 0},
  {(char *)"no_side_preview", __pyx_getprop_9dearcygui_4core_11ColorPicker_no_side_preview, __pyx_setprop_9dearcygui_4core_11ColorPicker_no_side_preview, (char *)PyDoc_STR("\n        Writable attribute: disable bigger color preview on right side of the picker, use small color square preview instead.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_ColorPicker_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_ColorPicker},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_ColorPicker},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_ColorPicker},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_ColorPicker_spec = {
  "dearcygui.core.ColorPicker",
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorPicker),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_ColorPicker_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_ColorPicker = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""ColorPicker", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_ColorPicker), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_ColorPicker, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_ColorPicker, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_ColorPicker, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_TimeWatcher __pyx_vtable_9dearcygui_4core_TimeWatcher;

static PyObject *__pyx_tp_new_9dearcygui_4core_TimeWatcher(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_TimeWatcher *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_TimeWatcher *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_TimeWatcher;
  if (unlikely(__pyx_pw_9dearcygui_4core_11TimeWatcher_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_TimeWatcher[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11TimeWatcher_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11TimeWatcher_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_TimeWatcher_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    A placeholder uiItem that doesn't draw\n    or have any impact on rendering.\n    This item calls the callback with times in ns.\n    These times can be compared with the times in the metrics\n    that can be obtained from the viewport in order to\n    precisely figure out the time spent rendering specific items.\n\n    The first time corresponds to the time when the next sibling\n    requested this sibling to render. At this step, no sibling\n    of this item (previous or next) have rendered anything.\n\n    The second time corresponds to the time when the previous\n    siblings have finished rendering and it is now the turn\n    of this item to render. Next items have not rendered yet.\n\n    The third time corresponds to the time when viewport\n    started rendering items for this frame. It is a duplicate of\n    context.viewport.metrics.last_t_before_rendering. It is\n    given to prevent the user from having to keep track of the\n    viewport metrics (since the callback might be called\n    after or before the viewport updated its metrics for this\n    frame or another one).\n\n    The fourth number corresponds to the frame count\n    at the the time the callback was issued.\n\n    Note the times relate to CPU time (checking states, preparing\n    GPU data, etc), not to GPU rendering time.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_uiItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_uiItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_TimeWatcher},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_TimeWatcher},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_TimeWatcher_spec = {
  "dearcygui.core.TimeWatcher",
  sizeof(struct __pyx_obj_9dearcygui_4core_TimeWatcher),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_TimeWatcher_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_TimeWatcher = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""TimeWatcher", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_TimeWatcher), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_uiItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A placeholder uiItem that doesn't draw\n    or have any impact on rendering.\n    This item calls the callback with times in ns.\n    These times can be compared with the times in the metrics\n    that can be obtained from the viewport in order to\n    precisely figure out the time spent rendering specific items.\n\n    The first time corresponds to the time when the next sibling\n    requested this sibling to render. At this step, no sibling\n    of this item (previous or next) have rendered anything.\n\n    The second time corresponds to the time when the previous\n    siblings have finished rendering and it is now the turn\n    of this item to render. Next items have not rendered yet.\n\n    The third time corresponds to the time when viewport\n    started rendering items for this frame. It is a duplicate of\n    context.viewport.metrics.last_t_before_rendering. It is\n    given to prevent the user from having to keep track of the\n    viewport metrics (since the callback might be called\n    after or before the viewport updated its metrics for this\n    frame or another one).\n\n    The fourth number corresponds to the frame count\n    at the the time the callback was issued.\n\n    Note the times relate to CPU time (checking states, preparing\n    GPU data, etc), not to GPU rendering time.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_uiItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_uiItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_TimeWatcher, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_TimeWatcher, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Window __pyx_vtable_9dearcygui_4core_Window;

static PyObject *__pyx_tp_new_9dearcygui_4core_Window(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Window *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Window *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Window;
  new((void*)&(p->min_size)) ImVec2();
  new((void*)&(p->max_size)) ImVec2();
  new((void*)&(p->backup_pos)) ImVec2();
  new((void*)&(p->backup_rect_size)) ImVec2();
  p->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_6Window_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Window(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Window *p = (struct __pyx_obj_9dearcygui_4core_Window *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Window) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->min_size);
  __Pyx_call_destructor(p->max_size);
  __Pyx_call_destructor(p->backup_pos);
  __Pyx_call_destructor(p->backup_rect_size);
  Py_CLEAR(p->on_close_callback);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Window(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Window *p = (struct __pyx_obj_9dearcygui_4core_Window *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_uiItem(o, v, a); if (e) return e;
  if (p->on_close_callback) {
    e = (*v)(((PyObject *)p->on_close_callback), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Window(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Window *p = (struct __pyx_obj_9dearcygui_4core_Window *)o;
  __pyx_tp_clear_9dearcygui_4core_uiItem(o);
  tmp = ((PyObject*)p->on_close_callback);
  p->on_close_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_title_bar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_12no_title_bar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_title_bar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_12no_title_bar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_resize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_9no_resize_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_resize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_9no_resize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_move(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_7no_move_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_move(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_7no_move_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_scrollbar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_scrollbar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_12no_scrollbar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_scroll_with_mouse(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_scroll_with_mouse(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_20no_scroll_with_mouse_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_collapse(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_11no_collapse_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_collapse(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_11no_collapse_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_autosize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_8autosize_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_autosize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_8autosize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_background(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_13no_background_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_background(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_13no_background_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_saved_settings(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_saved_settings(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_17no_saved_settings_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_mouse_inputs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_mouse_inputs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_15no_mouse_inputs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_keyboard_inputs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_keyboard_inputs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_18no_keyboard_inputs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_menubar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_7menubar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_menubar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_7menubar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_horizontal_scrollbar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_horizontal_scrollbar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_20horizontal_scrollbar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_focus_on_appearing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_focus_on_appearing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_21no_focus_on_appearing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_bring_to_front_on_focus(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_bring_to_front_on_focus(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_26no_bring_to_front_on_focus_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_always_show_vertical_scrollvar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_always_show_vertical_scrollvar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_30always_show_vertical_scrollvar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_always_show_horizontal_scrollvar(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_always_show_horizontal_scrollvar(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_32always_show_horizontal_scrollvar_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_unsaved_document(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_16unsaved_document_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_unsaved_document(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_16unsaved_document_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_disallow_docking(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_16disallow_docking_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_disallow_docking(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_16disallow_docking_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_no_open_over_existing_popup(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_no_open_over_existing_popup(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_27no_open_over_existing_popup_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_modal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_5modal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_modal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_5modal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_popup(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_5popup_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_popup(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_5popup_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_has_close_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_16has_close_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_has_close_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_16has_close_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_collapsed(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_9collapsed_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_collapsed(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_9collapsed_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_on_close(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_8on_close_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_on_close(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_8on_close_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_primary(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_7primary_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_primary(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_7primary_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_min_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_8min_size_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_min_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_8min_size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_6Window_max_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_6Window_8max_size_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_6Window_max_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_6Window_8max_size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Window[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Window_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_6Window_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Window[] = {
  {(char *)"no_title_bar", __pyx_getprop_9dearcygui_4core_6Window_no_title_bar, __pyx_setprop_9dearcygui_4core_6Window_no_title_bar, (char *)PyDoc_STR("Writable attribute to disable the title-bar"), 0},
  {(char *)"no_resize", __pyx_getprop_9dearcygui_4core_6Window_no_resize, __pyx_setprop_9dearcygui_4core_6Window_no_resize, (char *)PyDoc_STR("Writable attribute to block resizing"), 0},
  {(char *)"no_move", __pyx_getprop_9dearcygui_4core_6Window_no_move, __pyx_setprop_9dearcygui_4core_6Window_no_move, (char *)PyDoc_STR("Writable attribute the window to be move with interactions"), 0},
  {(char *)"no_scrollbar", __pyx_getprop_9dearcygui_4core_6Window_no_scrollbar, __pyx_setprop_9dearcygui_4core_6Window_no_scrollbar, (char *)PyDoc_STR("Writable attribute to indicate the window should have no scrollbar\n           Does not disable scrolling via mouse or keyboard\n        "), 0},
  {(char *)"no_scroll_with_mouse", __pyx_getprop_9dearcygui_4core_6Window_no_scroll_with_mouse, __pyx_setprop_9dearcygui_4core_6Window_no_scroll_with_mouse, (char *)PyDoc_STR("Writable attribute to indicate the mouse wheel\n           should have no effect on scrolling of this window\n        "), 0},
  {(char *)"no_collapse", __pyx_getprop_9dearcygui_4core_6Window_no_collapse, __pyx_setprop_9dearcygui_4core_6Window_no_collapse, (char *)PyDoc_STR("Writable attribute to disable user collapsing window by double-clicking on it\n        "), 0},
  {(char *)"autosize", __pyx_getprop_9dearcygui_4core_6Window_autosize, __pyx_setprop_9dearcygui_4core_6Window_autosize, (char *)PyDoc_STR("Writable attribute to tell the window should\n           automatically resize to fit its content\n        "), 0},
  {(char *)"no_background", __pyx_getprop_9dearcygui_4core_6Window_no_background, __pyx_setprop_9dearcygui_4core_6Window_no_background, (char *)PyDoc_STR("\n        Writable attribute to disable drawing background\n        color and outside border\n        "), 0},
  {(char *)"no_saved_settings", __pyx_getprop_9dearcygui_4core_6Window_no_saved_settings, __pyx_setprop_9dearcygui_4core_6Window_no_saved_settings, (char *)PyDoc_STR("\n        Writable attribute to never load/save settings in .ini file\n        "), 0},
  {(char *)"no_mouse_inputs", __pyx_getprop_9dearcygui_4core_6Window_no_mouse_inputs, __pyx_setprop_9dearcygui_4core_6Window_no_mouse_inputs, (char *)PyDoc_STR("\n        Writable attribute to disable mouse input event catching of the window.\n        Events such as clicked, hovering, etc will be passed to items behind the\n        window.\n        "), 0},
  {(char *)"no_keyboard_inputs", __pyx_getprop_9dearcygui_4core_6Window_no_keyboard_inputs, __pyx_setprop_9dearcygui_4core_6Window_no_keyboard_inputs, (char *)PyDoc_STR("\n        Writable attribute to disable keyboard manipulation (scroll).\n        The window will not take focus of the keyboard.\n        Does not affect items inside the window.\n        "), 0},
  {(char *)"menubar", __pyx_getprop_9dearcygui_4core_6Window_menubar, __pyx_setprop_9dearcygui_4core_6Window_menubar, (char *)PyDoc_STR("\n        Writable attribute to indicate whether the window has a menu bar.\n\n        There will be menubar if either the user has asked for it,\n        or there is a menubar child.\n        "), 0},
  {(char *)"horizontal_scrollbar", __pyx_getprop_9dearcygui_4core_6Window_horizontal_scrollbar, __pyx_setprop_9dearcygui_4core_6Window_horizontal_scrollbar, (char *)PyDoc_STR("\n        Writable attribute to enable having an horizontal scrollbar\n        "), 0},
  {(char *)"no_focus_on_appearing", __pyx_getprop_9dearcygui_4core_6Window_no_focus_on_appearing, __pyx_setprop_9dearcygui_4core_6Window_no_focus_on_appearing, (char *)PyDoc_STR("\n        Writable attribute to indicate when the windows moves from\n        an un-shown to a shown item shouldn't be made automatically\n        focused\n        "), 0},
  {(char *)"no_bring_to_front_on_focus", __pyx_getprop_9dearcygui_4core_6Window_no_bring_to_front_on_focus, __pyx_setprop_9dearcygui_4core_6Window_no_bring_to_front_on_focus, (char *)PyDoc_STR("\n        Writable attribute to indicate when the window takes focus (click on it, etc)\n        it shouldn't be shown in front of other windows\n        "), 0},
  {(char *)"always_show_vertical_scrollvar", __pyx_getprop_9dearcygui_4core_6Window_always_show_vertical_scrollvar, __pyx_setprop_9dearcygui_4core_6Window_always_show_vertical_scrollvar, (char *)PyDoc_STR("\n        Writable attribute to tell to always show a vertical scrollbar\n        even when the size does not require it\n        "), 0},
  {(char *)"always_show_horizontal_scrollvar", __pyx_getprop_9dearcygui_4core_6Window_always_show_horizontal_scrollvar, __pyx_setprop_9dearcygui_4core_6Window_always_show_horizontal_scrollvar, (char *)PyDoc_STR("\n        Writable attribute to tell to always show a horizontal scrollbar\n        even when the size does not require it (only if horizontal scrollbar\n        are enabled)\n        "), 0},
  {(char *)"unsaved_document", __pyx_getprop_9dearcygui_4core_6Window_unsaved_document, __pyx_setprop_9dearcygui_4core_6Window_unsaved_document, (char *)PyDoc_STR("\n        Writable attribute to display a dot next to the title, as if the window\n        contains unsaved changes.\n        "), 0},
  {(char *)"disallow_docking", __pyx_getprop_9dearcygui_4core_6Window_disallow_docking, __pyx_setprop_9dearcygui_4core_6Window_disallow_docking, (char *)PyDoc_STR("\n        Writable attribute to disable docking for the window\n        "), 0},
  {(char *)"no_open_over_existing_popup", __pyx_getprop_9dearcygui_4core_6Window_no_open_over_existing_popup, __pyx_setprop_9dearcygui_4core_6Window_no_open_over_existing_popup, (char *)PyDoc_STR("\n        Writable attribute for modal and popup windows to prevent them from\n        showing if there is already an existing popup/modal window\n        "), 0},
  {(char *)"modal", __pyx_getprop_9dearcygui_4core_6Window_modal, __pyx_setprop_9dearcygui_4core_6Window_modal, (char *)PyDoc_STR("\n        Writable attribute to indicate the window is a modal window.\n        Modal windows are similar to popup windows, but they have a close\n        button and are not closed by clicking outside.\n        Clicking has no effect of items outside the modal window until it is closed.\n        "), 0},
  {(char *)"popup", __pyx_getprop_9dearcygui_4core_6Window_popup, __pyx_setprop_9dearcygui_4core_6Window_popup, (char *)PyDoc_STR("\n        Writable attribute to indicate the window is a popup window.\n        Popup windows are centered (unless a pos is set), do not have a\n        close button, and are closed when they lose focus (clicking outside the\n        window).\n        "), 0},
  {(char *)"has_close_button", __pyx_getprop_9dearcygui_4core_6Window_has_close_button, __pyx_setprop_9dearcygui_4core_6Window_has_close_button, (char *)PyDoc_STR("\n        Writable attribute to indicate the window has a close button.\n        Has effect only for normal and modal windows.\n        "), 0},
  {(char *)"collapsed", __pyx_getprop_9dearcygui_4core_6Window_collapsed, __pyx_setprop_9dearcygui_4core_6Window_collapsed, (char *)PyDoc_STR("\n        Writable attribute to collapse (~minimize) or uncollapse the window\n        "), 0},
  {(char *)"on_close", __pyx_getprop_9dearcygui_4core_6Window_on_close, __pyx_setprop_9dearcygui_4core_6Window_on_close, (char *)PyDoc_STR("\n        Callback to call when the window is closed.\n        Note closing the window does not destroy or unattach the item.\n        Instead it is switched to a show=False state.\n        "), 0},
  {(char *)"primary", __pyx_getprop_9dearcygui_4core_6Window_primary, __pyx_setprop_9dearcygui_4core_6Window_primary, (char *)PyDoc_STR("\n        Writable attribute: Indicate if the window is the primary window.\n        There is maximum one primary window. The primary window covers the whole\n        viewport and can be used to draw on the background.\n        It is equivalent to setting:\n        no_bring_to_front_on_focus\n        no_saved_settings\n        no_resize\n        no_collapse\n        no_title_bar\n        and running item.focused = True on all the other windows\n        "), 0},
  {(char *)"min_size", __pyx_getprop_9dearcygui_4core_6Window_min_size, __pyx_setprop_9dearcygui_4core_6Window_min_size, (char *)PyDoc_STR("\n        Writable attribute to indicate the minimum window size\n        "), 0},
  {(char *)"max_size", __pyx_getprop_9dearcygui_4core_6Window_max_size, __pyx_setprop_9dearcygui_4core_6Window_max_size, (char *)PyDoc_STR("\n        Writable attribute to indicate the maximum window size\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Window_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Window},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Window},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Window},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Window},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Window},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Window},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Window_spec = {
  "dearcygui.core.Window",
  sizeof(struct __pyx_obj_9dearcygui_4core_Window),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Window_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Window = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Window", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Window), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Window, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Window, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Window, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Window, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Window, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Window, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Texture __pyx_vtable_9dearcygui_4core_Texture;

static PyObject *__pyx_tp_new_9dearcygui_4core_Texture(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Texture *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Texture *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Texture;
  new((void*)&(p->write_mutex)) std::recursive_mutex();
  if (unlikely(__pyx_pw_9dearcygui_4core_7Texture_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Texture(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Texture *p = (struct __pyx_obj_9dearcygui_4core_Texture *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Texture) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->write_mutex);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Texture_hint_dynamic(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Texture_hint_dynamic(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Texture_12hint_dynamic_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Texture_nearest_neighbor_upsampling(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_7Texture_nearest_neighbor_upsampling(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_7Texture_27nearest_neighbor_upsampling_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Texture_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Texture_5width_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Texture_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Texture_6height_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_7Texture_num_chans(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_7Texture_9num_chans_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Texture[] = {
  {"__delalloc__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_3__delalloc__, METH_NOARGS, 0},
  {"configure", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9dearcygui_4core_7Texture_5configure, METH_VARARGS|METH_KEYWORDS, 0},
  {"set_value", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_7set_value, METH_O, __pyx_doc_9dearcygui_4core_7Texture_6set_value},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_7Texture_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Texture[] = {
  {(char *)"hint_dynamic", __pyx_getprop_9dearcygui_4core_7Texture_hint_dynamic, __pyx_setprop_9dearcygui_4core_7Texture_hint_dynamic, (char *)PyDoc_STR("\n        Hint for texture placement that\n        the texture will be updated very\n        frequently.\n        "), 0},
  {(char *)"nearest_neighbor_upsampling", __pyx_getprop_9dearcygui_4core_7Texture_nearest_neighbor_upsampling, __pyx_setprop_9dearcygui_4core_7Texture_nearest_neighbor_upsampling, (char *)PyDoc_STR("\n        Whether to use nearest neighbor interpolation\n        instead of bilinear interpolation when upscaling\n        the texture. Must be set before set_value.\n        "), 0},
  {(char *)"width", __pyx_getprop_9dearcygui_4core_7Texture_width, 0, (char *)PyDoc_STR(" Width of the current texture content "), 0},
  {(char *)"height", __pyx_getprop_9dearcygui_4core_7Texture_height, 0, (char *)PyDoc_STR(" Height of the current texture content "), 0},
  {(char *)"num_chans", __pyx_getprop_9dearcygui_4core_7Texture_num_chans, 0, (char *)PyDoc_STR(" Number of channels of the current texture content "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Texture_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Texture},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Texture},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Texture},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Texture},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Texture_spec = {
  "dearcygui.core.Texture",
  sizeof(struct __pyx_obj_9dearcygui_4core_Texture),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Texture_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Texture = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Texture", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Texture), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Texture, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Texture, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Texture, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Texture, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Font __pyx_vtable_9dearcygui_4core_Font;

static PyObject *__pyx_tp_new_9dearcygui_4core_Font(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Font *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Font *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Font;
  p->container = ((struct __pyx_obj_9dearcygui_4core_FontTexture *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_4Font_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Font(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Font *p = (struct __pyx_obj_9dearcygui_4core_Font *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Font) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->container);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Font(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Font *p = (struct __pyx_obj_9dearcygui_4core_Font *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->container) {
    e = (*v)(((PyObject *)p->container), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Font(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Font *p = (struct __pyx_obj_9dearcygui_4core_Font *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->container);
  p->container = ((struct __pyx_obj_9dearcygui_4core_FontTexture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Font_texture(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Font_7texture_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Font_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Font_4size_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Font_scale(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Font_5scale_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Font_scale(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Font_5scale_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Font[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Font_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Font_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Font[] = {
  {(char *)"texture", __pyx_getprop_9dearcygui_4core_4Font_texture, 0, (char *)0, 0},
  {(char *)"size", __pyx_getprop_9dearcygui_4core_4Font_size, 0, (char *)PyDoc_STR("Readonly attribute: native height of characters"), 0},
  {(char *)"scale", __pyx_getprop_9dearcygui_4core_4Font_scale, __pyx_setprop_9dearcygui_4core_4Font_scale, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Font_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Font},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Font},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Font},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Font},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Font},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Font},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Font_spec = {
  "dearcygui.core.Font",
  sizeof(struct __pyx_obj_9dearcygui_4core_Font),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Font_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Font = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Font", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Font), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Font, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Font, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Font, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Font, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Font, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Font, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_FontTexture __pyx_vtable_9dearcygui_4core_FontTexture;

static PyObject *__pyx_tp_new_9dearcygui_4core_FontTexture(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_FontTexture *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_FontTexture *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_FontTexture;
  new((void*)&(p->atlas)) ImFontAtlas();
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  p->fonts = ((PyObject*)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_11FontTexture_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_FontTexture(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_FontTexture *p = (struct __pyx_obj_9dearcygui_4core_FontTexture *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_FontTexture) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->atlas);
  Py_CLEAR(p->_texture);
  Py_CLEAR(p->fonts);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_FontTexture(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_FontTexture *p = (struct __pyx_obj_9dearcygui_4core_FontTexture *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_texture) {
    e = (*v)(((PyObject *)p->_texture), a); if (e) return e;
  }
  if (p->fonts) {
    e = (*v)(p->fonts, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_FontTexture(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_FontTexture *p = (struct __pyx_obj_9dearcygui_4core_FontTexture *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->_texture);
  p->_texture = ((struct __pyx_obj_9dearcygui_4core_Texture *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->fonts);
  p->fonts = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
static PyObject *__pyx_sq_item_9dearcygui_4core_FontTexture(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11FontTexture_built(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11FontTexture_5built_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_11FontTexture_texture(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11FontTexture_7texture_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_FontTexture[] = {
  {"__delalloc__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_3__delalloc__, METH_NOARGS, 0},
  {"add_font_file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_11FontTexture_5add_font_file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9dearcygui_4core_11FontTexture_4add_font_file},
  {"build", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_11build, METH_NOARGS, __pyx_doc_9dearcygui_4core_11FontTexture_10build},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11FontTexture_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_FontTexture[] = {
  {(char *)"built", __pyx_getprop_9dearcygui_4core_11FontTexture_built, 0, (char *)0, 0},
  {(char *)"texture", __pyx_getprop_9dearcygui_4core_11FontTexture_texture, 0, (char *)PyDoc_STR("\n        Readonly texture containing the font data.\n        build() must be called first\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_FontTexture_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_FontTexture},
  {Py_sq_length, (void *)__pyx_pw_9dearcygui_4core_11FontTexture_7__len__},
  {Py_sq_item, (void *)__pyx_sq_item_9dearcygui_4core_FontTexture},
  {Py_mp_length, (void *)__pyx_pw_9dearcygui_4core_11FontTexture_7__len__},
  {Py_mp_subscript, (void *)__pyx_pw_9dearcygui_4core_11FontTexture_9__getitem__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Packs one or several fonts into\n    a texture for internal use by ImGui.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_FontTexture},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_FontTexture},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_FontTexture},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_FontTexture},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_FontTexture},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_FontTexture_spec = {
  "dearcygui.core.FontTexture",
  sizeof(struct __pyx_obj_9dearcygui_4core_FontTexture),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_FontTexture_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_FontTexture = {
  __pyx_pw_9dearcygui_4core_11FontTexture_7__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9dearcygui_4core_FontTexture, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_FontTexture = {
  __pyx_pw_9dearcygui_4core_11FontTexture_7__len__, /*mp_length*/
  __pyx_pw_9dearcygui_4core_11FontTexture_9__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9dearcygui_4core_FontTexture = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""FontTexture", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_FontTexture), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_FontTexture, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_FontTexture, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_FontTexture, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Packs one or several fonts into\n    a texture for internal use by ImGui.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_FontTexture, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_FontTexture, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_FontTexture, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_FontTexture, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_FontTexture, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_baseTheme __pyx_vtable_9dearcygui_4core_baseTheme;

static PyObject *__pyx_tp_new_9dearcygui_4core_baseTheme(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_baseTheme *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_baseTheme;
  new((void*)&(p->last_push_size)) std::vector<int> ();
  if (unlikely(__pyx_pw_9dearcygui_4core_9baseTheme_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_baseTheme(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_baseTheme *p = (struct __pyx_obj_9dearcygui_4core_baseTheme *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_baseTheme) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->last_push_size);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_9baseTheme_enabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9baseTheme_7enabled_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9baseTheme_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9baseTheme_7enabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_baseTheme[] = {
  {"configure", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9dearcygui_4core_9baseTheme_3configure, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9baseTheme_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9baseTheme_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_baseTheme[] = {
  {(char *)"enabled", __pyx_getprop_9dearcygui_4core_9baseTheme_enabled, __pyx_setprop_9dearcygui_4core_9baseTheme_enabled, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_baseTheme_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_baseTheme},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Base theme element. Contains a set of theme elements\n    to apply for a given category (color, style)/(imgui/implot/imnode)\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_baseTheme},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_baseTheme},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_baseTheme},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_baseTheme_spec = {
  "dearcygui.core.baseTheme",
  sizeof(struct __pyx_obj_9dearcygui_4core_baseTheme),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_baseTheme_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_baseTheme = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""baseTheme", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_baseTheme), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseTheme, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Base theme element. Contains a set of theme elements\n    to apply for a given category (color, style)/(imgui/implot/imnode)\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_baseTheme, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_baseTheme, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_baseTheme, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotAxisConfig __pyx_vtable_9dearcygui_4core_PlotAxisConfig;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotAxisConfig(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotAxisConfig;
  new((void*)&(p->_tick_format)) std::string();
  new((void*)&(p->state)) struct __pyx_t_9dearcygui_4core_itemState();
  new((void*)&(p->_label)) std::string();
  new((void*)&(p->_format)) std::string();
  new((void*)&(p->_labels)) std::vector<std::string> ();
  new((void*)&(p->_labels_cstr)) std::vector<char const *> ();
  new((void*)&(p->_labels_coord)) std::vector<double> ();
  p->_resize_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_14PlotAxisConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_PlotAxisConfig(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *p = (struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_PlotAxisConfig) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_tick_format);
  __Pyx_call_destructor(p->state);
  __Pyx_call_destructor(p->_label);
  __Pyx_call_destructor(p->_format);
  __Pyx_call_destructor(p->_labels);
  __Pyx_call_destructor(p->_labels_cstr);
  __Pyx_call_destructor(p->_labels_coord);
  Py_CLEAR(p->_resize_callback);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_PlotAxisConfig(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *p = (struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_resize_callback) {
    e = (*v)(((PyObject *)p->_resize_callback), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_PlotAxisConfig(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *p = (struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->_resize_callback);
  p->_resize_callback = ((struct __pyx_obj_9dearcygui_4core_Callback *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_enabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7enabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_scale(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_scale(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5scale_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_min(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_min(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3min_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_3max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_constraint_min(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_constraint_min(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_min_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_constraint_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_constraint_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14constraint_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_zoom_min(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_zoom_min(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_min_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_zoom_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_zoom_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8zoom_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_gridlines(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_gridlines(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_gridlines_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_tick_marks(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_tick_marks(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_13no_tick_marks_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_tick_labels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_tick_labels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_tick_labels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_initial_fit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_initial_fit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_initial_fit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_menus(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_menus(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8no_menus_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_side_switch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_side_switch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_14no_side_switch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_highlight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_highlight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12no_highlight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_opposite(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_opposite(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8opposite_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_foreground_grid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_foreground_grid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_15foreground_grid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_invert(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_invert(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6invert_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_auto_fit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_auto_fit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8auto_fit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_restrict_fit_to_range(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_restrict_fit_to_range(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_21restrict_fit_to_range_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_pan_stretch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_pan_stretch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_11pan_stretch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_lock_min(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_lock_min(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_min_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_lock_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_lock_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8lock_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_hovered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7hovered_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_clicked(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_7clicked_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_mouse_coord(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_11mouse_coord_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_handlers(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_handlers(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_8handlers_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_5label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_labels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_labels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_6labels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14PlotAxisConfig_labels_coord(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_labels_coord(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14PlotAxisConfig_12labels_coord_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotAxisConfig[] = {
  {"fit", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_3fit, METH_NOARGS, __pyx_doc_9dearcygui_4core_14PlotAxisConfig_2fit},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotAxisConfig[] = {
  {(char *)"enabled", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_enabled, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_enabled, (char *)PyDoc_STR("\n        Whether elements using this axis should\n        be drawn.\n        "), 0},
  {(char *)"scale", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_scale, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_scale, (char *)PyDoc_STR("\n        Current AxisScale.\n        Default is AxisScale.linear\n        "), 0},
  {(char *)"min", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_min, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_min, (char *)PyDoc_STR("\n        Current minimum of the range displayed.\n        Do not set max <= min. Set invert to change\n        the axis order.\n        "), 0},
  {(char *)"max", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_max, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_max, (char *)PyDoc_STR("\n        Current maximum of the range displayed.\n        Do not set max <= min. Set invert to change\n        the axis order.\n        "), 0},
  {(char *)"constraint_min", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_constraint_min, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_constraint_min, (char *)PyDoc_STR("\n        Constraint on the minimum value\n        of min.\n        "), 0},
  {(char *)"constraint_max", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_constraint_max, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_constraint_max, (char *)PyDoc_STR("\n        Constraint on the maximum value\n        of max.\n        "), 0},
  {(char *)"zoom_min", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_zoom_min, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_zoom_min, (char *)PyDoc_STR("\n        Constraint on the minimum value\n        of the zoom\n        "), 0},
  {(char *)"zoom_max", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_zoom_max, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_zoom_max, (char *)PyDoc_STR("\n        Constraint on the maximum value\n        of the zoom\n        "), 0},
  {(char *)"no_label", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_label, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_label, (char *)PyDoc_STR("\n        Writable attribute to not render the axis label\n        "), 0},
  {(char *)"no_gridlines", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_gridlines, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_gridlines, (char *)PyDoc_STR("\n        Writable attribute to not render grid lines\n        "), 0},
  {(char *)"no_tick_marks", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_tick_marks, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_tick_marks, (char *)PyDoc_STR("\n        Writable attribute to not render tick marks\n        "), 0},
  {(char *)"no_tick_labels", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_tick_labels, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_tick_labels, (char *)PyDoc_STR("\n        Writable attribute to not render tick labels\n        "), 0},
  {(char *)"no_initial_fit", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_initial_fit, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_initial_fit, (char *)PyDoc_STR("\n        Writable attribute to disable fitting the extent\n        of the axis to the data on the first frame.\n        "), 0},
  {(char *)"no_menus", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_menus, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_menus, (char *)PyDoc_STR("\n        Writable attribute to prevent right-click to\n        open context menus.\n        "), 0},
  {(char *)"no_side_switch", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_side_switch, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_side_switch, (char *)PyDoc_STR("\n        Writable attribute to prevent the user from switching\n        the axis by dragging it.\n        "), 0},
  {(char *)"no_highlight", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_no_highlight, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_no_highlight, (char *)PyDoc_STR("\n        Writable attribute to not highlight the axis background\n        when hovered or held\n        "), 0},
  {(char *)"opposite", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_opposite, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_opposite, (char *)PyDoc_STR("\n        Writable attribute to render ticks and labels on\n        the opposite side.\n        "), 0},
  {(char *)"foreground_grid", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_foreground_grid, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_foreground_grid, (char *)PyDoc_STR("\n        Writable attribute to render gridlines on top of\n        the data rather than behind.\n        "), 0},
  {(char *)"invert", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_invert, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_invert, (char *)PyDoc_STR("\n        Writable attribute to invert the values of the axis\n        "), 0},
  {(char *)"auto_fit", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_auto_fit, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_auto_fit, (char *)PyDoc_STR("\n        Writable attribute to force the axis to fit its range\n        to the data every frame.\n        "), 0},
  {(char *)"restrict_fit_to_range", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_restrict_fit_to_range, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_restrict_fit_to_range, (char *)PyDoc_STR("\n        Writable attribute to ignore points that are outside\n        the visible region of the opposite axis when fitting\n        this axis.\n        "), 0},
  {(char *)"pan_stretch", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_pan_stretch, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_pan_stretch, (char *)PyDoc_STR("\n        Writable attribute that when set, if panning in a locked or\n        constrained state, will cause the axis to stretch\n        if possible.\n        "), 0},
  {(char *)"lock_min", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_lock_min, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_lock_min, (char *)PyDoc_STR("\n        Writable attribute to lock the axis minimum value\n        when panning/zooming\n        "), 0},
  {(char *)"lock_max", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_lock_max, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_lock_max, (char *)PyDoc_STR("\n        Writable attribute to lock the axis maximum value\n        when panning/zooming\n        "), 0},
  {(char *)"hovered", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_hovered, 0, (char *)PyDoc_STR("\n        Readonly attribute: Is the mouse inside the axis label area\n        "), 0},
  {(char *)"clicked", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_clicked, 0, (char *)PyDoc_STR("\n        Readonly attribute: has the item just been clicked.\n        The returned value is a tuple of len 5 containing the individual test\n        mouse buttons (up to 5 buttons)\n        If True, the attribute is reset the next frame. It's better to rely\n        on handlers to catch this event.\n        "), 0},
  {(char *)"mouse_coord", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_mouse_coord, 0, (char *)PyDoc_STR("\n        Readonly attribute:\n        The last estimated mouse position in plot space\n        for this axis.\n        Beware not to assign the same instance of\n        PlotAxisConfig to several axes if you plan on using\n        this.\n        The mouse position is updated everytime the plot is\n        drawn and the axis is enabled.\n        "), 0},
  {(char *)"handlers", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_handlers, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_handlers, (char *)PyDoc_STR("\n        Writable attribute: bound handlers for the axis.\n        Only visible, hovered and clicked handlers are compatible.\n        "), 0},
  {(char *)"label", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_label, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_label, (char *)PyDoc_STR("\n        Writable attribute: axis name\n        "), 0},
  {(char *)"format", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_format, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_format, (char *)PyDoc_STR("\n        Writable attribute: format string to display axis values\n        "), 0},
  {(char *)"labels", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_labels, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_labels, (char *)PyDoc_STR("\n        Writable attribute: array of strings to display as labels\n        "), 0},
  {(char *)"labels_coord", __pyx_getprop_9dearcygui_4core_14PlotAxisConfig_labels_coord, __pyx_setprop_9dearcygui_4core_14PlotAxisConfig_labels_coord, (char *)PyDoc_STR("\n        Writable attribute: coordinate for each label in labels at\n        which to display the labels\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotAxisConfig_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_PlotAxisConfig},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_PlotAxisConfig},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_PlotAxisConfig},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotAxisConfig},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotAxisConfig},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotAxisConfig},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotAxisConfig_spec = {
  "dearcygui.core.PlotAxisConfig",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotAxisConfig_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotAxisConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotAxisConfig", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_PlotAxisConfig, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_PlotAxisConfig, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_PlotAxisConfig, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotAxisConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotAxisConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotAxisConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotLegendConfig __pyx_vtable_9dearcygui_4core_PlotLegendConfig;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotLegendConfig(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotLegendConfig;
  if (unlikely(__pyx_pw_9dearcygui_4core_16PlotLegendConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_buttons(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_buttons(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10no_buttons_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_item(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_item(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_item_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_axis(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_axis(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_17no_highlight_axis_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_menus(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_menus(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_8no_menus_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_outside(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_outside(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_7outside_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_16PlotLegendConfig_sorted(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_sorted(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_16PlotLegendConfig_6sorted_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotLegendConfig[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotLegendConfig[] = {
  {(char *)"location", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_location, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_location, (char *)PyDoc_STR("\n        Position of the legend.\n        Default is LegendLocation.northwest\n        "), 0},
  {(char *)"no_buttons", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_buttons, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_buttons, (char *)PyDoc_STR("\n        Writable attribute to prevent legend icons\n        to function as hide/show buttons\n        "), 0},
  {(char *)"no_highlight_item", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_item, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_item, (char *)PyDoc_STR("\n        Writable attribute to disable highlighting plot items\n        when their legend entry is hovered\n        "), 0},
  {(char *)"no_highlight_axis", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_axis, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_highlight_axis, (char *)PyDoc_STR("\n        Writable attribute to disable highlighting axes\n        when their legend entry is hovered\n        (only relevant if x/y-axis count > 1)\n        "), 0},
  {(char *)"no_menus", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_no_menus, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_no_menus, (char *)PyDoc_STR("\n        Writable attribute to disable right-clicking\n        to open context menus.\n        "), 0},
  {(char *)"outside", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_outside, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_outside, (char *)PyDoc_STR("\n        Writable attribute to render the legend outside\n        of the plot area\n        "), 0},
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_horizontal, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_horizontal, (char *)PyDoc_STR("\n        Writable attribute to display the legend entries\n        horizontally rather than vertically\n        "), 0},
  {(char *)"sorted", __pyx_getprop_9dearcygui_4core_16PlotLegendConfig_sorted, __pyx_setprop_9dearcygui_4core_16PlotLegendConfig_sorted, (char *)PyDoc_STR("\n        Writable attribute to display the legend entries\n        in alphabetical order\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotLegendConfig_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotLegendConfig},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotLegendConfig},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotLegendConfig},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotLegendConfig_spec = {
  "dearcygui.core.PlotLegendConfig",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotLegendConfig_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotLegendConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotLegendConfig", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotLegendConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotLegendConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotLegendConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_Plot __pyx_vtable_9dearcygui_4core_Plot;

static PyObject *__pyx_tp_new_9dearcygui_4core_Plot(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_Plot *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_uiItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_Plot *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_Plot;
  new((void*)&(p->_content_pos)) ImVec2();
  p->_X1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_X2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_X3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_Y1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_Y2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_Y3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  p->_legend = ((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_4Plot_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_Plot(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_Plot *p = (struct __pyx_obj_9dearcygui_4core_Plot *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_Plot) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_content_pos);
  Py_CLEAR(p->_X1);
  Py_CLEAR(p->_X2);
  Py_CLEAR(p->_X3);
  Py_CLEAR(p->_Y1);
  Py_CLEAR(p->_Y2);
  Py_CLEAR(p->_Y3);
  Py_CLEAR(p->_legend);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_uiItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_Plot(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_Plot *p = (struct __pyx_obj_9dearcygui_4core_Plot *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_uiItem(o, v, a); if (e) return e;
  if (p->_X1) {
    e = (*v)(((PyObject *)p->_X1), a); if (e) return e;
  }
  if (p->_X2) {
    e = (*v)(((PyObject *)p->_X2), a); if (e) return e;
  }
  if (p->_X3) {
    e = (*v)(((PyObject *)p->_X3), a); if (e) return e;
  }
  if (p->_Y1) {
    e = (*v)(((PyObject *)p->_Y1), a); if (e) return e;
  }
  if (p->_Y2) {
    e = (*v)(((PyObject *)p->_Y2), a); if (e) return e;
  }
  if (p->_Y3) {
    e = (*v)(((PyObject *)p->_Y3), a); if (e) return e;
  }
  if (p->_legend) {
    e = (*v)(((PyObject *)p->_legend), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_Plot(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_Plot *p = (struct __pyx_obj_9dearcygui_4core_Plot *)o;
  __pyx_tp_clear_9dearcygui_4core_uiItem(o);
  tmp = ((PyObject*)p->_X1);
  p->_X1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_X2);
  p->_X2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_X3);
  p->_X3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y1);
  p->_Y1 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y2);
  p->_Y2 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y3);
  p->_Y3 = ((struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_legend);
  p->_legend = ((struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_X1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2X1_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_X1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2X1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_X2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2X2_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_X2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2X2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_X3(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2X3_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_X3(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2X3_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_Y1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2Y1_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_Y1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2Y1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_Y2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2Y2_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_Y2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2Y2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_Y3(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_2Y3_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_Y3(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_2Y3_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_axes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_4axes_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_legend_config(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_13legend_config_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_legend_config(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_13legend_config_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_content_pos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_11content_pos_1__get__(o);
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_pan_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_10pan_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_pan_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_10pan_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_pan_mod(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_7pan_mod_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_pan_mod(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_7pan_mod_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_fit_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_10fit_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_fit_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_10fit_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_menu_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_11menu_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_menu_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_11menu_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_zoom_mod(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_zoom_mod(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_8zoom_mod_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_zoom_rate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_zoom_rate(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_9zoom_rate_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_use_local_time(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_14use_local_time_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_use_local_time(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_14use_local_time_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_use_ISO8601(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_use_ISO8601(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_11use_ISO8601_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_use_24hour_clock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_use_24hour_clock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_16use_24hour_clock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_title(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_8no_title_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_title(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_8no_title_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_menus(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_8no_menus_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_menus(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_8no_menus_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_mouse_pos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_mouse_pos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_12no_mouse_pos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_crosshairs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_10crosshairs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_crosshairs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_10crosshairs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_equal_aspects(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_equal_aspects(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_13equal_aspects_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_inputs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_9no_inputs_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_inputs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_9no_inputs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_frame(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_8no_frame_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_8no_frame_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_4Plot_no_legend(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_4Plot_9no_legend_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_4Plot_no_legend(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_4Plot_9no_legend_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_Plot[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Plot_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_4Plot_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_Plot[] = {
  {(char *)"X1", __pyx_getprop_9dearcygui_4core_4Plot_X1, __pyx_setprop_9dearcygui_4core_4Plot_X1, (char *)0, 0},
  {(char *)"X2", __pyx_getprop_9dearcygui_4core_4Plot_X2, __pyx_setprop_9dearcygui_4core_4Plot_X2, (char *)0, 0},
  {(char *)"X3", __pyx_getprop_9dearcygui_4core_4Plot_X3, __pyx_setprop_9dearcygui_4core_4Plot_X3, (char *)0, 0},
  {(char *)"Y1", __pyx_getprop_9dearcygui_4core_4Plot_Y1, __pyx_setprop_9dearcygui_4core_4Plot_Y1, (char *)0, 0},
  {(char *)"Y2", __pyx_getprop_9dearcygui_4core_4Plot_Y2, __pyx_setprop_9dearcygui_4core_4Plot_Y2, (char *)0, 0},
  {(char *)"Y3", __pyx_getprop_9dearcygui_4core_4Plot_Y3, __pyx_setprop_9dearcygui_4core_4Plot_Y3, (char *)0, 0},
  {(char *)"axes", __pyx_getprop_9dearcygui_4core_4Plot_axes, 0, (char *)PyDoc_STR("\n        Helper read-only property to retrieve the 6 axes\n        in an array [X1, X2, X3, Y1, Y2, Y3]\n        "), 0},
  {(char *)"legend_config", __pyx_getprop_9dearcygui_4core_4Plot_legend_config, __pyx_setprop_9dearcygui_4core_4Plot_legend_config, (char *)0, 0},
  {(char *)"content_pos", __pyx_getprop_9dearcygui_4core_4Plot_content_pos, 0, (char *)PyDoc_STR("\n        Readable attribute indicating the top left starting\n        position of the plot content in viewport coordinates.\n\n        The size of the plot content area is available with\n        content_size_avail.\n        "), 0},
  {(char *)"pan_button", __pyx_getprop_9dearcygui_4core_4Plot_pan_button, __pyx_setprop_9dearcygui_4core_4Plot_pan_button, (char *)PyDoc_STR("\n        Button that when held enables to navigate inside the plot\n        Default is the left mouse button.\n        "), 0},
  {(char *)"pan_mod", __pyx_getprop_9dearcygui_4core_4Plot_pan_mod, __pyx_setprop_9dearcygui_4core_4Plot_pan_mod, (char *)PyDoc_STR("\n        Modifier combination (shift/ctrl/alt/super) that must be\n        pressed for pan_button to have effect.\n        Default is no modifier.\n        "), 0},
  {(char *)"fit_button", __pyx_getprop_9dearcygui_4core_4Plot_fit_button, __pyx_setprop_9dearcygui_4core_4Plot_fit_button, (char *)PyDoc_STR("\n        Button that must be double-clicked to initiate\n        a fit of the axes to the displayed data.\n        Default is the left mouse button.\n        "), 0},
  {(char *)"menu_button", __pyx_getprop_9dearcygui_4core_4Plot_menu_button, __pyx_setprop_9dearcygui_4core_4Plot_menu_button, (char *)PyDoc_STR("\n        Button that opens context menus\n        (if enabled) when clicked.\n        Default is the right mouse button.\n        "), 0},
  {(char *)"zoom_mod", __pyx_getprop_9dearcygui_4core_4Plot_zoom_mod, __pyx_setprop_9dearcygui_4core_4Plot_zoom_mod, (char *)PyDoc_STR("\n        Modifier combination (shift/ctrl/alt/super) that\n        must be hold for the mouse wheel to trigger a zoom\n        of the plot.\n        Default is no modifier.\n        "), 0},
  {(char *)"zoom_rate", __pyx_getprop_9dearcygui_4core_4Plot_zoom_rate, __pyx_setprop_9dearcygui_4core_4Plot_zoom_rate, (char *)PyDoc_STR("\n        Zoom rate for scroll (e.g. 0.1 = 10% plot range every\n        scroll click);\n        make negative to invert.\n        Default is 0.1\n        "), 0},
  {(char *)"use_local_time", __pyx_getprop_9dearcygui_4core_4Plot_use_local_time, __pyx_setprop_9dearcygui_4core_4Plot_use_local_time, (char *)PyDoc_STR("\n        If set, axis labels will be formatted for the system\n        timezone when ImPlotAxisFlag_Time is enabled.\n        Default is False.\n        "), 0},
  {(char *)"use_ISO8601", __pyx_getprop_9dearcygui_4core_4Plot_use_ISO8601, __pyx_setprop_9dearcygui_4core_4Plot_use_ISO8601, (char *)PyDoc_STR("\n        If set, dates will be formatted according to ISO 8601\n        where applicable (e.g. YYYY-MM-DD, YYYY-MM,\n        --MM-DD, etc.)\n        Default is False.\n        "), 0},
  {(char *)"use_24hour_clock", __pyx_getprop_9dearcygui_4core_4Plot_use_24hour_clock, __pyx_setprop_9dearcygui_4core_4Plot_use_24hour_clock, (char *)PyDoc_STR("\n        If set, times will be formatted using a 24 hour clock.\n        Default is False\n        "), 0},
  {(char *)"no_title", __pyx_getprop_9dearcygui_4core_4Plot_no_title, __pyx_setprop_9dearcygui_4core_4Plot_no_title, (char *)PyDoc_STR("\n        Writable attribute to disable the display of the\n        plot title\n        "), 0},
  {(char *)"no_menus", __pyx_getprop_9dearcygui_4core_4Plot_no_menus, __pyx_setprop_9dearcygui_4core_4Plot_no_menus, (char *)PyDoc_STR("\n        Writable attribute to disable the user interactions\n        to open the context menus\n        "), 0},
  {(char *)"no_mouse_pos", __pyx_getprop_9dearcygui_4core_4Plot_no_mouse_pos, __pyx_setprop_9dearcygui_4core_4Plot_no_mouse_pos, (char *)PyDoc_STR("\n        Writable attribute to disable the display of the\n        mouse position\n        "), 0},
  {(char *)"crosshairs", __pyx_getprop_9dearcygui_4core_4Plot_crosshairs, __pyx_setprop_9dearcygui_4core_4Plot_crosshairs, (char *)PyDoc_STR("\n        Writable attribute to replace the default mouse\n        cursor by a crosshair when hovered\n        "), 0},
  {(char *)"equal_aspects", __pyx_getprop_9dearcygui_4core_4Plot_equal_aspects, __pyx_setprop_9dearcygui_4core_4Plot_equal_aspects, (char *)PyDoc_STR("\n        Writable attribute to constrain x/y axes\n        pairs to have the same units/pixels\n        "), 0},
  {(char *)"no_inputs", __pyx_getprop_9dearcygui_4core_4Plot_no_inputs, __pyx_setprop_9dearcygui_4core_4Plot_no_inputs, (char *)PyDoc_STR("\n        Writable attribute to disable user interactions with\n        the plot.\n        "), 0},
  {(char *)"no_frame", __pyx_getprop_9dearcygui_4core_4Plot_no_frame, __pyx_setprop_9dearcygui_4core_4Plot_no_frame, (char *)PyDoc_STR("\n        Writable attribute to disable the drawing of the\n        imgui frame.\n        "), 0},
  {(char *)"no_legend", __pyx_getprop_9dearcygui_4core_4Plot_no_legend, __pyx_setprop_9dearcygui_4core_4Plot_no_legend, (char *)PyDoc_STR("\n        Writable attribute to disable the display of the\n        legend\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_Plot_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_Plot},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Plot. Can have Plot elements as child.\n\n    By default the axes X1 and Y1 are enabled,\n    but other can be enabled, up to X3 and Y3.\n    For instance:\n    my_plot.X2.enabled = True\n\n    By default, the legend and axes have reserved space.\n    They can have their own handlers that can react to\n    when they are hovered by the mouse or clicked.\n\n    The states of the plot relate to the rendering area (excluding\n    the legend, padding and axes). Thus if you want to react\n    to mouse event inside the plot area (for example implementing\n    clicking an curve), you can do it with using handlers bound\n    to the plot (+ some logic in your callbacks). \n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Plot},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Plot},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_Plot},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_Plot},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Plot},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_Plot_spec = {
  "dearcygui.core.Plot",
  sizeof(struct __pyx_obj_9dearcygui_4core_Plot),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_Plot_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_Plot = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Plot", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_Plot), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Plot, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Plot. Can have Plot elements as child.\n\n    By default the axes X1 and Y1 are enabled,\n    but other can be enabled, up to X3 and Y3.\n    For instance:\n    my_plot.X2.enabled = True\n\n    By default, the legend and axes have reserved space.\n    They can have their own handlers that can react to\n    when they are hovered by the mouse or clicked.\n\n    The states of the plot relate to the rendering area (excluding\n    the legend, padding and axes). Thus if you want to react\n    to mouse event inside the plot area (for example implementing\n    clicking an curve), you can do it with using handlers bound\n    to the plot (+ some logic in your callbacks). \n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Plot, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Plot, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_Plot, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_Plot, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Plot, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_plotElement __pyx_vtable_9dearcygui_4core_plotElement;

static PyObject *__pyx_tp_new_9dearcygui_4core_plotElement(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_plotElement *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_plotElement *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_plotElement;
  new((void*)&(p->imgui_label)) std::string();
  p->user_label = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_11plotElement_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_plotElement(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_plotElement *p = (struct __pyx_obj_9dearcygui_4core_plotElement *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_plotElement) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->imgui_label);
  Py_CLEAR(p->user_label);
  Py_CLEAR(p->_theme);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_baseItem(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_plotElement(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_plotElement *p = (struct __pyx_obj_9dearcygui_4core_plotElement *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_baseItem(o, v, a); if (e) return e;
  if (p->_theme) {
    e = (*v)(((PyObject *)p->_theme), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_plotElement(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_plotElement *p = (struct __pyx_obj_9dearcygui_4core_plotElement *)o;
  __pyx_tp_clear_9dearcygui_4core_baseItem(o);
  tmp = ((PyObject*)p->_theme);
  p->_theme = ((struct __pyx_obj_9dearcygui_4core_baseTheme *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11plotElement_show(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11plotElement_4show_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11plotElement_show(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11plotElement_4show_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11plotElement_axes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11plotElement_4axes_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11plotElement_axes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11plotElement_4axes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11plotElement_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11plotElement_5label_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11plotElement_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11plotElement_5label_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_11plotElement_theme(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11plotElement_5theme_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11plotElement_theme(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11plotElement_5theme_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_plotElement[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11plotElement_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11plotElement_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_plotElement[] = {
  {(char *)"show", __pyx_getprop_9dearcygui_4core_11plotElement_show, __pyx_setprop_9dearcygui_4core_11plotElement_show, (char *)PyDoc_STR("\n        Writable attribute: Should the object be drawn/shown ?\n        In case show is set to False, this disables any\n        callback (for example the close callback won't be called\n        if a window is hidden with show = False).\n        In the case of items that can be closed,\n        show is set to False automatically on close.\n        "), 0},
  {(char *)"axes", __pyx_getprop_9dearcygui_4core_11plotElement_axes, __pyx_setprop_9dearcygui_4core_11plotElement_axes, (char *)PyDoc_STR("\n        Writable attribute: (X axis, Y axis)\n        used for this plot element.\n        Default is (X1, Y1)\n        "), 0},
  {(char *)"label", __pyx_getprop_9dearcygui_4core_11plotElement_label, __pyx_setprop_9dearcygui_4core_11plotElement_label, (char *)PyDoc_STR("\n        Writable attribute: label assigned to the element\n        "), 0},
  {(char *)"theme", __pyx_getprop_9dearcygui_4core_11plotElement_theme, __pyx_setprop_9dearcygui_4core_11plotElement_theme, (char *)PyDoc_STR("\n        Writable attribute: theme for the legend and plot\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_plotElement_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_plotElement},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Base class for plot children.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElement},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElement},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_plotElement},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_plotElement},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_plotElement},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_plotElement_spec = {
  "dearcygui.core.plotElement",
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElement),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_plotElement_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_plotElement = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""plotElement", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElement), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElement, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Base class for plot children.\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElement, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElement, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_plotElement, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_plotElement, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_plotElement, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementWithLegend __pyx_vtable_9dearcygui_4core_plotElementWithLegend;

static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementWithLegend(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElement(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;
  new((void*)&(p->state)) struct __pyx_t_9dearcygui_4core_itemState();
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_21plotElementWithLegend_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *p = (struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->state);
  Py_CLEAR(p->_font);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_plotElement(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *p = (struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_plotElement(o, v, a); if (e) return e;
  if (p->_font) {
    e = (*v)(((PyObject *)p->_font), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *p = (struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *)o;
  __pyx_tp_clear_9dearcygui_4core_plotElement(o);
  tmp = ((PyObject*)p->_font);
  p->_font = ((struct __pyx_obj_9dearcygui_4core_Font *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_no_legend(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_no_legend(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_9no_legend_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_ignore_fit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_ignore_fit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_10ignore_fit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_enabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_7enabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_font(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_font(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_4font_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_button(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_legend_button(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_13legend_button_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_handlers(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_legend_handlers(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_15legend_handlers_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_hovered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_21plotElementWithLegend_14legend_hovered_1__get__(o);
}

static PyMethodDef __pyx_methods_9dearcygui_4core_plotElementWithLegend[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_plotElementWithLegend[] = {
  {(char *)"no_legend", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_no_legend, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_no_legend, (char *)PyDoc_STR("\n        Writable attribute to disable the legend for this plot\n        element\n        "), 0},
  {(char *)"ignore_fit", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_ignore_fit, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_ignore_fit, (char *)PyDoc_STR("\n        Writable attribute to make this element\n        be ignored during plot fits\n        "), 0},
  {(char *)"enabled", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_enabled, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_enabled, (char *)PyDoc_STR("\n        Writable attribute: show/hide\n        the item while still having a toggable\n        entry in the menu.\n        "), 0},
  {(char *)"font", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_font, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_font, (char *)PyDoc_STR("\n        Writable attribute: font used for the text rendered\n        of this item and its subitems\n        "), 0},
  {(char *)"legend_button", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_button, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_legend_button, (char *)PyDoc_STR("\n        Button that opens the legend entry for\n        this element.\n        Default is the right mouse button.\n        "), 0},
  {(char *)"legend_handlers", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_handlers, __pyx_setprop_9dearcygui_4core_21plotElementWithLegend_legend_handlers, (char *)PyDoc_STR("\n        Writable attribute: bound handlers for the legend.\n        Only visible (set for the plot) and hovered (set \n        for the legend) handlers are compatible.\n        To detect if the plot element is hovered, check\n        the hovered state of the plot.\n        "), 0},
  {(char *)"legend_hovered", __pyx_getprop_9dearcygui_4core_21plotElementWithLegend_legend_hovered, 0, (char *)PyDoc_STR("\n        Readonly attribute: Is the legend of this\n        item hovered.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_plotElementWithLegend_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Base class for plot children with a legend.\n\n    Children of plot elements are rendered on a legend\n    popup entry that gets shown on a right click (by default).\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_plotElementWithLegend},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_plotElementWithLegend_spec = {
  "dearcygui.core.plotElementWithLegend",
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_plotElementWithLegend_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_plotElementWithLegend = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""plotElementWithLegend", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Base class for plot children with a legend.\n\n    Children of plot elements are rendered on a legend\n    popup entry that gets shown on a right click (by default).\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_plotElementWithLegend, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_plotElementWithLegend, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_plotElementWithLegend, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementXY __pyx_vtable_9dearcygui_4core_plotElementXY;

static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementXY(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_plotElementXY *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementWithLegend(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_plotElementXY *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  p->_Y = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_13plotElementXY_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_plotElementXY(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_plotElementXY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXY *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_plotElementXY) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_X);
  Py_CLEAR(p->_Y);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_plotElementXY(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_plotElementXY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXY *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend(o, v, a); if (e) return e;
  if (p->_X) {
    e = (*v)(((PyObject *)p->_X), a); if (e) return e;
  }
  if (p->_Y) {
    e = (*v)(((PyObject *)p->_Y), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_plotElementXY(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_plotElementXY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXY *)o;
  __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend(o);
  tmp = ((PyObject*)p->_X);
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y);
  p->_Y = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_13plotElementXY_X(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_13plotElementXY_1X_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_13plotElementXY_X(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_13plotElementXY_1X_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_13plotElementXY_Y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_13plotElementXY_1Y_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_13plotElementXY_Y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_13plotElementXY_1Y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_plotElementXY[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13plotElementXY_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_13plotElementXY_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_plotElementXY[] = {
  {(char *)"X", __pyx_getprop_9dearcygui_4core_13plotElementXY_X, __pyx_setprop_9dearcygui_4core_13plotElementXY_X, (char *)PyDoc_STR("Values on the X axis.\n\n        By default, will try to use the passed array\n        directly for its internal backing (no copy).\n        Supported types for no copy are np.int32,\n        np.float32, np.float64.\n        "), 0},
  {(char *)"Y", __pyx_getprop_9dearcygui_4core_13plotElementXY_Y, __pyx_setprop_9dearcygui_4core_13plotElementXY_Y, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_plotElementXY_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_plotElementXY},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_plotElementXY},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_plotElementXY},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_plotElementXY},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_plotElementXY_spec = {
  "dearcygui.core.plotElementXY",
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementXY),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_plotElementXY_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_plotElementXY = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""plotElementXY", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementXY), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_plotElementXY, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_plotElementXY, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_plotElementXY, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotLine __pyx_vtable_9dearcygui_4core_PlotLine;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotLine(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotLine *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotLine *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotLine;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotLine_segments(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotLine_8segments_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotLine_segments(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotLine_8segments_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotLine_loop(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotLine_4loop_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotLine_loop(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotLine_4loop_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotLine_skip_nan(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotLine_skip_nan(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotLine_8skip_nan_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotLine_no_clip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotLine_no_clip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotLine_7no_clip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotLine_shaded(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotLine_6shaded_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotLine_shaded(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotLine_6shaded_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotLine[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotLine_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotLine_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotLine[] = {
  {(char *)"segments", __pyx_getprop_9dearcygui_4core_8PlotLine_segments, __pyx_setprop_9dearcygui_4core_8PlotLine_segments, (char *)PyDoc_STR("\n        Plot segments rather than a full line\n        "), 0},
  {(char *)"loop", __pyx_getprop_9dearcygui_4core_8PlotLine_loop, __pyx_setprop_9dearcygui_4core_8PlotLine_loop, (char *)PyDoc_STR("\n        Connect the first and last points\n        "), 0},
  {(char *)"skip_nan", __pyx_getprop_9dearcygui_4core_8PlotLine_skip_nan, __pyx_setprop_9dearcygui_4core_8PlotLine_skip_nan, (char *)PyDoc_STR("\n        A NaN data point will be ignored instead of\n        being rendered as missing data.\n        "), 0},
  {(char *)"no_clip", __pyx_getprop_9dearcygui_4core_8PlotLine_no_clip, __pyx_setprop_9dearcygui_4core_8PlotLine_no_clip, (char *)PyDoc_STR("\n        Markers (if displayed) on the edge of a plot will not be clipped.\n        "), 0},
  {(char *)"shaded", __pyx_getprop_9dearcygui_4core_8PlotLine_shaded, __pyx_setprop_9dearcygui_4core_8PlotLine_shaded, (char *)PyDoc_STR("\n        A filled region between the line and horizontal\n        origin will be rendered.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotLine_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotLine},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotLine},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotLine},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotLine_spec = {
  "dearcygui.core.PlotLine",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotLine),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotLine_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotLine = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotLine", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotLine), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotLine, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotLine, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotLine, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementXYY __pyx_vtable_9dearcygui_4core_plotElementXYY;

static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementXYY(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_plotElementXYY *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementWithLegend(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_plotElementXYY *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_plotElementXYY;
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  p->_Y1 = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  p->_Y2 = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_14plotElementXYY_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_plotElementXYY(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_plotElementXYY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXYY *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_plotElementXYY) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_X);
  Py_CLEAR(p->_Y1);
  Py_CLEAR(p->_Y2);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_plotElementXYY(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_plotElementXYY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXYY *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend(o, v, a); if (e) return e;
  if (p->_X) {
    e = (*v)(((PyObject *)p->_X), a); if (e) return e;
  }
  if (p->_Y1) {
    e = (*v)(((PyObject *)p->_Y1), a); if (e) return e;
  }
  if (p->_Y2) {
    e = (*v)(((PyObject *)p->_Y2), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_plotElementXYY(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_plotElementXYY *p = (struct __pyx_obj_9dearcygui_4core_plotElementXYY *)o;
  __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend(o);
  tmp = ((PyObject*)p->_X);
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y1);
  p->_Y1 = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_Y2);
  p->_Y2 = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_14plotElementXYY_X(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14plotElementXYY_1X_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14plotElementXYY_X(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14plotElementXYY_1X_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14plotElementXYY_Y1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14plotElementXYY_Y1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_14plotElementXYY_Y2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_14plotElementXYY_Y2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_14plotElementXYY_2Y2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_plotElementXYY[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14plotElementXYY_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14plotElementXYY_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_plotElementXYY[] = {
  {(char *)"X", __pyx_getprop_9dearcygui_4core_14plotElementXYY_X, __pyx_setprop_9dearcygui_4core_14plotElementXYY_X, (char *)PyDoc_STR("Values on the X axis.\n\n        By default, will try to use the passed array\n        directly for its internal backing (no copy).\n        Supported types for no copy are np.int32,\n        np.float32, np.float64.\n        "), 0},
  {(char *)"Y1", __pyx_getprop_9dearcygui_4core_14plotElementXYY_Y1, __pyx_setprop_9dearcygui_4core_14plotElementXYY_Y1, (char *)0, 0},
  {(char *)"Y2", __pyx_getprop_9dearcygui_4core_14plotElementXYY_Y2, __pyx_setprop_9dearcygui_4core_14plotElementXYY_Y2, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_plotElementXYY_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_plotElementXYY},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXYY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXYY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_plotElementXYY},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_plotElementXYY},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_plotElementXYY},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_plotElementXYY_spec = {
  "dearcygui.core.plotElementXYY",
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementXYY),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_plotElementXYY_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_plotElementXYY = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""plotElementXYY", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementXYY), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXYY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXYY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXYY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_plotElementXYY, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_plotElementXYY, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_plotElementXYY, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotShadedLine __pyx_vtable_9dearcygui_4core_PlotShadedLine;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotShadedLine(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotShadedLine *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXYY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotShadedLine *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotShadedLine;
  return o;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotShadedLine[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotShadedLine_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXYY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXYY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotShadedLine},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotShadedLine},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotShadedLine_spec = {
  "dearcygui.core.PlotShadedLine",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotShadedLine),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotShadedLine_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotShadedLine = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotShadedLine", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotShadedLine), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXYY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXYY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXYY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotShadedLine, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotShadedLine, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotStems __pyx_vtable_9dearcygui_4core_PlotStems;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotStems(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotStems *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotStems *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotStems;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_9PlotStems_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_9PlotStems_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_9PlotStems_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotStems[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9PlotStems_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_9PlotStems_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotStems[] = {
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_9PlotStems_horizontal, __pyx_setprop_9dearcygui_4core_9PlotStems_horizontal, (char *)PyDoc_STR("\n        Stems will be rendered horizontally\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotStems_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotStems},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotStems},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotStems},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotStems_spec = {
  "dearcygui.core.PlotStems",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotStems),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotStems_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotStems = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotStems", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotStems), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotStems, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotStems, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotStems, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotBars __pyx_vtable_9dearcygui_4core_PlotBars;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotBars(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotBars *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotBars *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotBars;
  if (unlikely(__pyx_pw_9dearcygui_4core_8PlotBars_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotBars_weight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotBars_6weight_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotBars_weight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotBars_6weight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_8PlotBars_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_8PlotBars_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_8PlotBars_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotBars[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotBars_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_8PlotBars_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotBars[] = {
  {(char *)"weight", __pyx_getprop_9dearcygui_4core_8PlotBars_weight, __pyx_setprop_9dearcygui_4core_8PlotBars_weight, (char *)PyDoc_STR("\n        bar_size. TODO better document\n        "), 0},
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_8PlotBars_horizontal, __pyx_setprop_9dearcygui_4core_8PlotBars_horizontal, (char *)PyDoc_STR("\n        Bars will be rendered horizontally\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotBars_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotBars},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotBars},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotBars},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotBars_spec = {
  "dearcygui.core.PlotBars",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotBars),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotBars_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotBars = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotBars", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotBars), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotBars, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotBars, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotBars, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotStairs __pyx_vtable_9dearcygui_4core_PlotStairs;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotStairs(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotStairs *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotStairs *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotStairs;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_10PlotStairs_pre_step(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10PlotStairs_pre_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10PlotStairs_8pre_step_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9dearcygui_4core_10PlotStairs_shaded(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10PlotStairs_shaded(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10PlotStairs_6shaded_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotStairs[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10PlotStairs_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10PlotStairs_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotStairs[] = {
  {(char *)"pre_step", __pyx_getprop_9dearcygui_4core_10PlotStairs_pre_step, __pyx_setprop_9dearcygui_4core_10PlotStairs_pre_step, (char *)PyDoc_STR("\n        The y value is continued constantly to the left\n        from every x position, i.e. the interval\n        (x[i-1], x[i]] has the value y[i].\n        "), 0},
  {(char *)"shaded", __pyx_getprop_9dearcygui_4core_10PlotStairs_shaded, __pyx_setprop_9dearcygui_4core_10PlotStairs_shaded, (char *)PyDoc_STR("\n        a filled region between the stairs and horizontal\n        origin will be rendered; use PlotShadedLine for\n        more advanced cases.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotStairs_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotStairs},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotStairs},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotStairs},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotStairs_spec = {
  "dearcygui.core.PlotStairs",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotStairs),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotStairs_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotStairs = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotStairs", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotStairs), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotStairs, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotStairs, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotStairs, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_plotElementX __pyx_vtable_9dearcygui_4core_plotElementX;

static PyObject *__pyx_tp_new_9dearcygui_4core_plotElementX(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_plotElementX *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementWithLegend(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_plotElementX *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_plotElementX;
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9dearcygui_4core_12plotElementX_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9dearcygui_4core_plotElementX(PyObject *o) {
  struct __pyx_obj_9dearcygui_4core_plotElementX *p = (struct __pyx_obj_9dearcygui_4core_plotElementX *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9dearcygui_4core_plotElementX) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_X);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend(o);
}

static int __pyx_tp_traverse_9dearcygui_4core_plotElementX(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9dearcygui_4core_plotElementX *p = (struct __pyx_obj_9dearcygui_4core_plotElementX *)o;
  e = __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend(o, v, a); if (e) return e;
  if (p->_X) {
    e = (*v)(((PyObject *)p->_X), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9dearcygui_4core_plotElementX(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9dearcygui_4core_plotElementX *p = (struct __pyx_obj_9dearcygui_4core_plotElementX *)o;
  __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend(o);
  tmp = ((PyObject*)p->_X);
  p->_X = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9dearcygui_4core_12plotElementX_X(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_12plotElementX_1X_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_12plotElementX_X(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_12plotElementX_1X_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_plotElementX[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12plotElementX_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12plotElementX_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_plotElementX[] = {
  {(char *)"X", __pyx_getprop_9dearcygui_4core_12plotElementX_X, __pyx_setprop_9dearcygui_4core_12plotElementX_X, (char *)PyDoc_STR("Values on the X axis.\n\n        By default, will try to use the passed array\n        directly for its internal backing (no copy).\n        Supported types for no copy are np.int32,\n        np.float32, np.float64.\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_plotElementX_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9dearcygui_4core_plotElementX},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementX},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementX},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_plotElementX},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_plotElementX},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_plotElementX},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_plotElementX_spec = {
  "dearcygui.core.plotElementX",
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementX),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_plotElementX_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_plotElementX = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""plotElementX", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_plotElementX), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementX, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementX, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementX, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_plotElementX, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_plotElementX, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_plotElementX, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotInfLines __pyx_vtable_9dearcygui_4core_PlotInfLines;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotInfLines(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotInfLines *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementX(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotInfLines *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotInfLines;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_12PlotInfLines_horizontal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_12PlotInfLines_horizontal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_12PlotInfLines_10horizontal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotInfLines[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12PlotInfLines_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_12PlotInfLines_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotInfLines[] = {
  {(char *)"horizontal", __pyx_getprop_9dearcygui_4core_12PlotInfLines_horizontal, __pyx_setprop_9dearcygui_4core_12PlotInfLines_horizontal, (char *)PyDoc_STR("\n        Plot horizontal lines rather than plots\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotInfLines_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Draw vertical (or horizontal) infinite lines at\n    the passed coordinates\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementX},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementX},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotInfLines},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotInfLines},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotInfLines},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotInfLines_spec = {
  "dearcygui.core.PlotInfLines",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotInfLines),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotInfLines_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotInfLines = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotInfLines", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotInfLines), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementX, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Draw vertical (or horizontal) infinite lines at\n    the passed coordinates\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementX, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementX, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotInfLines, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotInfLines, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotInfLines, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlotScatter __pyx_vtable_9dearcygui_4core_PlotScatter;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlotScatter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlotScatter *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementXY(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlotScatter *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlotScatter;
  return o;
}

static PyObject *__pyx_getprop_9dearcygui_4core_11PlotScatter_no_clip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_11PlotScatter_no_clip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_11PlotScatter_7no_clip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlotScatter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11PlotScatter_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11PlotScatter_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_PlotScatter[] = {
  {(char *)"no_clip", __pyx_getprop_9dearcygui_4core_11PlotScatter_no_clip, __pyx_setprop_9dearcygui_4core_11PlotScatter_no_clip, (char *)PyDoc_STR("\n        Markers on the edge of a plot will not be clipped\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlotScatter_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementXY},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementXY},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlotScatter},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_PlotScatter},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlotScatter},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlotScatter_spec = {
  "dearcygui.core.PlotScatter",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotScatter),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlotScatter_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlotScatter = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlotScatter", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlotScatter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementXY, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementXY, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementXY, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlotScatter, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_PlotScatter, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlotScatter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_DrawInPlot __pyx_vtable_9dearcygui_4core_DrawInPlot;

static PyObject *__pyx_tp_new_9dearcygui_4core_DrawInPlot(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_DrawInPlot *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_plotElementWithLegend(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_DrawInPlot *)o);
  p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_DrawInPlot;
  if (unlikely(__pyx_pw_9dearcygui_4core_10DrawInPlot_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyObject *__pyx_getprop_9dearcygui_4core_10DrawInPlot_ignore_fit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_1__get__(o);
}

static int __pyx_setprop_9dearcygui_4core_10DrawInPlot_ignore_fit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9dearcygui_4core_10DrawInPlot_10ignore_fit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9dearcygui_4core_DrawInPlot[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawInPlot_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_10DrawInPlot_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9dearcygui_4core_DrawInPlot[] = {
  {(char *)"ignore_fit", __pyx_getprop_9dearcygui_4core_10DrawInPlot_ignore_fit, __pyx_setprop_9dearcygui_4core_10DrawInPlot_ignore_fit, (char *)PyDoc_STR("\n        Writable attribute to make this element\n        be ignored during plot fits\n        "), 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DrawInPlot_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    A plot element that enables to insert Draw* items\n    inside a plot in plot coordinates.\n\n    defaults to no_legend = True\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_plotElementWithLegend},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DrawInPlot},
  {Py_tp_getset, (void *)__pyx_getsets_9dearcygui_4core_DrawInPlot},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_DrawInPlot},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DrawInPlot_spec = {
  "dearcygui.core.DrawInPlot",
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInPlot),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DrawInPlot_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DrawInPlot = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DrawInPlot", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DrawInPlot), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_plotElementWithLegend, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    A plot element that enables to insert Draw* items\n    inside a plot in plot coordinates.\n\n    defaults to no_legend = True\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_plotElementWithLegend, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_plotElementWithLegend, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DrawInPlot, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9dearcygui_4core_DrawInPlot, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_DrawInPlot, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyMethodDef __pyx_methods_9dearcygui_4core_DPGCallback[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DPGCallback_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_11DPGCallback_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_DPGCallback_slots[] = {
  {Py_tp_call, (void *)__pyx_pw_9dearcygui_4core_11DPGCallback_1__call__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Used to run callbacks created for DPG\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_Callback},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_Callback},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_DPGCallback},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_Callback},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_DPGCallback_spec = {
  "dearcygui.core.DPGCallback",
  sizeof(struct __pyx_obj_9dearcygui_4core_DPGCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_DPGCallback_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_DPGCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""DPGCallback", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_DPGCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_Callback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  __pyx_pw_9dearcygui_4core_11DPGCallback_1__call__, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Used to run callbacks created for DPG\n    "), /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_Callback, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_Callback, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_DPGCallback, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8Callback_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_Callback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9dearcygui_4core_PlaceHolderParent __pyx_vtable_9dearcygui_4core_PlaceHolderParent;

static PyObject *__pyx_tp_new_9dearcygui_4core_PlaceHolderParent(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *p;
  PyObject *o = __pyx_tp_new_9dearcygui_4core_baseItem(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9dearcygui_4core_PlaceHolderParent *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9dearcygui_4core_baseItem*)__pyx_vtabptr_9dearcygui_4core_PlaceHolderParent;
  if (unlikely(__pyx_pw_9dearcygui_4core_17PlaceHolderParent_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9dearcygui_4core_PlaceHolderParent[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9dearcygui_4core_PlaceHolderParent_slots[] = {
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9dearcygui_4core_baseItem},
  {Py_tp_clear, (void *)__pyx_tp_clear_9dearcygui_4core_baseItem},
  {Py_tp_methods, (void *)__pyx_methods_9dearcygui_4core_PlaceHolderParent},
  {Py_tp_new, (void *)__pyx_tp_new_9dearcygui_4core_PlaceHolderParent},
  {0, 0},
};
static PyType_Spec __pyx_type_9dearcygui_4core_PlaceHolderParent_spec = {
  "dearcygui.core.PlaceHolderParent",
  sizeof(struct __pyx_obj_9dearcygui_4core_PlaceHolderParent),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9dearcygui_4core_PlaceHolderParent_slots,
};
#else

static PyTypeObject __pyx_type_9dearcygui_4core_PlaceHolderParent = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""PlaceHolderParent", /*tp_name*/
  sizeof(struct __pyx_obj_9dearcygui_4core_PlaceHolderParent), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9dearcygui_4core_baseItem, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9dearcygui_4core_baseItem, /*tp_traverse*/
  __pyx_tp_clear_9dearcygui_4core_baseItem, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9dearcygui_4core_PlaceHolderParent, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9dearcygui_4core_8baseItem_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9dearcygui_4core_PlaceHolderParent, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static int __pyx_tp_traverse___Pyx_EnumMeta(PyObject *o, visitproc v, void *a) {
  int e;
  if (!(&PyType_Type)->tp_traverse); else { e = (&PyType_Type)->tp_traverse(o,v,a); if (e) return e; }
  return 0;
}

static int __pyx_tp_clear___Pyx_EnumMeta(PyObject *o) {
  if (!(&PyType_Type)->tp_clear); else (&PyType_Type)->tp_clear(o);
  return 0;
}
static PyObject *__pyx_sq_item___Pyx_EnumMeta(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static PyMethodDef __pyx_methods___Pyx_EnumMeta[] = {
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __Pyx_EnumMeta_slots[] = {
  {Py_sq_item, (void *)__pyx_sq_item___Pyx_EnumMeta},
  {Py_mp_subscript, (void *)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse___Pyx_EnumMeta},
  {Py_tp_clear, (void *)__pyx_tp_clear___Pyx_EnumMeta},
  {Py_tp_iter, (void *)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__},
  {Py_tp_methods, (void *)__pyx_methods___Pyx_EnumMeta},
  {Py_tp_init, (void *)__pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__},
  {0, 0},
};
static PyType_Spec __Pyx_EnumMeta_spec = {
  "dearcygui.core.__Pyx_EnumMeta",
  sizeof(struct __pyx_obj___Pyx_EnumMeta),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __Pyx_EnumMeta_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence___Pyx_EnumMeta = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item___Pyx_EnumMeta, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping___Pyx_EnumMeta = {
  0, /*mp_length*/
  __pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __Pyx_EnumMeta = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""__Pyx_EnumMeta", /*tp_name*/
  sizeof(struct __pyx_obj___Pyx_EnumMeta), /*tp_basicsize*/
  0, /*tp_itemsize*/
  0, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence___Pyx_EnumMeta, /*tp_as_sequence*/
  &__pyx_tp_as_mapping___Pyx_EnumMeta, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse___Pyx_EnumMeta, /*tp_traverse*/
  __pyx_tp_clear___Pyx_EnumMeta, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  __pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods___Pyx_EnumMeta, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  0, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_array __pyx_vtable_array;

static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_array_obj *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_array_obj *)o);
  p->__pyx_vtab = __pyx_vtabptr_array;
  p->mode = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->_format = ((PyObject*)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_array___cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_array(PyObject *o) {
  struct __pyx_array_obj *p = (struct __pyx_array_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_array) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_array___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->mode);
  Py_CLEAR(p->_format);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}
static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_array___setitem__(o, i, v);
  }
  else {
    __Pyx_TypeName o_type_name;
    o_type_name = __Pyx_PyType_GetName(Py_TYPE(o));
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
    __Pyx_DECREF_TypeName(o_type_name);
    return -1;
  }
}

static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *n) {
  PyObject *v = __Pyx_PyObject_GenericGetAttr(o, n);
  if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
    PyErr_Clear();
    v = __pyx_array___getattr__(o, n);
  }
  return v;
}

static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(o);
}

static PyMethodDef __pyx_methods_array[] = {
  {"__getattr__", (PyCFunction)__pyx_array___getattr__, METH_O|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_array[] = {
  {(char *)"memview", __pyx_getprop___pyx_array_memview, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
#if !CYTHON_COMPILING_IN_LIMITED_API

static PyBufferProcs __pyx_tp_as_buffer_array = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  __pyx_array_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};
#endif
static PyType_Slot __pyx_type___pyx_array_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_array},
  {Py_sq_length, (void *)__pyx_array___len__},
  {Py_sq_item, (void *)__pyx_sq_item_array},
  {Py_mp_length, (void *)__pyx_array___len__},
  {Py_mp_subscript, (void *)__pyx_array___getitem__},
  {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_array},
  {Py_tp_getattro, (void *)__pyx_tp_getattro_array},
  #if defined(Py_bf_getbuffer)
  {Py_bf_getbuffer, (void *)__pyx_array_getbuffer},
  #endif
  {Py_tp_methods, (void *)__pyx_methods_array},
  {Py_tp_getset, (void *)__pyx_getsets_array},
  {Py_tp_new, (void *)__pyx_tp_new_array},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_array_spec = {
  "dearcygui.core.array",
  sizeof(struct __pyx_array_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE,
  __pyx_type___pyx_array_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_array = {
  __pyx_array___len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_array, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_array = {
  __pyx_array___len__, /*mp_length*/
  __pyx_array___getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_array, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_array = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  __pyx_array_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};

static PyTypeObject __pyx_type___pyx_array = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""array", /*tp_name*/
  sizeof(struct __pyx_array_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_array, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_array, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_array, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  __pyx_tp_getattro_array, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_array, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_array, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_array, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_array, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_MemviewEnum_obj *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_MemviewEnum_obj *)o);
  p->name = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_Enum(PyObject *o) {
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_Enum) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->name);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  if (p->name) {
    e = (*v)(p->name, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_Enum(PyObject *o) {
  PyObject* tmp;
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  tmp = ((PyObject*)p->name);
  p->name = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_specialmethod___pyx_MemviewEnum___repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_MemviewEnum___repr__(self);
}

static PyMethodDef __pyx_methods_Enum[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_MemviewEnum___repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type___pyx_MemviewEnum_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_Enum},
  {Py_tp_repr, (void *)__pyx_MemviewEnum___repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_Enum},
  {Py_tp_clear, (void *)__pyx_tp_clear_Enum},
  {Py_tp_methods, (void *)__pyx_methods_Enum},
  {Py_tp_init, (void *)__pyx_MemviewEnum___init__},
  {Py_tp_new, (void *)__pyx_tp_new_Enum},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = {
  "dearcygui.core.Enum",
  sizeof(struct __pyx_MemviewEnum_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type___pyx_MemviewEnum_slots,
};
#else

static PyTypeObject __pyx_type___pyx_MemviewEnum = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""Enum", /*tp_name*/
  sizeof(struct __pyx_MemviewEnum_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_Enum, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_MemviewEnum___repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_Enum, /*tp_traverse*/
  __pyx_tp_clear_Enum, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_Enum, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_MemviewEnum___init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_Enum, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;

static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_memoryview_obj *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_memoryview_obj *)o);
  p->__pyx_vtab = __pyx_vtabptr_memoryview;
  p->obj = Py_None; Py_INCREF(Py_None);
  p->_size = Py_None; Py_INCREF(Py_None);
  p->_array_interface = Py_None; Py_INCREF(Py_None);
  p->view.obj = NULL;
  if (unlikely(__pyx_memoryview___cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_memoryview(PyObject *o) {
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_memoryview) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_memoryview___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->obj);
  Py_CLEAR(p->_size);
  Py_CLEAR(p->_array_interface);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  if (p->obj) {
    e = (*v)(p->obj, a); if (e) return e;
  }
  if (p->_size) {
    e = (*v)(p->_size, a); if (e) return e;
  }
  if (p->_array_interface) {
    e = (*v)(p->_array_interface, a); if (e) return e;
  }
  if (p->view.obj) {
    e = (*v)(p->view.obj, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_memoryview(PyObject *o) {
  PyObject* tmp;
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  tmp = ((PyObject*)p->obj);
  p->obj = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_size);
  p->_size = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_array_interface);
  p->_array_interface = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  Py_CLEAR(p->view.obj);
  return 0;
}
static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_memoryview___setitem__(o, i, v);
  }
  else {
    __Pyx_TypeName o_type_name;
    o_type_name = __Pyx_PyType_GetName(Py_TYPE(o));
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
    __Pyx_DECREF_TypeName(o_type_name);
    return -1;
  }
}

static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(o);
}

static PyObject *__pyx_specialmethod___pyx_memoryview___repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_memoryview___repr__(self);
}

static PyMethodDef __pyx_methods_memoryview[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_memoryview___repr__, METH_NOARGS|METH_COEXIST, 0},
  {"is_c_contig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_c_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"is_f_contig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_f_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"copy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"copy_fortran", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy_fortran, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_memoryview[] = {
  {(char *)"T", __pyx_getprop___pyx_memoryview_T, 0, (char *)0, 0},
  {(char *)"base", __pyx_getprop___pyx_memoryview_base, 0, (char *)0, 0},
  {(char *)"shape", __pyx_getprop___pyx_memoryview_shape, 0, (char *)0, 0},
  {(char *)"strides", __pyx_getprop___pyx_memoryview_strides, 0, (char *)0, 0},
  {(char *)"suboffsets", __pyx_getprop___pyx_memoryview_suboffsets, 0, (char *)0, 0},
  {(char *)"ndim", __pyx_getprop___pyx_memoryview_ndim, 0, (char *)0, 0},
  {(char *)"itemsize", __pyx_getprop___pyx_memoryview_itemsize, 0, (char *)0, 0},
  {(char *)"nbytes", __pyx_getprop___pyx_memoryview_nbytes, 0, (char *)0, 0},
  {(char *)"size", __pyx_getprop___pyx_memoryview_size, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
#if !CYTHON_COMPILING_IN_LIMITED_API

static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  __pyx_memoryview_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};
#endif
static PyType_Slot __pyx_type___pyx_memoryview_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_memoryview},
  {Py_tp_repr, (void *)__pyx_memoryview___repr__},
  {Py_sq_length, (void *)__pyx_memoryview___len__},
  {Py_sq_item, (void *)__pyx_sq_item_memoryview},
  {Py_mp_length, (void *)__pyx_memoryview___len__},
  {Py_mp_subscript, (void *)__pyx_memoryview___getitem__},
  {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_memoryview},
  {Py_tp_str, (void *)__pyx_memoryview___str__},
  #if defined(Py_bf_getbuffer)
  {Py_bf_getbuffer, (void *)__pyx_memoryview_getbuffer},
  #endif
  {Py_tp_traverse, (void *)__pyx_tp_traverse_memoryview},
  {Py_tp_clear, (void *)__pyx_tp_clear_memoryview},
  {Py_tp_methods, (void *)__pyx_methods_memoryview},
  {Py_tp_getset, (void *)__pyx_getsets_memoryview},
  {Py_tp_new, (void *)__pyx_tp_new_memoryview},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_memoryview_spec = {
  "dearcygui.core.memoryview",
  sizeof(struct __pyx_memoryview_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type___pyx_memoryview_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_memoryview = {
  __pyx_memoryview___len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_memoryview, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_memoryview = {
  __pyx_memoryview___len__, /*mp_length*/
  __pyx_memoryview___getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_memoryview, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  __pyx_memoryview_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};

static PyTypeObject __pyx_type___pyx_memoryview = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""memoryview", /*tp_name*/
  sizeof(struct __pyx_memoryview_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_memoryview, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_memoryview___repr__, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_memoryview, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_memoryview, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  __pyx_memoryview___str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_memoryview, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_memoryview, /*tp_traverse*/
  __pyx_tp_clear_memoryview, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_memoryview, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_memoryview, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_memoryview, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;

static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_memoryviewslice_obj *p;
  PyObject *o = __pyx_tp_new_memoryview(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_memoryviewslice_obj *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_memoryview*)__pyx_vtabptr__memoryviewslice;
  new((void*)&(p->from_slice)) __Pyx_memviewslice();
  p->from_object = Py_None; Py_INCREF(Py_None);
  p->from_slice.memview = NULL;
  return o;
}

static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc__memoryviewslice) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_memoryviewslice___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->from_slice);
  Py_CLEAR(p->from_object);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_memoryview(o);
}

static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  e = __pyx_tp_traverse_memoryview(o, v, a); if (e) return e;
  if (p->from_object) {
    e = (*v)(p->from_object, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear__memoryviewslice(PyObject *o) {
  PyObject* tmp;
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  __pyx_tp_clear_memoryview(o);
  tmp = ((PyObject*)p->from_object);
  p->from_object = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  __PYX_XCLEAR_MEMVIEW(&p->from_slice, 1);
  return 0;
}

static PyMethodDef __pyx_methods__memoryviewslice[] = {
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type___pyx_memoryviewslice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc__memoryviewslice},
  {Py_tp_doc, (void *)PyDoc_STR("Internal class for passing memoryview slices to Python")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse__memoryviewslice},
  {Py_tp_clear, (void *)__pyx_tp_clear__memoryviewslice},
  {Py_tp_methods, (void *)__pyx_methods__memoryviewslice},
  {Py_tp_new, (void *)__pyx_tp_new__memoryviewslice},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = {
  "dearcygui.core._memoryviewslice",
  sizeof(struct __pyx_memoryviewslice_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE,
  __pyx_type___pyx_memoryviewslice_slots,
};
#else

static PyTypeObject __pyx_type___pyx_memoryviewslice = {
  PyVarObject_HEAD_INIT(0, 0)
  "dearcygui.core.""_memoryviewslice", /*tp_name*/
  sizeof(struct __pyx_memoryviewslice_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc__memoryviewslice, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_memoryview___repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_memoryview___str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE, /*tp_flags*/
  PyDoc_STR("Internal class for passing memoryview slices to Python"), /*tp_doc*/
  __pyx_tp_traverse__memoryviewslice, /*tp_traverse*/
  __pyx_tp_clear__memoryviewslice, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods__memoryviewslice, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new__memoryviewslice, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif
/* #### Code section: pystring_table ### */

static int __Pyx_CreateStringTabAndInitStrings(void) {
  __Pyx_StringTabEntry __pyx_string_tab[] = {
    {&__pyx_kp_b_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 0, 0},
    {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
    {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
    {&__pyx_kp_b_3f, __pyx_k_3f, sizeof(__pyx_k_3f), 0, 0, 0, 0},
    {&__pyx_n_s_ASCII, __pyx_k_ASCII, sizeof(__pyx_k_ASCII), 0, 0, 1, 1},
    {&__pyx_kp_s_All_dimensions_preceding_dimensi, __pyx_k_All_dimensions_preceding_dimensi, sizeof(__pyx_k_All_dimensions_preceding_dimensi), 0, 0, 1, 0},
    {&__pyx_kp_u_An_error_occured_in_the_viewport, __pyx_k_An_error_occured_in_the_viewport, sizeof(__pyx_k_An_error_occured_in_the_viewport), 0, 1, 0, 0},
    {&__pyx_kp_u_An_error_occured_in_the_viewport_2, __pyx_k_An_error_occured_in_the_viewport_2, sizeof(__pyx_k_An_error_occured_in_the_viewport_2), 0, 1, 0, 0},
    {&__pyx_n_s_AssertionError, __pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 0, 1, 1},
    {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1},
    {&__pyx_kp_u_Axes_must_be_a_tuple_of_valid_X, __pyx_k_Axes_must_be_a_tuple_of_valid_X, sizeof(__pyx_k_Axes_must_be_a_tuple_of_valid_X), 0, 1, 0, 0},
    {&__pyx_n_s_Axis, __pyx_k_Axis, sizeof(__pyx_k_Axis), 0, 0, 1, 1},
    {&__pyx_n_s_AxisScale, __pyx_k_AxisScale, sizeof(__pyx_k_AxisScale), 0, 0, 1, 1},
    {&__pyx_n_u_B, __pyx_k_B, sizeof(__pyx_k_B), 0, 1, 0, 1},
    {&__pyx_n_s_BOTTOM, __pyx_k_BOTTOM, sizeof(__pyx_k_BOTTOM), 0, 0, 1, 1},
    {&__pyx_kp_s_Buffer_view_does_not_expose_stri, __pyx_k_Buffer_view_does_not_expose_stri, sizeof(__pyx_k_Buffer_view_does_not_expose_stri), 0, 0, 1, 0},
    {&__pyx_n_s_Button, __pyx_k_Button, sizeof(__pyx_k_Button), 0, 0, 1, 1},
    {&__pyx_n_s_Button___reduce_cython, __pyx_k_Button___reduce_cython, sizeof(__pyx_k_Button___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Button___setstate_cython, __pyx_k_Button___setstate_cython, sizeof(__pyx_k_Button___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_C, __pyx_k_C, sizeof(__pyx_k_C), 0, 0, 1, 1},
    {&__pyx_n_s_CENTER, __pyx_k_CENTER, sizeof(__pyx_k_CENTER), 0, 0, 1, 1},
    {&__pyx_n_u_C_CONTIGUOUS, __pyx_k_C_CONTIGUOUS, sizeof(__pyx_k_C_CONTIGUOUS), 0, 1, 0, 1},
    {&__pyx_kp_u_Callback, __pyx_k_Callback, sizeof(__pyx_k_Callback), 0, 1, 0, 0},
    {&__pyx_n_s_Callback_2, __pyx_k_Callback_2, sizeof(__pyx_k_Callback_2), 0, 0, 1, 1},
    {&__pyx_n_s_Callback___reduce_cython, __pyx_k_Callback___reduce_cython, sizeof(__pyx_k_Callback___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Callback___setstate_cython, __pyx_k_Callback___setstate_cython, sizeof(__pyx_k_Callback___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Callback_argument_was, __pyx_k_Callback_argument_was, sizeof(__pyx_k_Callback_argument_was), 0, 1, 0, 0},
    {&__pyx_kp_u_Callback_arguments_were, __pyx_k_Callback_arguments_were, sizeof(__pyx_k_Callback_arguments_were), 0, 1, 0, 0},
    {&__pyx_kp_u_Callback_called_without_argument, __pyx_k_Callback_called_without_argument, sizeof(__pyx_k_Callback_called_without_argument), 0, 1, 0, 0},
    {&__pyx_kp_u_Callback_function_takes_too_many, __pyx_k_Callback_function_takes_too_many, sizeof(__pyx_k_Callback_function_takes_too_many), 0, 1, 0, 0},
    {&__pyx_kp_u_Callback_requires_a_callable_obj, __pyx_k_Callback_requires_a_callable_obj, sizeof(__pyx_k_Callback_requires_a_callable_obj), 0, 1, 0, 0},
    {&__pyx_kp_s_Can_only_create_a_buffer_that_is, __pyx_k_Can_only_create_a_buffer_that_is, sizeof(__pyx_k_Can_only_create_a_buffer_that_is), 0, 0, 1, 0},
    {&__pyx_kp_u_Cannot_add_Font_to_built_FontTex, __pyx_k_Cannot_add_Font_to_built_FontTex, sizeof(__pyx_k_Cannot_add_Font_to_built_FontTex), 0, 1, 0, 0},
    {&__pyx_kp_s_Cannot_assign_to_read_only_memor, __pyx_k_Cannot_assign_to_read_only_memor, sizeof(__pyx_k_Cannot_assign_to_read_only_memor), 0, 0, 1, 0},
    {&__pyx_kp_u_Cannot_attach, __pyx_k_Cannot_attach, sizeof(__pyx_k_Cannot_attach), 0, 1, 0, 0},
    {&__pyx_kp_u_Cannot_bind_sibling_if_no_parent, __pyx_k_Cannot_bind_sibling_if_no_parent, sizeof(__pyx_k_Cannot_bind_sibling_if_no_parent), 0, 1, 0, 0},
    {&__pyx_kp_s_Cannot_create_writable_memory_vi, __pyx_k_Cannot_create_writable_memory_vi, sizeof(__pyx_k_Cannot_create_writable_memory_vi), 0, 0, 1, 0},
    {&__pyx_kp_u_Cannot_get_mouse_position_no_mou, __pyx_k_Cannot_get_mouse_position_no_mou, sizeof(__pyx_k_Cannot_get_mouse_position_no_mou), 0, 1, 0, 0},
    {&__pyx_kp_u_Cannot_index_with_type, __pyx_k_Cannot_index_with_type, sizeof(__pyx_k_Cannot_index_with_type), 0, 1, 0, 0},
    {&__pyx_kp_u_Cannot_set_empty_texture, __pyx_k_Cannot_set_empty_texture, sizeof(__pyx_k_Cannot_set_empty_texture), 0, 1, 0, 0},
    {&__pyx_kp_s_Cannot_transpose_memoryview_with, __pyx_k_Cannot_transpose_memoryview_with, sizeof(__pyx_k_Cannot_transpose_memoryview_with), 0, 0, 1, 0},
    {&__pyx_n_s_Checkbox, __pyx_k_Checkbox, sizeof(__pyx_k_Checkbox), 0, 0, 1, 1},
    {&__pyx_n_s_Checkbox___reduce_cython, __pyx_k_Checkbox___reduce_cython, sizeof(__pyx_k_Checkbox___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Checkbox___setstate_cython, __pyx_k_Checkbox___setstate_cython, sizeof(__pyx_k_Checkbox___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ChildWindow, __pyx_k_ChildWindow, sizeof(__pyx_k_ChildWindow), 0, 0, 1, 1},
    {&__pyx_n_s_ChildWindow___reduce_cython, __pyx_k_ChildWindow___reduce_cython, sizeof(__pyx_k_ChildWindow___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ChildWindow___setstate_cython, __pyx_k_ChildWindow___setstate_cython, sizeof(__pyx_k_ChildWindow___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CollapsingHeader, __pyx_k_CollapsingHeader, sizeof(__pyx_k_CollapsingHeader), 0, 0, 1, 1},
    {&__pyx_n_s_CollapsingHeader___reduce_cython, __pyx_k_CollapsingHeader___reduce_cython, sizeof(__pyx_k_CollapsingHeader___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CollapsingHeader___setstate_cyth, __pyx_k_CollapsingHeader___setstate_cyth, sizeof(__pyx_k_CollapsingHeader___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_ColorButton, __pyx_k_ColorButton, sizeof(__pyx_k_ColorButton), 0, 0, 1, 1},
    {&__pyx_n_s_ColorButton___reduce_cython, __pyx_k_ColorButton___reduce_cython, sizeof(__pyx_k_ColorButton___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ColorButton___setstate_cython, __pyx_k_ColorButton___setstate_cython, sizeof(__pyx_k_ColorButton___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ColorEdit, __pyx_k_ColorEdit, sizeof(__pyx_k_ColorEdit), 0, 0, 1, 1},
    {&__pyx_n_s_ColorEdit___reduce_cython, __pyx_k_ColorEdit___reduce_cython, sizeof(__pyx_k_ColorEdit___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ColorEdit___setstate_cython, __pyx_k_ColorEdit___setstate_cython, sizeof(__pyx_k_ColorEdit___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ColorPicker, __pyx_k_ColorPicker, sizeof(__pyx_k_ColorPicker), 0, 0, 1, 1},
    {&__pyx_n_s_ColorPicker___reduce_cython, __pyx_k_ColorPicker___reduce_cython, sizeof(__pyx_k_ColorPicker___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ColorPicker___setstate_cython, __pyx_k_ColorPicker___setstate_cython, sizeof(__pyx_k_ColorPicker___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Color_data_must_either_an_int32, __pyx_k_Color_data_must_either_an_int32, sizeof(__pyx_k_Color_data_must_either_an_int32), 0, 1, 0, 0},
    {&__pyx_kp_u_Color_value_component_outside_bo, __pyx_k_Color_value_component_outside_bo, sizeof(__pyx_k_Color_value_component_outside_bo), 0, 1, 0, 0},
    {&__pyx_kp_u_Color_value_component_outside_bo_2, __pyx_k_Color_value_component_outside_bo_2, sizeof(__pyx_k_Color_value_component_outside_bo_2), 0, 1, 0, 0},
    {&__pyx_n_s_Combo, __pyx_k_Combo, sizeof(__pyx_k_Combo), 0, 0, 1, 1},
    {&__pyx_n_s_Combo___reduce_cython, __pyx_k_Combo___reduce_cython, sizeof(__pyx_k_Combo___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Combo___setstate_cython, __pyx_k_Combo___setstate_cython, sizeof(__pyx_k_Combo___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Context, __pyx_k_Context, sizeof(__pyx_k_Context), 0, 0, 1, 1},
    {&__pyx_n_s_Context___reduce_cython, __pyx_k_Context___reduce_cython, sizeof(__pyx_k_Context___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Context___setstate_cython, __pyx_k_Context___setstate_cython, sizeof(__pyx_k_Context___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Context_fetch_last_created_conta, __pyx_k_Context_fetch_last_created_conta, sizeof(__pyx_k_Context_fetch_last_created_conta), 0, 0, 1, 1},
    {&__pyx_n_s_Context_fetch_last_created_item, __pyx_k_Context_fetch_last_created_item, sizeof(__pyx_k_Context_fetch_last_created_item), 0, 0, 1, 1},
    {&__pyx_n_s_Context_fetch_parent_queue_back, __pyx_k_Context_fetch_parent_queue_back, sizeof(__pyx_k_Context_fetch_parent_queue_back), 0, 0, 1, 1},
    {&__pyx_n_s_Context_fetch_parent_queue_front, __pyx_k_Context_fetch_parent_queue_front, sizeof(__pyx_k_Context_fetch_parent_queue_front), 0, 0, 1, 1},
    {&__pyx_n_s_Context_get_mouse_clicked_count, __pyx_k_Context_get_mouse_clicked_count, sizeof(__pyx_k_Context_get_mouse_clicked_count), 0, 0, 1, 1},
    {&__pyx_n_s_Context_get_mouse_drag_delta, __pyx_k_Context_get_mouse_drag_delta, sizeof(__pyx_k_Context_get_mouse_drag_delta), 0, 0, 1, 1},
    {&__pyx_n_s_Context_get_mouse_position, __pyx_k_Context_get_mouse_position, sizeof(__pyx_k_Context_get_mouse_position), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_key_down, __pyx_k_Context_is_key_down, sizeof(__pyx_k_Context_is_key_down), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_key_pressed, __pyx_k_Context_is_key_pressed, sizeof(__pyx_k_Context_is_key_pressed), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_key_released, __pyx_k_Context_is_key_released, sizeof(__pyx_k_Context_is_key_released), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_mouse_clicked, __pyx_k_Context_is_mouse_clicked, sizeof(__pyx_k_Context_is_mouse_clicked), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_mouse_double_clicked, __pyx_k_Context_is_mouse_double_clicked, sizeof(__pyx_k_Context_is_mouse_double_clicked), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_mouse_down, __pyx_k_Context_is_mouse_down, sizeof(__pyx_k_Context_is_mouse_down), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_mouse_dragging, __pyx_k_Context_is_mouse_dragging, sizeof(__pyx_k_Context_is_mouse_dragging), 0, 0, 1, 1},
    {&__pyx_n_s_Context_is_mouse_released, __pyx_k_Context_is_mouse_released, sizeof(__pyx_k_Context_is_mouse_released), 0, 0, 1, 1},
    {&__pyx_n_s_Context_pop_next_parent, __pyx_k_Context_pop_next_parent, sizeof(__pyx_k_Context_pop_next_parent), 0, 0, 1, 1},
    {&__pyx_n_s_Context_push_next_parent, __pyx_k_Context_push_next_parent, sizeof(__pyx_k_Context_push_next_parent), 0, 0, 1, 1},
    {&__pyx_n_s_Context_reset_mouse_drag_delta, __pyx_k_Context_reset_mouse_drag_delta, sizeof(__pyx_k_Context_reset_mouse_drag_delta), 0, 0, 1, 1},
    {&__pyx_n_s_CursorArrow, __pyx_k_CursorArrow, sizeof(__pyx_k_CursorArrow), 0, 0, 1, 1},
    {&__pyx_n_s_CursorNone, __pyx_k_CursorNone, sizeof(__pyx_k_CursorNone), 0, 0, 1, 1},
    {&__pyx_n_s_CursorTextInput, __pyx_k_CursorTextInput, sizeof(__pyx_k_CursorTextInput), 0, 0, 1, 1},
    {&__pyx_n_s_DEFAULT, __pyx_k_DEFAULT, sizeof(__pyx_k_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_DPGCallback, __pyx_k_DPGCallback, sizeof(__pyx_k_DPGCallback), 0, 0, 1, 1},
    {&__pyx_n_s_DPGCallback___reduce_cython, __pyx_k_DPGCallback___reduce_cython, sizeof(__pyx_k_DPGCallback___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DPGCallback___setstate_cython, __pyx_k_DPGCallback___setstate_cython, sizeof(__pyx_k_DPGCallback___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_b_DPG_PAYLOAD, __pyx_k_DPG_PAYLOAD, sizeof(__pyx_k_DPG_PAYLOAD), 0, 0, 0, 0},
    {&__pyx_n_s_Delaunay, __pyx_k_Delaunay, sizeof(__pyx_k_Delaunay), 0, 0, 1, 1},
    {&__pyx_kp_s_Dimension_d_is_not_direct, __pyx_k_Dimension_d_is_not_direct, sizeof(__pyx_k_Dimension_d_is_not_direct), 0, 0, 1, 0},
    {&__pyx_n_s_DrawArrow, __pyx_k_DrawArrow, sizeof(__pyx_k_DrawArrow), 0, 0, 1, 1},
    {&__pyx_n_s_DrawArrow____reduce_cython, __pyx_k_DrawArrow____reduce_cython, sizeof(__pyx_k_DrawArrow____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawArrow____setstate_cython, __pyx_k_DrawArrow____setstate_cython, sizeof(__pyx_k_DrawArrow____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierCubic, __pyx_k_DrawBezierCubic, sizeof(__pyx_k_DrawBezierCubic), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierCubic____reduce_cython, __pyx_k_DrawBezierCubic____reduce_cython, sizeof(__pyx_k_DrawBezierCubic____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierCubic____setstate_cyth, __pyx_k_DrawBezierCubic____setstate_cyth, sizeof(__pyx_k_DrawBezierCubic____setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierQuadratic, __pyx_k_DrawBezierQuadratic, sizeof(__pyx_k_DrawBezierQuadratic), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierQuadratic____reduce_cy, __pyx_k_DrawBezierQuadratic____reduce_cy, sizeof(__pyx_k_DrawBezierQuadratic____reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_DrawBezierQuadratic____setstate, __pyx_k_DrawBezierQuadratic____setstate, sizeof(__pyx_k_DrawBezierQuadratic____setstate), 0, 0, 1, 1},
    {&__pyx_n_s_DrawCircle, __pyx_k_DrawCircle, sizeof(__pyx_k_DrawCircle), 0, 0, 1, 1},
    {&__pyx_n_s_DrawCircle____reduce_cython, __pyx_k_DrawCircle____reduce_cython, sizeof(__pyx_k_DrawCircle____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawCircle____setstate_cython, __pyx_k_DrawCircle____setstate_cython, sizeof(__pyx_k_DrawCircle____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawEllipse, __pyx_k_DrawEllipse, sizeof(__pyx_k_DrawEllipse), 0, 0, 1, 1},
    {&__pyx_n_s_DrawEllipse____reduce_cython, __pyx_k_DrawEllipse____reduce_cython, sizeof(__pyx_k_DrawEllipse____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawEllipse____setstate_cython, __pyx_k_DrawEllipse____setstate_cython, sizeof(__pyx_k_DrawEllipse____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImage, __pyx_k_DrawImage, sizeof(__pyx_k_DrawImage), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImageQuad, __pyx_k_DrawImageQuad, sizeof(__pyx_k_DrawImageQuad), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImageQuad____reduce_cython, __pyx_k_DrawImageQuad____reduce_cython, sizeof(__pyx_k_DrawImageQuad____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImageQuad____setstate_cython, __pyx_k_DrawImageQuad____setstate_cython, sizeof(__pyx_k_DrawImageQuad____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImage____reduce_cython, __pyx_k_DrawImage____reduce_cython, sizeof(__pyx_k_DrawImage____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawImage____setstate_cython, __pyx_k_DrawImage____setstate_cython, sizeof(__pyx_k_DrawImage____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInPlot, __pyx_k_DrawInPlot, sizeof(__pyx_k_DrawInPlot), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInPlot___reduce_cython, __pyx_k_DrawInPlot___reduce_cython, sizeof(__pyx_k_DrawInPlot___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInPlot___setstate_cython, __pyx_k_DrawInPlot___setstate_cython, sizeof(__pyx_k_DrawInPlot___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInWindow, __pyx_k_DrawInWindow, sizeof(__pyx_k_DrawInWindow), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInWindow___reduce_cython, __pyx_k_DrawInWindow___reduce_cython, sizeof(__pyx_k_DrawInWindow___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInWindow___setstate_cython, __pyx_k_DrawInWindow___setstate_cython, sizeof(__pyx_k_DrawInWindow___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInvisibleButton, __pyx_k_DrawInvisibleButton, sizeof(__pyx_k_DrawInvisibleButton), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInvisibleButton___reduce_cyt, __pyx_k_DrawInvisibleButton___reduce_cyt, sizeof(__pyx_k_DrawInvisibleButton___reduce_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_DrawInvisibleButton___setstate_c, __pyx_k_DrawInvisibleButton___setstate_c, sizeof(__pyx_k_DrawInvisibleButton___setstate_c), 0, 0, 1, 1},
    {&__pyx_n_s_DrawLine, __pyx_k_DrawLine, sizeof(__pyx_k_DrawLine), 0, 0, 1, 1},
    {&__pyx_n_s_DrawLine____reduce_cython, __pyx_k_DrawLine____reduce_cython, sizeof(__pyx_k_DrawLine____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawLine____setstate_cython, __pyx_k_DrawLine____setstate_cython, sizeof(__pyx_k_DrawLine____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolygon, __pyx_k_DrawPolygon, sizeof(__pyx_k_DrawPolygon), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolygon____reduce_cython, __pyx_k_DrawPolygon____reduce_cython, sizeof(__pyx_k_DrawPolygon____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolygon____setstate_cython, __pyx_k_DrawPolygon____setstate_cython, sizeof(__pyx_k_DrawPolygon____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolyline, __pyx_k_DrawPolyline, sizeof(__pyx_k_DrawPolyline), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolyline____reduce_cython, __pyx_k_DrawPolyline____reduce_cython, sizeof(__pyx_k_DrawPolyline____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawPolyline____setstate_cython, __pyx_k_DrawPolyline____setstate_cython, sizeof(__pyx_k_DrawPolyline____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawQuad, __pyx_k_DrawQuad, sizeof(__pyx_k_DrawQuad), 0, 0, 1, 1},
    {&__pyx_n_s_DrawQuad____reduce_cython, __pyx_k_DrawQuad____reduce_cython, sizeof(__pyx_k_DrawQuad____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawQuad____setstate_cython, __pyx_k_DrawQuad____setstate_cython, sizeof(__pyx_k_DrawQuad____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawRect, __pyx_k_DrawRect, sizeof(__pyx_k_DrawRect), 0, 0, 1, 1},
    {&__pyx_n_s_DrawRect____reduce_cython, __pyx_k_DrawRect____reduce_cython, sizeof(__pyx_k_DrawRect____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawRect____setstate_cython, __pyx_k_DrawRect____setstate_cython, sizeof(__pyx_k_DrawRect____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawText, __pyx_k_DrawText, sizeof(__pyx_k_DrawText), 0, 0, 1, 1},
    {&__pyx_n_s_DrawText____reduce_cython, __pyx_k_DrawText____reduce_cython, sizeof(__pyx_k_DrawText____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawText____setstate_cython, __pyx_k_DrawText____setstate_cython, sizeof(__pyx_k_DrawText____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawTriangle, __pyx_k_DrawTriangle, sizeof(__pyx_k_DrawTriangle), 0, 0, 1, 1},
    {&__pyx_n_s_DrawTriangle____reduce_cython, __pyx_k_DrawTriangle____reduce_cython, sizeof(__pyx_k_DrawTriangle____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawTriangle____setstate_cython, __pyx_k_DrawTriangle____setstate_cython, sizeof(__pyx_k_DrawTriangle____setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingList, __pyx_k_DrawingList, sizeof(__pyx_k_DrawingList), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingListScale, __pyx_k_DrawingListScale, sizeof(__pyx_k_DrawingListScale), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingListScale___reduce_cython, __pyx_k_DrawingListScale___reduce_cython, sizeof(__pyx_k_DrawingListScale___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingListScale___setstate_cyth, __pyx_k_DrawingListScale___setstate_cyth, sizeof(__pyx_k_DrawingListScale___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingList___reduce_cython, __pyx_k_DrawingList___reduce_cython, sizeof(__pyx_k_DrawingList___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_DrawingList___setstate_cython, __pyx_k_DrawingList___setstate_cython, sizeof(__pyx_k_DrawingList___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Ellipsis, __pyx_k_Ellipsis, sizeof(__pyx_k_Ellipsis), 0, 0, 1, 1},
    {&__pyx_kp_s_Empty_shape_tuple_for_cython_arr, __pyx_k_Empty_shape_tuple_for_cython_arr, sizeof(__pyx_k_Empty_shape_tuple_for_cython_arr), 0, 0, 1, 0},
    {&__pyx_n_s_EnumBase, __pyx_k_EnumBase, sizeof(__pyx_k_EnumBase), 0, 0, 1, 1},
    {&__pyx_n_s_EnumType, __pyx_k_EnumType, sizeof(__pyx_k_EnumType), 0, 0, 1, 1},
    {&__pyx_n_s_Executor, __pyx_k_Executor, sizeof(__pyx_k_Executor), 0, 0, 1, 1},
    {&__pyx_kp_u_Expected_1_2_3_or_4_for_size_Got, __pyx_k_Expected_1_2_3_or_4_for_size_Got, sizeof(__pyx_k_Expected_1_2_3_or_4_for_size_Got), 0, 1, 0, 0},
    {&__pyx_kp_u_Expected_a_shareable_value_of_ty, __pyx_k_Expected_a_shareable_value_of_ty, sizeof(__pyx_k_Expected_a_shareable_value_of_ty), 0, 1, 0, 0},
    {&__pyx_kp_u_Expected_int_float_or_double_Got, __pyx_k_Expected_int_float_or_double_Got, sizeof(__pyx_k_Expected_int_float_or_double_Got), 0, 1, 0, 0},
    {&__pyx_kp_u_Expected_tuple_for_pos_x_y, __pyx_k_Expected_tuple_for_pos_x_y, sizeof(__pyx_k_Expected_tuple_for_pos_x_y), 0, 1, 0, 0},
    {&__pyx_kp_u_Expected_tuple_got, __pyx_k_Expected_tuple_got, sizeof(__pyx_k_Expected_tuple_got), 0, 1, 0, 0},
    {&__pyx_kp_u_Failed_to_build_target_texture_d, __pyx_k_Failed_to_build_target_texture_d, sizeof(__pyx_k_Failed_to_build_target_texture_d), 0, 1, 0, 0},
    {&__pyx_kp_u_Failed_to_create_the_viewport, __pyx_k_Failed_to_create_the_viewport, sizeof(__pyx_k_Failed_to_create_the_viewport), 0, 1, 0, 0},
    {&__pyx_kp_u_Failed_to_load_target_Font_file, __pyx_k_Failed_to_load_target_Font_file, sizeof(__pyx_k_Failed_to_load_target_Font_file), 0, 1, 0, 0},
    {&__pyx_kp_u_Failed_to_upload_target_texture, __pyx_k_Failed_to_upload_target_texture, sizeof(__pyx_k_Failed_to_upload_target_texture), 0, 1, 0, 0},
    {&__pyx_kp_u_Field_undefined_for_type, __pyx_k_Field_undefined_for_type, sizeof(__pyx_k_Field_undefined_for_type), 0, 1, 0, 0},
    {&__pyx_kp_u_File, __pyx_k_File, sizeof(__pyx_k_File), 0, 1, 0, 0},
    {&__pyx_n_s_FindSystemFontsFilenameException, __pyx_k_FindSystemFontsFilenameException, sizeof(__pyx_k_FindSystemFontsFilenameException), 0, 0, 1, 1},
    {&__pyx_n_s_Font, __pyx_k_Font, sizeof(__pyx_k_Font), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture, __pyx_k_FontTexture, sizeof(__pyx_k_FontTexture), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture___delalloc, __pyx_k_FontTexture___delalloc, sizeof(__pyx_k_FontTexture___delalloc), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture___reduce_cython, __pyx_k_FontTexture___reduce_cython, sizeof(__pyx_k_FontTexture___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture___setstate_cython, __pyx_k_FontTexture___setstate_cython, sizeof(__pyx_k_FontTexture___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture_add_font_file, __pyx_k_FontTexture_add_font_file, sizeof(__pyx_k_FontTexture_add_font_file), 0, 0, 1, 1},
    {&__pyx_n_s_FontTexture_build, __pyx_k_FontTexture_build, sizeof(__pyx_k_FontTexture_build), 0, 0, 1, 1},
    {&__pyx_n_s_Font___reduce_cython, __pyx_k_Font___reduce_cython, sizeof(__pyx_k_Font___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Font___setstate_cython, __pyx_k_Font___setstate_cython, sizeof(__pyx_k_Font___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Hand, __pyx_k_Hand, sizeof(__pyx_k_Hand), 0, 0, 1, 1},
    {&__pyx_n_s_HorizontalLayout, __pyx_k_HorizontalLayout, sizeof(__pyx_k_HorizontalLayout), 0, 0, 1, 1},
    {&__pyx_n_s_HorizontalLayout___reduce_cython, __pyx_k_HorizontalLayout___reduce_cython, sizeof(__pyx_k_HorizontalLayout___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_HorizontalLayout___setstate_cyth, __pyx_k_HorizontalLayout___setstate_cyth, sizeof(__pyx_k_HorizontalLayout___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_HorizontalLayout_update_layout, __pyx_k_HorizontalLayout_update_layout, sizeof(__pyx_k_HorizontalLayout_update_layout), 0, 0, 1, 1},
    {&__pyx_n_s_Image, __pyx_k_Image, sizeof(__pyx_k_Image), 0, 0, 1, 1},
    {&__pyx_n_s_ImageButton, __pyx_k_ImageButton, sizeof(__pyx_k_ImageButton), 0, 0, 1, 1},
    {&__pyx_n_s_ImageButton___reduce_cython, __pyx_k_ImageButton___reduce_cython, sizeof(__pyx_k_ImageButton___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ImageButton___setstate_cython, __pyx_k_ImageButton___setstate_cython, sizeof(__pyx_k_ImageButton___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Image___reduce_cython, __pyx_k_Image___reduce_cython, sizeof(__pyx_k_Image___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Image___setstate_cython, __pyx_k_Image___setstate_cython, sizeof(__pyx_k_Image___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
    {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0},
    {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_k_Incompatible_checksums_0x_x_vs_0_2, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_2), 0, 0, 1, 0},
    {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
    {&__pyx_kp_s_Index_out_of_bounds_axis_d, __pyx_k_Index_out_of_bounds_axis_d, sizeof(__pyx_k_Index_out_of_bounds_axis_d), 0, 0, 1, 0},
    {&__pyx_kp_s_Indirect_dimensions_not_supporte, __pyx_k_Indirect_dimensions_not_supporte, sizeof(__pyx_k_Indirect_dimensions_not_supporte), 0, 0, 1, 0},
    {&__pyx_n_s_InputText, __pyx_k_InputText, sizeof(__pyx_k_InputText), 0, 0, 1, 1},
    {&__pyx_n_s_InputText___reduce_cython, __pyx_k_InputText___reduce_cython, sizeof(__pyx_k_InputText___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_InputText___setstate_cython, __pyx_k_InputText___setstate_cython, sizeof(__pyx_k_InputText___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_InputValue, __pyx_k_InputValue, sizeof(__pyx_k_InputValue), 0, 0, 1, 1},
    {&__pyx_n_s_InputValue___reduce_cython, __pyx_k_InputValue___reduce_cython, sizeof(__pyx_k_InputValue___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_InputValue___setstate_cython, __pyx_k_InputValue___setstate_cython, sizeof(__pyx_k_InputValue___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_InputValue_configure, __pyx_k_InputValue_configure, sizeof(__pyx_k_InputValue_configure), 0, 0, 1, 1},
    {&__pyx_kp_u_Instance_of_type_cannot_be_attac, __pyx_k_Instance_of_type_cannot_be_attac, sizeof(__pyx_k_Instance_of_type_cannot_be_attac), 0, 1, 0, 0},
    {&__pyx_kp_u_Instance_of_type_cannot_be_sibli, __pyx_k_Instance_of_type_cannot_be_sibli, sizeof(__pyx_k_Instance_of_type_cannot_be_sibli), 0, 1, 0, 0},
    {&__pyx_kp_u_Instance_of_type_cannot_have_a_s, __pyx_k_Instance_of_type_cannot_have_a_s, sizeof(__pyx_k_Instance_of_type_cannot_have_a_s), 0, 1, 0, 0},
    {&__pyx_n_s_IntEnum, __pyx_k_IntEnum, sizeof(__pyx_k_IntEnum), 0, 0, 1, 1},
    {&__pyx_n_s_IntFlag, __pyx_k_IntFlag, sizeof(__pyx_k_IntFlag), 0, 0, 1, 1},
    {&__pyx_kp_u_Invalid_alignment_value, __pyx_k_Invalid_alignment_value, sizeof(__pyx_k_Invalid_alignment_value), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_arguments_passed_to_Text, __pyx_k_Invalid_arguments_passed_to_Text, sizeof(__pyx_k_Invalid_arguments_passed_to_Text), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_button, __pyx_k_Invalid_button, sizeof(__pyx_k_Invalid_button), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_button_mask, __pyx_k_Invalid_button_mask, sizeof(__pyx_k_Invalid_button_mask), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_cursor_type_value, __pyx_k_Invalid_cursor_type_value, sizeof(__pyx_k_Invalid_cursor_type_value), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_direction_value, __pyx_k_Invalid_direction_value, sizeof(__pyx_k_Invalid_direction_value), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_height_mode_value, __pyx_k_Invalid_height_mode_value, sizeof(__pyx_k_Invalid_height_mode_value), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_key, __pyx_k_Invalid_key, sizeof(__pyx_k_Invalid_key), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_location_Must_be_a_Legen, __pyx_k_Invalid_location_Must_be_a_Legen, sizeof(__pyx_k_Invalid_location_Must_be_a_Legen), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_mode_expected_c_or_fortr, __pyx_k_Invalid_mode_expected_c_or_fortr, sizeof(__pyx_k_Invalid_mode_expected_c_or_fortr), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_number_of_texture_dimens, __pyx_k_Invalid_number_of_texture_dimens, sizeof(__pyx_k_Invalid_number_of_texture_dimens), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_positioning_policy, __pyx_k_Invalid_positioning_policy, sizeof(__pyx_k_Invalid_positioning_policy), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_scale, __pyx_k_Invalid_scale, sizeof(__pyx_k_Invalid_scale), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_scale_Expecting_an_AxisS, __pyx_k_Invalid_scale_Expecting_an_AxisS, sizeof(__pyx_k_Invalid_scale_Expecting_an_AxisS), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_shape_in_axis, __pyx_k_Invalid_shape_in_axis, sizeof(__pyx_k_Invalid_shape_in_axis), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_texture_size, __pyx_k_Invalid_texture_size, sizeof(__pyx_k_Invalid_texture_size), 0, 1, 0, 0},
    {&__pyx_kp_u_Invalid_type, __pyx_k_Invalid_type, sizeof(__pyx_k_Invalid_type), 0, 1, 0, 0},
    {&__pyx_kp_u_Item_not_found_with_index, __pyx_k_Item_not_found_with_index, sizeof(__pyx_k_Item_not_found_with_index), 0, 1, 0, 0},
    {&__pyx_n_s_JUSTIFIED, __pyx_k_JUSTIFIED, sizeof(__pyx_k_JUSTIFIED), 0, 0, 1, 1},
    {&__pyx_n_s_KeyDownHandler, __pyx_k_KeyDownHandler, sizeof(__pyx_k_KeyDownHandler), 0, 0, 1, 1},
    {&__pyx_n_s_KeyDownHandler____reduce_cython, __pyx_k_KeyDownHandler____reduce_cython, sizeof(__pyx_k_KeyDownHandler____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_KeyDownHandler____setstate_cytho, __pyx_k_KeyDownHandler____setstate_cytho, sizeof(__pyx_k_KeyDownHandler____setstate_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
    {&__pyx_n_s_KeyPressHandler, __pyx_k_KeyPressHandler, sizeof(__pyx_k_KeyPressHandler), 0, 0, 1, 1},
    {&__pyx_n_s_KeyPressHandler____reduce_cython, __pyx_k_KeyPressHandler____reduce_cython, sizeof(__pyx_k_KeyPressHandler____reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_KeyPressHandler____setstate_cyth, __pyx_k_KeyPressHandler____setstate_cyth, sizeof(__pyx_k_KeyPressHandler____setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_KeyReleaseHandler, __pyx_k_KeyReleaseHandler, sizeof(__pyx_k_KeyReleaseHandler), 0, 0, 1, 1},
    {&__pyx_n_s_KeyReleaseHandler____reduce_cyth, __pyx_k_KeyReleaseHandler____reduce_cyth, sizeof(__pyx_k_KeyReleaseHandler____reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_KeyReleaseHandler____setstate_cy, __pyx_k_KeyReleaseHandler____setstate_cy, sizeof(__pyx_k_KeyReleaseHandler____setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_LEFT, __pyx_k_LEFT, sizeof(__pyx_k_LEFT), 0, 0, 1, 1},
    {&__pyx_n_s_Layout, __pyx_k_Layout, sizeof(__pyx_k_Layout), 0, 0, 1, 1},
    {&__pyx_n_s_Layout___reduce_cython, __pyx_k_Layout___reduce_cython, sizeof(__pyx_k_Layout___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Layout___setstate_cython, __pyx_k_Layout___setstate_cython, sizeof(__pyx_k_Layout___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Layout_update_layout, __pyx_k_Layout_update_layout, sizeof(__pyx_k_Layout_update_layout), 0, 0, 1, 1},
    {&__pyx_n_s_LegendLocation, __pyx_k_LegendLocation, sizeof(__pyx_k_LegendLocation), 0, 0, 1, 1},
    {&__pyx_n_s_ListBox, __pyx_k_ListBox, sizeof(__pyx_k_ListBox), 0, 0, 1, 1},
    {&__pyx_n_s_ListBox___reduce_cython, __pyx_k_ListBox___reduce_cython, sizeof(__pyx_k_ListBox___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ListBox___setstate_cython, __pyx_k_ListBox___setstate_cython, sizeof(__pyx_k_ListBox___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MANUAL, __pyx_k_MANUAL, sizeof(__pyx_k_MANUAL), 0, 0, 1, 1},
    {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
    {&__pyx_kp_s_MemoryView_of_r_at_0x_x, __pyx_k_MemoryView_of_r_at_0x_x, sizeof(__pyx_k_MemoryView_of_r_at_0x_x), 0, 0, 1, 0},
    {&__pyx_kp_s_MemoryView_of_r_object, __pyx_k_MemoryView_of_r_object, sizeof(__pyx_k_MemoryView_of_r_object), 0, 0, 1, 0},
    {&__pyx_n_s_Menu, __pyx_k_Menu, sizeof(__pyx_k_Menu), 0, 0, 1, 1},
    {&__pyx_n_s_MenuBar, __pyx_k_MenuBar, sizeof(__pyx_k_MenuBar), 0, 0, 1, 1},
    {&__pyx_n_s_MenuBar___reduce_cython, __pyx_k_MenuBar___reduce_cython, sizeof(__pyx_k_MenuBar___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MenuBar___setstate_cython, __pyx_k_MenuBar___setstate_cython, sizeof(__pyx_k_MenuBar___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MenuItem, __pyx_k_MenuItem, sizeof(__pyx_k_MenuItem), 0, 0, 1, 1},
    {&__pyx_n_s_MenuItem___reduce_cython, __pyx_k_MenuItem___reduce_cython, sizeof(__pyx_k_MenuItem___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MenuItem___setstate_cython, __pyx_k_MenuItem___setstate_cython, sizeof(__pyx_k_MenuItem___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Menu___reduce_cython, __pyx_k_Menu___reduce_cython, sizeof(__pyx_k_Menu___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Menu___setstate_cython, __pyx_k_Menu___setstate_cython, sizeof(__pyx_k_Menu___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MouseClickHandler, __pyx_k_MouseClickHandler, sizeof(__pyx_k_MouseClickHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseClickHandler____reduce_cyth, __pyx_k_MouseClickHandler____reduce_cyth, sizeof(__pyx_k_MouseClickHandler____reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_MouseClickHandler____setstate_cy, __pyx_k_MouseClickHandler____setstate_cy, sizeof(__pyx_k_MouseClickHandler____setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDoubleClickHandler, __pyx_k_MouseDoubleClickHandler, sizeof(__pyx_k_MouseDoubleClickHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDoubleClickHandler____reduc, __pyx_k_MouseDoubleClickHandler____reduc, sizeof(__pyx_k_MouseDoubleClickHandler____reduc), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDoubleClickHandler____setst, __pyx_k_MouseDoubleClickHandler____setst, sizeof(__pyx_k_MouseDoubleClickHandler____setst), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDownHandler, __pyx_k_MouseDownHandler, sizeof(__pyx_k_MouseDownHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDownHandler____reduce_cytho, __pyx_k_MouseDownHandler____reduce_cytho, sizeof(__pyx_k_MouseDownHandler____reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDownHandler____setstate_cyt, __pyx_k_MouseDownHandler____setstate_cyt, sizeof(__pyx_k_MouseDownHandler____setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDragHandler, __pyx_k_MouseDragHandler, sizeof(__pyx_k_MouseDragHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDragHandler____reduce_cytho, __pyx_k_MouseDragHandler____reduce_cytho, sizeof(__pyx_k_MouseDragHandler____reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_MouseDragHandler____setstate_cyt, __pyx_k_MouseDragHandler____setstate_cyt, sizeof(__pyx_k_MouseDragHandler____setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_MouseMoveHandler, __pyx_k_MouseMoveHandler, sizeof(__pyx_k_MouseMoveHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseMoveHandler___reduce_cython, __pyx_k_MouseMoveHandler___reduce_cython, sizeof(__pyx_k_MouseMoveHandler___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_MouseMoveHandler___setstate_cyth, __pyx_k_MouseMoveHandler___setstate_cyth, sizeof(__pyx_k_MouseMoveHandler___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_MouseReleaseHandler, __pyx_k_MouseReleaseHandler, sizeof(__pyx_k_MouseReleaseHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseReleaseHandler____reduce_cy, __pyx_k_MouseReleaseHandler____reduce_cy, sizeof(__pyx_k_MouseReleaseHandler____reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_MouseReleaseHandler____setstate, __pyx_k_MouseReleaseHandler____setstate, sizeof(__pyx_k_MouseReleaseHandler____setstate), 0, 0, 1, 1},
    {&__pyx_n_s_MouseWheelHandler, __pyx_k_MouseWheelHandler, sizeof(__pyx_k_MouseWheelHandler), 0, 0, 1, 1},
    {&__pyx_n_s_MouseWheelHandler___reduce_cytho, __pyx_k_MouseWheelHandler___reduce_cytho, sizeof(__pyx_k_MouseWheelHandler___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_MouseWheelHandler___setstate_cyt, __pyx_k_MouseWheelHandler___setstate_cyt, sizeof(__pyx_k_MouseWheelHandler___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1},
    {&__pyx_kp_u_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 1, 0, 0},
    {&__pyx_n_s_NotAllowed, __pyx_k_NotAllowed, sizeof(__pyx_k_NotAllowed), 0, 0, 1, 1},
    {&__pyx_n_b_O, __pyx_k_O, sizeof(__pyx_k_O), 0, 0, 0, 1},
    {&__pyx_kp_u_Objects_of_type, __pyx_k_Objects_of_type, sizeof(__pyx_k_Objects_of_type), 0, 1, 0, 0},
    {&__pyx_n_s_OrderedDict, __pyx_k_OrderedDict, sizeof(__pyx_k_OrderedDict), 0, 0, 1, 1},
    {&__pyx_kp_u_Out_of_bounds_on_buffer_access_a, __pyx_k_Out_of_bounds_on_buffer_access_a, sizeof(__pyx_k_Out_of_bounds_on_buffer_access_a), 0, 1, 0, 0},
    {&__pyx_kp_u_Outside_range, __pyx_k_Outside_range, sizeof(__pyx_k_Outside_range), 0, 1, 0, 0},
    {&__pyx_n_s_PermissionError, __pyx_k_PermissionError, sizeof(__pyx_k_PermissionError), 0, 0, 1, 1},
    {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
    {&__pyx_n_s_PlaceHolderParent, __pyx_k_PlaceHolderParent, sizeof(__pyx_k_PlaceHolderParent), 0, 0, 1, 1},
    {&__pyx_n_s_PlaceHolderParent___reduce_cytho, __pyx_k_PlaceHolderParent___reduce_cytho, sizeof(__pyx_k_PlaceHolderParent___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_PlaceHolderParent___setstate_cyt, __pyx_k_PlaceHolderParent___setstate_cyt, sizeof(__pyx_k_PlaceHolderParent___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_Plot, __pyx_k_Plot, sizeof(__pyx_k_Plot), 0, 0, 1, 1},
    {&__pyx_n_s_PlotAxisConfig, __pyx_k_PlotAxisConfig, sizeof(__pyx_k_PlotAxisConfig), 0, 0, 1, 1},
    {&__pyx_n_s_PlotAxisConfig___reduce_cython, __pyx_k_PlotAxisConfig___reduce_cython, sizeof(__pyx_k_PlotAxisConfig___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotAxisConfig___setstate_cython, __pyx_k_PlotAxisConfig___setstate_cython, sizeof(__pyx_k_PlotAxisConfig___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotAxisConfig_fit, __pyx_k_PlotAxisConfig_fit, sizeof(__pyx_k_PlotAxisConfig_fit), 0, 0, 1, 1},
    {&__pyx_n_s_PlotBars, __pyx_k_PlotBars, sizeof(__pyx_k_PlotBars), 0, 0, 1, 1},
    {&__pyx_n_s_PlotBars___reduce_cython, __pyx_k_PlotBars___reduce_cython, sizeof(__pyx_k_PlotBars___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotBars___setstate_cython, __pyx_k_PlotBars___setstate_cython, sizeof(__pyx_k_PlotBars___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotInfLines, __pyx_k_PlotInfLines, sizeof(__pyx_k_PlotInfLines), 0, 0, 1, 1},
    {&__pyx_n_s_PlotInfLines___reduce_cython, __pyx_k_PlotInfLines___reduce_cython, sizeof(__pyx_k_PlotInfLines___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotInfLines___setstate_cython, __pyx_k_PlotInfLines___setstate_cython, sizeof(__pyx_k_PlotInfLines___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLegendConfig, __pyx_k_PlotLegendConfig, sizeof(__pyx_k_PlotLegendConfig), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLegendConfig___reduce_cython, __pyx_k_PlotLegendConfig___reduce_cython, sizeof(__pyx_k_PlotLegendConfig___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLegendConfig___setstate_cyth, __pyx_k_PlotLegendConfig___setstate_cyth, sizeof(__pyx_k_PlotLegendConfig___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLine, __pyx_k_PlotLine, sizeof(__pyx_k_PlotLine), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLine___reduce_cython, __pyx_k_PlotLine___reduce_cython, sizeof(__pyx_k_PlotLine___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotLine___setstate_cython, __pyx_k_PlotLine___setstate_cython, sizeof(__pyx_k_PlotLine___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotScatter, __pyx_k_PlotScatter, sizeof(__pyx_k_PlotScatter), 0, 0, 1, 1},
    {&__pyx_n_s_PlotScatter___reduce_cython, __pyx_k_PlotScatter___reduce_cython, sizeof(__pyx_k_PlotScatter___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotScatter___setstate_cython, __pyx_k_PlotScatter___setstate_cython, sizeof(__pyx_k_PlotScatter___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotShadedLine, __pyx_k_PlotShadedLine, sizeof(__pyx_k_PlotShadedLine), 0, 0, 1, 1},
    {&__pyx_n_s_PlotShadedLine___reduce_cython, __pyx_k_PlotShadedLine___reduce_cython, sizeof(__pyx_k_PlotShadedLine___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotShadedLine___setstate_cython, __pyx_k_PlotShadedLine___setstate_cython, sizeof(__pyx_k_PlotShadedLine___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStairs, __pyx_k_PlotStairs, sizeof(__pyx_k_PlotStairs), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStairs___reduce_cython, __pyx_k_PlotStairs___reduce_cython, sizeof(__pyx_k_PlotStairs___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStairs___setstate_cython, __pyx_k_PlotStairs___setstate_cython, sizeof(__pyx_k_PlotStairs___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStems, __pyx_k_PlotStems, sizeof(__pyx_k_PlotStems), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStems___reduce_cython, __pyx_k_PlotStems___reduce_cython, sizeof(__pyx_k_PlotStems___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_PlotStems___setstate_cython, __pyx_k_PlotStems___setstate_cython, sizeof(__pyx_k_PlotStems___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Plot___reduce_cython, __pyx_k_Plot___reduce_cython, sizeof(__pyx_k_Plot___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Plot___setstate_cython, __pyx_k_Plot___setstate_cython, sizeof(__pyx_k_Plot___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Point_data_must_be_an_array_of_u, __pyx_k_Point_data_must_be_an_array_of_u, sizeof(__pyx_k_Point_data_must_be_an_array_of_u), 0, 1, 0, 0},
    {&__pyx_kp_u_Point_data_must_be_an_array_of_u_2, __pyx_k_Point_data_must_be_an_array_of_u_2, sizeof(__pyx_k_Point_data_must_be_an_array_of_u_2), 0, 1, 0, 0},
    {&__pyx_kp_u_ProggyClean_ttf, __pyx_k_ProggyClean_ttf, sizeof(__pyx_k_ProggyClean_ttf), 0, 1, 0, 0},
    {&__pyx_n_s_ProgressBar, __pyx_k_ProgressBar, sizeof(__pyx_k_ProgressBar), 0, 0, 1, 1},
    {&__pyx_n_s_ProgressBar___reduce_cython, __pyx_k_ProgressBar___reduce_cython, sizeof(__pyx_k_ProgressBar___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_ProgressBar___setstate_cython, __pyx_k_ProgressBar___setstate_cython, sizeof(__pyx_k_ProgressBar___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Provided_context_is_not_a_valid, __pyx_k_Provided_context_is_not_a_valid, sizeof(__pyx_k_Provided_context_is_not_a_valid), 0, 1, 0, 0},
    {&__pyx_n_s_Pyx_EnumBase, __pyx_k_Pyx_EnumBase, sizeof(__pyx_k_Pyx_EnumBase), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_EnumBase___new, __pyx_k_Pyx_EnumBase___new, sizeof(__pyx_k_Pyx_EnumBase___new), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_EnumBase___repr, __pyx_k_Pyx_EnumBase___repr, sizeof(__pyx_k_Pyx_EnumBase___repr), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_EnumBase___str, __pyx_k_Pyx_EnumBase___str, sizeof(__pyx_k_Pyx_EnumBase___str), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_EnumMeta___reduce_cython, __pyx_k_Pyx_EnumMeta___reduce_cython, sizeof(__pyx_k_Pyx_EnumMeta___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_EnumMeta___setstate_cython, __pyx_k_Pyx_EnumMeta___setstate_cython, sizeof(__pyx_k_Pyx_EnumMeta___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_FlagBase, __pyx_k_Pyx_FlagBase, sizeof(__pyx_k_Pyx_FlagBase), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_FlagBase___new, __pyx_k_Pyx_FlagBase___new, sizeof(__pyx_k_Pyx_FlagBase___new), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_FlagBase___repr, __pyx_k_Pyx_FlagBase___repr, sizeof(__pyx_k_Pyx_FlagBase___repr), 0, 0, 1, 1},
    {&__pyx_n_s_Pyx_FlagBase___str, __pyx_k_Pyx_FlagBase___str, sizeof(__pyx_k_Pyx_FlagBase___str), 0, 0, 1, 1},
    {&__pyx_n_s_REL_DEFAULT, __pyx_k_REL_DEFAULT, sizeof(__pyx_k_REL_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_REL_PARENT, __pyx_k_REL_PARENT, sizeof(__pyx_k_REL_PARENT), 0, 0, 1, 1},
    {&__pyx_n_s_REL_VIEWPORT, __pyx_k_REL_VIEWPORT, sizeof(__pyx_k_REL_VIEWPORT), 0, 0, 1, 1},
    {&__pyx_n_s_REL_WINDOW, __pyx_k_REL_WINDOW, sizeof(__pyx_k_REL_WINDOW), 0, 0, 1, 1},
    {&__pyx_n_s_RIGHT, __pyx_k_RIGHT, sizeof(__pyx_k_RIGHT), 0, 0, 1, 1},
    {&__pyx_n_s_RadioButton, __pyx_k_RadioButton, sizeof(__pyx_k_RadioButton), 0, 0, 1, 1},
    {&__pyx_n_s_RadioButton___reduce_cython, __pyx_k_RadioButton___reduce_cython, sizeof(__pyx_k_RadioButton___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_RadioButton___setstate_cython, __pyx_k_RadioButton___setstate_cython, sizeof(__pyx_k_RadioButton___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Received, __pyx_k_Received, sizeof(__pyx_k_Received), 0, 1, 0, 0},
    {&__pyx_n_s_ResizeAll, __pyx_k_ResizeAll, sizeof(__pyx_k_ResizeAll), 0, 0, 1, 1},
    {&__pyx_n_s_ResizeEW, __pyx_k_ResizeEW, sizeof(__pyx_k_ResizeEW), 0, 0, 1, 1},
    {&__pyx_n_s_ResizeNESW, __pyx_k_ResizeNESW, sizeof(__pyx_k_ResizeNESW), 0, 0, 1, 1},
    {&__pyx_n_s_ResizeNS, __pyx_k_ResizeNS, sizeof(__pyx_k_ResizeNS), 0, 0, 1, 1},
    {&__pyx_n_s_ResizeNWSE, __pyx_k_ResizeNWSE, sizeof(__pyx_k_ResizeNWSE), 0, 0, 1, 1},
    {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
    {&__pyx_n_s_Selectable, __pyx_k_Selectable, sizeof(__pyx_k_Selectable), 0, 0, 1, 1},
    {&__pyx_n_s_Selectable___reduce_cython, __pyx_k_Selectable___reduce_cython, sizeof(__pyx_k_Selectable___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Selectable___setstate_cython, __pyx_k_Selectable___setstate_cython, sizeof(__pyx_k_Selectable___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Separator, __pyx_k_Separator, sizeof(__pyx_k_Separator), 0, 0, 1, 1},
    {&__pyx_n_s_Separator___reduce_cython, __pyx_k_Separator___reduce_cython, sizeof(__pyx_k_Separator___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Separator___setstate_cython, __pyx_k_Separator___setstate_cython, sizeof(__pyx_k_Separator___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Sequence, __pyx_k_Sequence, sizeof(__pyx_k_Sequence), 0, 0, 1, 1},
    {&__pyx_n_s_SharedBool, __pyx_k_SharedBool, sizeof(__pyx_k_SharedBool), 0, 0, 1, 1},
    {&__pyx_n_s_SharedBool___reduce_cython, __pyx_k_SharedBool___reduce_cython, sizeof(__pyx_k_SharedBool___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedBool___setstate_cython, __pyx_k_SharedBool___setstate_cython, sizeof(__pyx_k_SharedBool___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedColor, __pyx_k_SharedColor, sizeof(__pyx_k_SharedColor), 0, 0, 1, 1},
    {&__pyx_n_s_SharedColor___reduce_cython, __pyx_k_SharedColor___reduce_cython, sizeof(__pyx_k_SharedColor___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedColor___setstate_cython, __pyx_k_SharedColor___setstate_cython, sizeof(__pyx_k_SharedColor___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble, __pyx_k_SharedDouble, sizeof(__pyx_k_SharedDouble), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble4, __pyx_k_SharedDouble4, sizeof(__pyx_k_SharedDouble4), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble4___reduce_cython, __pyx_k_SharedDouble4___reduce_cython, sizeof(__pyx_k_SharedDouble4___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble4___setstate_cython, __pyx_k_SharedDouble4___setstate_cython, sizeof(__pyx_k_SharedDouble4___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble___reduce_cython, __pyx_k_SharedDouble___reduce_cython, sizeof(__pyx_k_SharedDouble___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedDouble___setstate_cython, __pyx_k_SharedDouble___setstate_cython, sizeof(__pyx_k_SharedDouble___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat, __pyx_k_SharedFloat, sizeof(__pyx_k_SharedFloat), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat4, __pyx_k_SharedFloat4, sizeof(__pyx_k_SharedFloat4), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat4___reduce_cython, __pyx_k_SharedFloat4___reduce_cython, sizeof(__pyx_k_SharedFloat4___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat4___setstate_cython, __pyx_k_SharedFloat4___setstate_cython, sizeof(__pyx_k_SharedFloat4___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloatVect, __pyx_k_SharedFloatVect, sizeof(__pyx_k_SharedFloatVect), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloatVect___reduce_cython, __pyx_k_SharedFloatVect___reduce_cython, sizeof(__pyx_k_SharedFloatVect___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloatVect___setstate_cytho, __pyx_k_SharedFloatVect___setstate_cytho, sizeof(__pyx_k_SharedFloatVect___setstate_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat___reduce_cython, __pyx_k_SharedFloat___reduce_cython, sizeof(__pyx_k_SharedFloat___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedFloat___setstate_cython, __pyx_k_SharedFloat___setstate_cython, sizeof(__pyx_k_SharedFloat___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt, __pyx_k_SharedInt, sizeof(__pyx_k_SharedInt), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt4, __pyx_k_SharedInt4, sizeof(__pyx_k_SharedInt4), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt4___reduce_cython, __pyx_k_SharedInt4___reduce_cython, sizeof(__pyx_k_SharedInt4___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt4___setstate_cython, __pyx_k_SharedInt4___setstate_cython, sizeof(__pyx_k_SharedInt4___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt___reduce_cython, __pyx_k_SharedInt___reduce_cython, sizeof(__pyx_k_SharedInt___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedInt___setstate_cython, __pyx_k_SharedInt___setstate_cython, sizeof(__pyx_k_SharedInt___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedStr, __pyx_k_SharedStr, sizeof(__pyx_k_SharedStr), 0, 0, 1, 1},
    {&__pyx_n_s_SharedStr___reduce_cython, __pyx_k_SharedStr___reduce_cython, sizeof(__pyx_k_SharedStr___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedStr___setstate_cython, __pyx_k_SharedStr___setstate_cython, sizeof(__pyx_k_SharedStr___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedValue, __pyx_k_SharedValue, sizeof(__pyx_k_SharedValue), 0, 0, 1, 1},
    {&__pyx_n_s_SharedValue___reduce_cython, __pyx_k_SharedValue___reduce_cython, sizeof(__pyx_k_SharedValue___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SharedValue___setstate_cython, __pyx_k_SharedValue___setstate_cython, sizeof(__pyx_k_SharedValue___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Shared_value_is_empty_Cannot_set, __pyx_k_Shared_value_is_empty_Cannot_set, sizeof(__pyx_k_Shared_value_is_empty_Cannot_set), 0, 1, 0, 0},
    {&__pyx_n_s_SimplePlot, __pyx_k_SimplePlot, sizeof(__pyx_k_SimplePlot), 0, 0, 1, 1},
    {&__pyx_n_s_SimplePlot___reduce_cython, __pyx_k_SimplePlot___reduce_cython, sizeof(__pyx_k_SimplePlot___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SimplePlot___setstate_cython, __pyx_k_SimplePlot___setstate_cython, sizeof(__pyx_k_SimplePlot___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_SimplePlot_configure, __pyx_k_SimplePlot_configure, sizeof(__pyx_k_SimplePlot_configure), 0, 0, 1, 1},
    {&__pyx_n_s_Slider, __pyx_k_Slider, sizeof(__pyx_k_Slider), 0, 0, 1, 1},
    {&__pyx_n_s_Slider___reduce_cython, __pyx_k_Slider___reduce_cython, sizeof(__pyx_k_Slider___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Slider___setstate_cython, __pyx_k_Slider___setstate_cython, sizeof(__pyx_k_Slider___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Slider_configure, __pyx_k_Slider_configure, sizeof(__pyx_k_Slider_configure), 0, 0, 1, 1},
    {&__pyx_n_s_Spacer, __pyx_k_Spacer, sizeof(__pyx_k_Spacer), 0, 0, 1, 1},
    {&__pyx_n_s_Spacer___reduce_cython, __pyx_k_Spacer___reduce_cython, sizeof(__pyx_k_Spacer___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Spacer___setstate_cython, __pyx_k_Spacer___setstate_cython, sizeof(__pyx_k_Spacer___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_s_Step_may_not_be_zero_axis_d, __pyx_k_Step_may_not_be_zero_axis_d, sizeof(__pyx_k_Step_may_not_be_zero_axis_d), 0, 0, 1, 0},
    {&__pyx_n_s_TOP, __pyx_k_TOP, sizeof(__pyx_k_TOP), 0, 0, 1, 1},
    {&__pyx_n_s_Tab, __pyx_k_Tab, sizeof(__pyx_k_Tab), 0, 0, 1, 1},
    {&__pyx_n_s_TabBar, __pyx_k_TabBar, sizeof(__pyx_k_TabBar), 0, 0, 1, 1},
    {&__pyx_n_s_TabBar___reduce_cython, __pyx_k_TabBar___reduce_cython, sizeof(__pyx_k_TabBar___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TabBar___setstate_cython, __pyx_k_TabBar___setstate_cython, sizeof(__pyx_k_TabBar___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TabButton, __pyx_k_TabButton, sizeof(__pyx_k_TabButton), 0, 0, 1, 1},
    {&__pyx_n_s_TabButton___reduce_cython, __pyx_k_TabButton___reduce_cython, sizeof(__pyx_k_TabButton___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TabButton___setstate_cython, __pyx_k_TabButton___setstate_cython, sizeof(__pyx_k_TabButton___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Tab___reduce_cython, __pyx_k_Tab___reduce_cython, sizeof(__pyx_k_Tab___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Tab___setstate_cython, __pyx_k_Tab___setstate_cython, sizeof(__pyx_k_Tab___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Tag, __pyx_k_Tag, sizeof(__pyx_k_Tag), 0, 1, 0, 0},
    {&__pyx_kp_u_Target_texture_is_read_only, __pyx_k_Target_texture_is_read_only, sizeof(__pyx_k_Target_texture_is_read_only), 0, 1, 0, 0},
    {&__pyx_n_s_Text, __pyx_k_Text, sizeof(__pyx_k_Text), 0, 0, 1, 1},
    {&__pyx_n_s_Text___reduce_cython, __pyx_k_Text___reduce_cython, sizeof(__pyx_k_Text___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Text___setstate_cython, __pyx_k_Text___setstate_cython, sizeof(__pyx_k_Text___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Texture, __pyx_k_Texture, sizeof(__pyx_k_Texture), 0, 0, 1, 1},
    {&__pyx_n_s_Texture___delalloc, __pyx_k_Texture___delalloc, sizeof(__pyx_k_Texture___delalloc), 0, 0, 1, 1},
    {&__pyx_n_s_Texture___reduce_cython, __pyx_k_Texture___reduce_cython, sizeof(__pyx_k_Texture___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Texture___setstate_cython, __pyx_k_Texture___setstate_cython, sizeof(__pyx_k_Texture___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Texture_configure, __pyx_k_Texture_configure, sizeof(__pyx_k_Texture_configure), 0, 0, 1, 1},
    {&__pyx_kp_u_Texture_not_yet_built, __pyx_k_Texture_not_yet_built, sizeof(__pyx_k_Texture_not_yet_built), 0, 1, 0, 0},
    {&__pyx_n_s_Texture_set_value, __pyx_k_Texture_set_value, sizeof(__pyx_k_Texture_set_value), 0, 0, 1, 1},
    {&__pyx_kp_u_The_viewport_must_be_initialized, __pyx_k_The_viewport_must_be_initialized, sizeof(__pyx_k_The_viewport_must_be_initialized), 0, 1, 0, 0},
    {&__pyx_kp_u_The_viewport_must_be_not_be_init, __pyx_k_The_viewport_must_be_not_be_init, sizeof(__pyx_k_The_viewport_must_be_not_be_init), 0, 1, 0, 0},
    {&__pyx_kp_u_There_must_be_at_least_space_for, __pyx_k_There_must_be_at_least_space_for, sizeof(__pyx_k_There_must_be_at_least_space_for), 0, 1, 0, 0},
    {&__pyx_n_s_ThreadPoolExecutor, __pyx_k_ThreadPoolExecutor, sizeof(__pyx_k_ThreadPoolExecutor), 0, 0, 1, 1},
    {&__pyx_n_s_TimeWatcher, __pyx_k_TimeWatcher, sizeof(__pyx_k_TimeWatcher), 0, 0, 1, 1},
    {&__pyx_n_s_TimeWatcher___reduce_cython, __pyx_k_TimeWatcher___reduce_cython, sizeof(__pyx_k_TimeWatcher___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TimeWatcher___setstate_cython, __pyx_k_TimeWatcher___setstate_cython, sizeof(__pyx_k_TimeWatcher___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Tooltip, __pyx_k_Tooltip, sizeof(__pyx_k_Tooltip), 0, 0, 1, 1},
    {&__pyx_n_s_Tooltip___reduce_cython, __pyx_k_Tooltip___reduce_cython, sizeof(__pyx_k_Tooltip___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Tooltip___setstate_cython, __pyx_k_Tooltip___setstate_cython, sizeof(__pyx_k_Tooltip___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TreeNode, __pyx_k_TreeNode, sizeof(__pyx_k_TreeNode), 0, 0, 1, 1},
    {&__pyx_n_s_TreeNode___reduce_cython, __pyx_k_TreeNode___reduce_cython, sizeof(__pyx_k_TreeNode___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_TreeNode___setstate_cython, __pyx_k_TreeNode___setstate_cython, sizeof(__pyx_k_TreeNode___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Trying_to_attach_a_deleted_item, __pyx_k_Trying_to_attach_a_deleted_item, sizeof(__pyx_k_Trying_to_attach_a_deleted_item), 0, 1, 0, 0},
    {&__pyx_kp_u_Trying_to_attach_to_None, __pyx_k_Trying_to_attach_to_None, sizeof(__pyx_k_Trying_to_attach_to_None), 0, 1, 0, 0},
    {&__pyx_kp_u_Trying_to_attach_to_a_deleted_it, __pyx_k_Trying_to_attach_to_a_deleted_it, sizeof(__pyx_k_Trying_to_attach_to_a_deleted_it), 0, 1, 0, 0},
    {&__pyx_kp_u_Trying_to_attach_to_an_un_attach, __pyx_k_Trying_to_attach_to_an_un_attach, sizeof(__pyx_k_Trying_to_attach_to_an_un_attach), 0, 1, 0, 0},
    {&__pyx_kp_u_Trying_to_lock_parent_mutex_whil, __pyx_k_Trying_to_lock_parent_mutex_whil, sizeof(__pyx_k_Trying_to_lock_parent_mutex_whil), 0, 1, 0, 0},
    {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
    {&__pyx_kp_s_Unable_to_convert_item_to_object, __pyx_k_Unable_to_convert_item_to_object, sizeof(__pyx_k_Unable_to_convert_item_to_object), 0, 0, 1, 0},
    {&__pyx_kp_u_Uninitialized_font, __pyx_k_Uninitialized_font, sizeof(__pyx_k_Uninitialized_font), 0, 1, 0, 0},
    {&__pyx_kp_s_Unknown_enum_value_s, __pyx_k_Unknown_enum_value_s, sizeof(__pyx_k_Unknown_enum_value_s), 0, 0, 1, 0},
    {&__pyx_kp_u_Unused_configure_parameters, __pyx_k_Unused_configure_parameters, sizeof(__pyx_k_Unused_configure_parameters), 0, 1, 0, 0},
    {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
    {&__pyx_n_s_VerticalLayout, __pyx_k_VerticalLayout, sizeof(__pyx_k_VerticalLayout), 0, 0, 1, 1},
    {&__pyx_n_s_VerticalLayout___reduce_cython, __pyx_k_VerticalLayout___reduce_cython, sizeof(__pyx_k_VerticalLayout___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VerticalLayout___setstate_cython, __pyx_k_VerticalLayout___setstate_cython, sizeof(__pyx_k_VerticalLayout___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VerticalLayout_update_layout, __pyx_k_VerticalLayout_update_layout, sizeof(__pyx_k_VerticalLayout_update_layout), 0, 0, 1, 1},
    {&__pyx_n_s_View_MemoryView, __pyx_k_View_MemoryView, sizeof(__pyx_k_View_MemoryView), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport, __pyx_k_Viewport, sizeof(__pyx_k_Viewport), 0, 0, 1, 1},
    {&__pyx_n_s_ViewportDrawList, __pyx_k_ViewportDrawList, sizeof(__pyx_k_ViewportDrawList), 0, 0, 1, 1},
    {&__pyx_n_s_ViewportDrawList____reduce_cytho, __pyx_k_ViewportDrawList____reduce_cytho, sizeof(__pyx_k_ViewportDrawList____reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_ViewportDrawList____setstate_cyt, __pyx_k_ViewportDrawList____setstate_cyt, sizeof(__pyx_k_ViewportDrawList____setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport___reduce_cython, __pyx_k_Viewport___reduce_cython, sizeof(__pyx_k_Viewport___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport___setstate_cython, __pyx_k_Viewport___setstate_cython, sizeof(__pyx_k_Viewport___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Viewport_already_initialized, __pyx_k_Viewport_already_initialized, sizeof(__pyx_k_Viewport_already_initialized), 0, 1, 0, 0},
    {&__pyx_n_s_Viewport_configure, __pyx_k_Viewport_configure, sizeof(__pyx_k_Viewport_configure), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport_initialize, __pyx_k_Viewport_initialize, sizeof(__pyx_k_Viewport_initialize), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport_render_frame, __pyx_k_Viewport_render_frame, sizeof(__pyx_k_Viewport_render_frame), 0, 0, 1, 1},
    {&__pyx_n_s_Viewport_wake, __pyx_k_Viewport_wake, sizeof(__pyx_k_Viewport_wake), 0, 0, 1, 1},
    {&__pyx_kp_u_Warning_self_cannot_have_childre, __pyx_k_Warning_self_cannot_have_childre, sizeof(__pyx_k_Warning_self_cannot_have_childre), 0, 1, 0, 0},
    {&__pyx_n_s_WeakValueDictionary, __pyx_k_WeakValueDictionary, sizeof(__pyx_k_WeakValueDictionary), 0, 0, 1, 1},
    {&__pyx_n_s_Window, __pyx_k_Window, sizeof(__pyx_k_Window), 0, 0, 1, 1},
    {&__pyx_n_s_Window___reduce_cython, __pyx_k_Window___reduce_cython, sizeof(__pyx_k_Window___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_Window___setstate_cython, __pyx_k_Window___setstate_cython, sizeof(__pyx_k_Window___setstate_cython), 0, 0, 1, 1},
    {&__pyx_kp_u_Window_must_be_attached_before_b, __pyx_k_Window_must_be_attached_before_b, sizeof(__pyx_k_Window_must_be_attached_before_b), 0, 1, 0, 0},
    {&__pyx_n_s_X1, __pyx_k_X1, sizeof(__pyx_k_X1), 0, 0, 1, 1},
    {&__pyx_n_s_X2, __pyx_k_X2, sizeof(__pyx_k_X2), 0, 0, 1, 1},
    {&__pyx_n_s_X3, __pyx_k_X3, sizeof(__pyx_k_X3), 0, 0, 1, 1},
    {&__pyx_n_s_Y1, __pyx_k_Y1, sizeof(__pyx_k_Y1), 0, 0, 1, 1},
    {&__pyx_n_s_Y2, __pyx_k_Y2, sizeof(__pyx_k_Y2), 0, 0, 1, 1},
    {&__pyx_n_s_Y3, __pyx_k_Y3, sizeof(__pyx_k_Y3), 0, 0, 1, 1},
    {&__pyx_kp_u_You_must_add_fonts_first, __pyx_k_You_must_add_fonts_first, sizeof(__pyx_k_You_must_add_fonts_first), 0, 1, 0, 0},
    {&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
    {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0},
    {&__pyx_n_s__401, __pyx_k__401, sizeof(__pyx_k__401), 0, 0, 1, 1},
    {&__pyx_kp_u__42, __pyx_k__42, sizeof(__pyx_k__42), 0, 1, 0, 0},
    {&__pyx_kp_u__44, __pyx_k__44, sizeof(__pyx_k__44), 0, 1, 0, 0},
    {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1},
    {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
    {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0},
    {&__pyx_n_s_abc, __pyx_k_abc, sizeof(__pyx_k_abc), 0, 0, 1, 1},
    {&__pyx_n_u_active_windows, __pyx_k_active_windows, sizeof(__pyx_k_active_windows), 0, 1, 0, 1},
    {&__pyx_n_s_add_font_file, __pyx_k_add_font_file, sizeof(__pyx_k_add_font_file), 0, 0, 1, 1},
    {&__pyx_n_s_alignment, __pyx_k_alignment, sizeof(__pyx_k_alignment), 0, 0, 1, 1},
    {&__pyx_n_s_allocate_buffer, __pyx_k_allocate_buffer, sizeof(__pyx_k_allocate_buffer), 0, 0, 1, 1},
    {&__pyx_kp_u_already_has_a_parent, __pyx_k_already_has_a_parent, sizeof(__pyx_k_already_has_a_parent), 0, 1, 0, 0},
    {&__pyx_kp_u_already_in_use, __pyx_k_already_in_use, sizeof(__pyx_k_already_in_use), 0, 1, 0, 0},
    {&__pyx_kp_u_and, __pyx_k_and, sizeof(__pyx_k_and), 0, 1, 0, 0},
    {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
    {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
    {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
    {&__pyx_kp_u_as_it_was_not_created_in_the_sa, __pyx_k_as_it_was_not_created_in_the_sa, sizeof(__pyx_k_as_it_was_not_created_in_the_sa), 0, 1, 0, 0},
    {&__pyx_kp_u_as_the_user_holds_a_lock_on, __pyx_k_as_the_user_holds_a_lock_on, sizeof(__pyx_k_as_the_user_holds_a_lock_on), 0, 1, 0, 0},
    {&__pyx_n_s_asarray, __pyx_k_asarray, sizeof(__pyx_k_asarray), 0, 0, 1, 1},
    {&__pyx_n_s_ascontiguousarray, __pyx_k_ascontiguousarray, sizeof(__pyx_k_ascontiguousarray), 0, 0, 1, 1},
    {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
    {&__pyx_n_u_attach, __pyx_k_attach, sizeof(__pyx_k_attach), 0, 1, 0, 1},
    {&__pyx_n_s_attach_before, __pyx_k_attach_before, sizeof(__pyx_k_attach_before), 0, 0, 1, 1},
    {&__pyx_n_s_attach_to_parent, __pyx_k_attach_to_parent, sizeof(__pyx_k_attach_to_parent), 0, 0, 1, 1},
    {&__pyx_n_u_autosize, __pyx_k_autosize, sizeof(__pyx_k_autosize), 0, 1, 0, 1},
    {&__pyx_n_s_backend_m, __pyx_k_backend_m, sizeof(__pyx_k_backend_m), 0, 0, 1, 1},
    {&__pyx_n_s_base, __pyx_k_base, sizeof(__pyx_k_base), 0, 0, 1, 1},
    {&__pyx_n_s_baseHandler, __pyx_k_baseHandler, sizeof(__pyx_k_baseHandler), 0, 0, 1, 1},
    {&__pyx_n_s_baseHandler___reduce_cython, __pyx_k_baseHandler___reduce_cython, sizeof(__pyx_k_baseHandler___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseHandler___setstate_cython, __pyx_k_baseHandler___setstate_cython, sizeof(__pyx_k_baseHandler___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem, __pyx_k_baseItem, sizeof(__pyx_k_baseItem), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem___enter, __pyx_k_baseItem___enter, sizeof(__pyx_k_baseItem___enter), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem___exit, __pyx_k_baseItem___exit, sizeof(__pyx_k_baseItem___exit), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem___reduce_cython, __pyx_k_baseItem___reduce_cython, sizeof(__pyx_k_baseItem___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem___setstate_cython, __pyx_k_baseItem___setstate_cython, sizeof(__pyx_k_baseItem___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_attach_before, __pyx_k_baseItem_attach_before, sizeof(__pyx_k_baseItem_attach_before), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_attach_to_parent, __pyx_k_baseItem_attach_to_parent, sizeof(__pyx_k_baseItem_attach_to_parent), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_configure, __pyx_k_baseItem_configure, sizeof(__pyx_k_baseItem_configure), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_delete_item, __pyx_k_baseItem_delete_item, sizeof(__pyx_k_baseItem_delete_item), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_detach_item, __pyx_k_baseItem_detach_item, sizeof(__pyx_k_baseItem_detach_item), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_lock_mutex, __pyx_k_baseItem_lock_mutex, sizeof(__pyx_k_baseItem_lock_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_baseItem_unlock_mutex, __pyx_k_baseItem_unlock_mutex, sizeof(__pyx_k_baseItem_unlock_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_baseTheme, __pyx_k_baseTheme, sizeof(__pyx_k_baseTheme), 0, 0, 1, 1},
    {&__pyx_n_s_baseTheme___reduce_cython, __pyx_k_baseTheme___reduce_cython, sizeof(__pyx_k_baseTheme___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseTheme___setstate_cython, __pyx_k_baseTheme___setstate_cython, sizeof(__pyx_k_baseTheme___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_baseTheme_configure, __pyx_k_baseTheme_configure, sizeof(__pyx_k_baseTheme_configure), 0, 0, 1, 1},
    {&__pyx_n_s_before, __pyx_k_before, sizeof(__pyx_k_before), 0, 0, 1, 1},
    {&__pyx_n_u_before, __pyx_k_before, sizeof(__pyx_k_before), 0, 1, 0, 1},
    {&__pyx_n_s_bpp, __pyx_k_bpp, sizeof(__pyx_k_bpp), 0, 0, 1, 1},
    {&__pyx_n_s_build, __pyx_k_build, sizeof(__pyx_k_build), 0, 0, 1, 1},
    {&__pyx_kp_u_but_not, __pyx_k_but_not, sizeof(__pyx_k_but_not), 0, 1, 0, 0},
    {&__pyx_kp_u_but_not_in_the_same_threads, __pyx_k_but_not_in_the_same_threads, sizeof(__pyx_k_but_not_in_the_same_threads), 0, 1, 0, 0},
    {&__pyx_n_s_button, __pyx_k_button, sizeof(__pyx_k_button), 0, 0, 1, 1},
    {&__pyx_n_s_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1},
    {&__pyx_n_u_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 1, 0, 1},
    {&__pyx_n_s_call_info, __pyx_k_call_info, sizeof(__pyx_k_call_info), 0, 0, 1, 1},
    {&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
    {&__pyx_n_u_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 1, 0, 1},
    {&__pyx_n_s_callback_2, __pyx_k_callback_2, sizeof(__pyx_k_callback_2), 0, 0, 1, 1},
    {&__pyx_n_s_callbacks, __pyx_k_callbacks, sizeof(__pyx_k_callbacks), 0, 0, 1, 1},
    {&__pyx_n_s_can_skip_presenting, __pyx_k_can_skip_presenting, sizeof(__pyx_k_can_skip_presenting), 0, 0, 1, 1},
    {&__pyx_kp_u_cannot_be_disabled, __pyx_k_cannot_be_disabled, sizeof(__pyx_k_cannot_be_disabled), 0, 1, 0, 0},
    {&__pyx_n_s_center, __pyx_k_center, sizeof(__pyx_k_center), 0, 0, 1, 1},
    {&__pyx_kp_u_children_must_be_a_array_of_chil, __pyx_k_children_must_be_a_array_of_chil, sizeof(__pyx_k_children_must_be_a_array_of_chil), 0, 1, 0, 0},
    {&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1},
    {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1},
    {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
    {&__pyx_n_s_cls, __pyx_k_cls, sizeof(__pyx_k_cls), 0, 0, 1, 1},
    {&__pyx_n_s_co_argcount, __pyx_k_co_argcount, sizeof(__pyx_k_co_argcount), 0, 0, 1, 1},
    {&__pyx_n_s_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 0, 1, 1},
    {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
    {&__pyx_kp_s_collections_abc, __pyx_k_collections_abc, sizeof(__pyx_k_collections_abc), 0, 0, 1, 0},
    {&__pyx_n_s_color, __pyx_k_color, sizeof(__pyx_k_color), 0, 0, 1, 1},
    {&__pyx_n_s_color_as_floats, __pyx_k_color_as_floats, sizeof(__pyx_k_color_as_floats), 0, 0, 1, 1},
    {&__pyx_n_s_color_as_int, __pyx_k_color_as_int, sizeof(__pyx_k_color_as_int), 0, 0, 1, 1},
    {&__pyx_n_s_color_as_ints, __pyx_k_color_as_ints, sizeof(__pyx_k_color_as_ints), 0, 0, 1, 1},
    {&__pyx_n_s_color_vec, __pyx_k_color_vec, sizeof(__pyx_k_color_vec), 0, 0, 1, 1},
    {&__pyx_n_s_concurrent_futures, __pyx_k_concurrent_futures, sizeof(__pyx_k_concurrent_futures), 0, 0, 1, 1},
    {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
    {&__pyx_n_s_configure, __pyx_k_configure, sizeof(__pyx_k_configure), 0, 0, 1, 1},
    {&__pyx_n_s_context, __pyx_k_context, sizeof(__pyx_k_context), 0, 0, 1, 1},
    {&__pyx_kp_s_contiguous_and_direct, __pyx_k_contiguous_and_direct, sizeof(__pyx_k_contiguous_and_direct), 0, 0, 1, 0},
    {&__pyx_kp_s_contiguous_and_indirect, __pyx_k_contiguous_and_indirect, sizeof(__pyx_k_contiguous_and_indirect), 0, 0, 1, 0},
    {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
    {&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1},
    {&__pyx_n_s_current_time, __pyx_k_current_time, sizeof(__pyx_k_current_time), 0, 0, 1, 1},
    {&__pyx_kp_b_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 0, 0},
    {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
    {&__pyx_n_s_data_array, __pyx_k_data_array, sizeof(__pyx_k_data_array), 0, 0, 1, 1},
    {&__pyx_n_s_dct, __pyx_k_dct, sizeof(__pyx_k_dct), 0, 0, 1, 1},
    {&__pyx_kp_s_dearcygui_core, __pyx_k_dearcygui_core, sizeof(__pyx_k_dearcygui_core), 0, 0, 1, 0},
    {&__pyx_kp_s_dearcygui_core_pyx, __pyx_k_dearcygui_core_pyx, sizeof(__pyx_k_dearcygui_core_pyx), 0, 0, 1, 0},
    {&__pyx_n_s_default_dir, __pyx_k_default_dir, sizeof(__pyx_k_default_dir), 0, 0, 1, 1},
    {&__pyx_n_s_default_font_texture, __pyx_k_default_font_texture, sizeof(__pyx_k_default_font_texture), 0, 0, 1, 1},
    {&__pyx_n_s_defaults, __pyx_k_defaults, sizeof(__pyx_k_defaults), 0, 0, 1, 1},
    {&__pyx_n_s_delalloc, __pyx_k_delalloc, sizeof(__pyx_k_delalloc), 0, 0, 1, 1},
    {&__pyx_n_s_delete_item, __pyx_k_delete_item, sizeof(__pyx_k_delete_item), 0, 0, 1, 1},
    {&__pyx_n_s_delta, __pyx_k_delta, sizeof(__pyx_k_delta), 0, 0, 1, 1},
    {&__pyx_n_u_delta_event_handling, __pyx_k_delta_event_handling, sizeof(__pyx_k_delta_event_handling), 0, 1, 0, 1},
    {&__pyx_n_u_delta_presenting, __pyx_k_delta_presenting, sizeof(__pyx_k_delta_presenting), 0, 1, 0, 1},
    {&__pyx_n_u_delta_rendering, __pyx_k_delta_rendering, sizeof(__pyx_k_delta_rendering), 0, 1, 0, 1},
    {&__pyx_n_u_delta_whole_frame, __pyx_k_delta_whole_frame, sizeof(__pyx_k_delta_whole_frame), 0, 1, 0, 1},
    {&__pyx_n_s_density_scale, __pyx_k_density_scale, sizeof(__pyx_k_density_scale), 0, 0, 1, 1},
    {&__pyx_n_s_detach_item, __pyx_k_detach_item, sizeof(__pyx_k_detach_item), 0, 0, 1, 1},
    {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
    {&__pyx_n_u_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 1, 0, 1},
    {&__pyx_n_s_dict_2, __pyx_k_dict_2, sizeof(__pyx_k_dict_2), 0, 0, 1, 1},
    {&__pyx_n_s_dir, __pyx_k_dir, sizeof(__pyx_k_dir), 0, 0, 1, 1},
    {&__pyx_n_s_dirname, __pyx_k_dirname, sizeof(__pyx_k_dirname), 0, 0, 1, 1},
    {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0},
    {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
    {&__pyx_kp_u_does_not_exist, __pyx_k_does_not_exist, sizeof(__pyx_k_does_not_exist), 0, 1, 0, 0},
    {&__pyx_n_u_double, __pyx_k_double, sizeof(__pyx_k_double), 0, 1, 0, 1},
    {&__pyx_n_s_drawingItem, __pyx_k_drawingItem, sizeof(__pyx_k_drawingItem), 0, 0, 1, 1},
    {&__pyx_n_s_drawingItem___reduce_cython, __pyx_k_drawingItem___reduce_cython, sizeof(__pyx_k_drawingItem___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_drawingItem___setstate_cython, __pyx_k_drawingItem___setstate_cython, sizeof(__pyx_k_drawingItem___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1},
    {&__pyx_n_s_dtype_is_object, __pyx_k_dtype_is_object, sizeof(__pyx_k_dtype_is_object), 0, 0, 1, 1},
    {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
    {&__pyx_n_s_east, __pyx_k_east, sizeof(__pyx_k_east), 0, 0, 1, 1},
    {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0},
    {&__pyx_n_s_enabled, __pyx_k_enabled, sizeof(__pyx_k_enabled), 0, 0, 1, 1},
    {&__pyx_n_u_enabled, __pyx_k_enabled, sizeof(__pyx_k_enabled), 0, 1, 0, 1},
    {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
    {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1},
    {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
    {&__pyx_n_s_enum, __pyx_k_enum, sizeof(__pyx_k_enum), 0, 0, 1, 1},
    {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
    {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
    {&__pyx_n_s_exc_type, __pyx_k_exc_type, sizeof(__pyx_k_exc_type), 0, 0, 1, 1},
    {&__pyx_n_s_exc_value, __pyx_k_exc_value, sizeof(__pyx_k_exc_value), 0, 0, 1, 1},
    {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1},
    {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
    {&__pyx_n_s_fetch_last_created_container, __pyx_k_fetch_last_created_container, sizeof(__pyx_k_fetch_last_created_container), 0, 0, 1, 1},
    {&__pyx_n_s_fetch_last_created_item, __pyx_k_fetch_last_created_item, sizeof(__pyx_k_fetch_last_created_item), 0, 0, 1, 1},
    {&__pyx_n_s_fetch_parent_queue_back, __pyx_k_fetch_parent_queue_back, sizeof(__pyx_k_fetch_parent_queue_back), 0, 0, 1, 1},
    {&__pyx_n_s_fetch_parent_queue_front, __pyx_k_fetch_parent_queue_front, sizeof(__pyx_k_fetch_parent_queue_front), 0, 0, 1, 1},
    {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
    {&__pyx_n_s_find_system_fonts_filename, __pyx_k_find_system_fonts_filename, sizeof(__pyx_k_find_system_fonts_filename), 0, 0, 1, 1},
    {&__pyx_n_s_fit, __pyx_k_fit, sizeof(__pyx_k_fit), 0, 0, 1, 1},
    {&__pyx_n_s_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 0, 1, 1},
    {&__pyx_n_u_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 1, 0, 1},
    {&__pyx_n_s_float32, __pyx_k_float32, sizeof(__pyx_k_float32), 0, 0, 1, 1},
    {&__pyx_n_s_float64, __pyx_k_float64, sizeof(__pyx_k_float64), 0, 0, 1, 1},
    {&__pyx_n_s_font, __pyx_k_font, sizeof(__pyx_k_font), 0, 0, 1, 1},
    {&__pyx_n_s_font_object, __pyx_k_font_object, sizeof(__pyx_k_font_object), 0, 0, 1, 1},
    {&__pyx_n_s_fonts_filename, __pyx_k_fonts_filename, sizeof(__pyx_k_fonts_filename), 0, 0, 1, 1},
    {&__pyx_kp_u_for, __pyx_k_for, sizeof(__pyx_k_for), 0, 1, 0, 0},
    {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
    {&__pyx_n_u_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 1, 0, 1},
    {&__pyx_n_s_format_exc, __pyx_k_format_exc, sizeof(__pyx_k_format_exc), 0, 0, 1, 1},
    {&__pyx_n_s_fortran, __pyx_k_fortran, sizeof(__pyx_k_fortran), 0, 0, 1, 1},
    {&__pyx_n_u_fortran, __pyx_k_fortran, sizeof(__pyx_k_fortran), 0, 1, 0, 1},
    {&__pyx_n_u_frame_count, __pyx_k_frame_count, sizeof(__pyx_k_frame_count), 0, 1, 0, 1},
    {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0},
    {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
    {&__pyx_n_s_get_mouse_clicked_count, __pyx_k_get_mouse_clicked_count, sizeof(__pyx_k_get_mouse_clicked_count), 0, 0, 1, 1},
    {&__pyx_n_s_get_mouse_drag_delta, __pyx_k_get_mouse_drag_delta, sizeof(__pyx_k_get_mouse_drag_delta), 0, 0, 1, 1},
    {&__pyx_n_s_get_mouse_position, __pyx_k_get_mouse_position, sizeof(__pyx_k_get_mouse_position), 0, 0, 1, 1},
    {&__pyx_n_s_get_system_fonts, __pyx_k_get_system_fonts, sizeof(__pyx_k_get_system_fonts), 0, 0, 1, 1},
    {&__pyx_n_s_get_system_fonts_filename, __pyx_k_get_system_fonts_filename, sizeof(__pyx_k_get_system_fonts_filename), 0, 0, 1, 1},
    {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
    {&__pyx_kp_u_got, __pyx_k_got, sizeof(__pyx_k_got), 0, 1, 0, 0},
    {&__pyx_kp_u_got_differing_extents_in_dimensi, __pyx_k_got_differing_extents_in_dimensi, sizeof(__pyx_k_got_differing_extents_in_dimensi), 0, 1, 0, 0},
    {&__pyx_n_s_height, __pyx_k_height, sizeof(__pyx_k_height), 0, 0, 1, 1},
    {&__pyx_n_s_hint_dynamic, __pyx_k_hint_dynamic, sizeof(__pyx_k_hint_dynamic), 0, 0, 1, 1},
    {&__pyx_n_s_histogram, __pyx_k_histogram, sizeof(__pyx_k_histogram), 0, 0, 1, 1},
    {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
    {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
    {&__pyx_n_s_ignore_if_fail, __pyx_k_ignore_if_fail, sizeof(__pyx_k_ignore_if_fail), 0, 0, 1, 1},
    {&__pyx_n_s_imgui_m, __pyx_k_imgui_m, sizeof(__pyx_k_imgui_m), 0, 0, 1, 1},
    {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
    {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
    {&__pyx_n_s_index_in_file, __pyx_k_index_in_file, sizeof(__pyx_k_index_in_file), 0, 0, 1, 1},
    {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
    {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1},
    {&__pyx_n_s_initialize, __pyx_k_initialize, sizeof(__pyx_k_initialize), 0, 0, 1, 1},
    {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
    {&__pyx_n_u_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 1, 0, 1},
    {&__pyx_kp_u_is_an_invalid_index_type, __pyx_k_is_an_invalid_index_type, sizeof(__pyx_k_is_an_invalid_index_type), 0, 1, 0, 0},
    {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
    {&__pyx_n_s_is_key_down, __pyx_k_is_key_down, sizeof(__pyx_k_is_key_down), 0, 0, 1, 1},
    {&__pyx_n_s_is_key_pressed, __pyx_k_is_key_pressed, sizeof(__pyx_k_is_key_pressed), 0, 0, 1, 1},
    {&__pyx_n_s_is_key_released, __pyx_k_is_key_released, sizeof(__pyx_k_is_key_released), 0, 0, 1, 1},
    {&__pyx_n_s_is_mouse_clicked, __pyx_k_is_mouse_clicked, sizeof(__pyx_k_is_mouse_clicked), 0, 0, 1, 1},
    {&__pyx_n_s_is_mouse_double_clicked, __pyx_k_is_mouse_double_clicked, sizeof(__pyx_k_is_mouse_double_clicked), 0, 0, 1, 1},
    {&__pyx_n_s_is_mouse_down, __pyx_k_is_mouse_down, sizeof(__pyx_k_is_mouse_down), 0, 0, 1, 1},
    {&__pyx_n_s_is_mouse_dragging, __pyx_k_is_mouse_dragging, sizeof(__pyx_k_is_mouse_dragging), 0, 0, 1, 1},
    {&__pyx_n_s_is_mouse_released, __pyx_k_is_mouse_released, sizeof(__pyx_k_is_mouse_released), 0, 0, 1, 1},
    {&__pyx_kp_u_is_not_a_compatible_item_instan, __pyx_k_is_not_a_compatible_item_instan, sizeof(__pyx_k_is_not_a_compatible_item_instan), 0, 1, 0, 0},
    {&__pyx_kp_u_is_not_a_handler, __pyx_k_is_not_a_handler, sizeof(__pyx_k_is_not_a_handler), 0, 1, 0, 0},
    {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0},
    {&__pyx_n_s_item, __pyx_k_item, sizeof(__pyx_k_item), 0, 0, 1, 1},
    {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
    {&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1},
    {&__pyx_kp_s_itemsize_0_for_cython_array, __pyx_k_itemsize_0_for_cython_array, sizeof(__pyx_k_itemsize_0_for_cython_array), 0, 0, 1, 0},
    {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
    {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
    {&__pyx_n_s_keymod, __pyx_k_keymod, sizeof(__pyx_k_keymod), 0, 0, 1, 1},
    {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
    {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
    {&__pyx_n_u_large, __pyx_k_large, sizeof(__pyx_k_large), 0, 1, 0, 1},
    {&__pyx_n_u_largest, __pyx_k_largest, sizeof(__pyx_k_largest), 0, 1, 0, 1},
    {&__pyx_n_s_last_container_uuid, __pyx_k_last_container_uuid, sizeof(__pyx_k_last_container_uuid), 0, 0, 1, 1},
    {&__pyx_n_u_last_container_uuid, __pyx_k_last_container_uuid, sizeof(__pyx_k_last_container_uuid), 0, 1, 0, 1},
    {&__pyx_n_s_last_item_uuid, __pyx_k_last_item_uuid, sizeof(__pyx_k_last_item_uuid), 0, 0, 1, 1},
    {&__pyx_n_u_last_item_uuid, __pyx_k_last_item_uuid, sizeof(__pyx_k_last_item_uuid), 0, 1, 0, 1},
    {&__pyx_n_u_last_time_after_rendering, __pyx_k_last_time_after_rendering, sizeof(__pyx_k_last_time_after_rendering), 0, 1, 0, 1},
    {&__pyx_n_u_last_time_after_swapping, __pyx_k_last_time_after_swapping, sizeof(__pyx_k_last_time_after_swapping), 0, 1, 0, 1},
    {&__pyx_n_u_last_time_before_event_handling, __pyx_k_last_time_before_event_handling, sizeof(__pyx_k_last_time_before_event_handling), 0, 1, 0, 1},
    {&__pyx_n_u_last_time_before_rendering, __pyx_k_last_time_before_rendering, sizeof(__pyx_k_last_time_before_rendering), 0, 1, 0, 1},
    {&__pyx_kp_b_ld, __pyx_k_ld, sizeof(__pyx_k_ld), 0, 0, 0, 0},
    {&__pyx_n_u_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 1, 0, 1},
    {&__pyx_n_s_linear, __pyx_k_linear, sizeof(__pyx_k_linear), 0, 0, 1, 1},
    {&__pyx_n_s_local, __pyx_k_local, sizeof(__pyx_k_local), 0, 0, 1, 1},
    {&__pyx_n_s_lock_mutex, __pyx_k_lock_mutex, sizeof(__pyx_k_lock_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_lock_threshold, __pyx_k_lock_threshold, sizeof(__pyx_k_lock_threshold), 0, 0, 1, 1},
    {&__pyx_n_s_locked, __pyx_k_locked, sizeof(__pyx_k_locked), 0, 0, 1, 1},
    {&__pyx_n_s_log10, __pyx_k_log10, sizeof(__pyx_k_log10), 0, 0, 1, 1},
    {&__pyx_n_s_logarithmic, __pyx_k_logarithmic, sizeof(__pyx_k_logarithmic), 0, 0, 1, 1},
    {&__pyx_n_u_logarithmic, __pyx_k_logarithmic, sizeof(__pyx_k_logarithmic), 0, 1, 0, 1},
    {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1},
    {&__pyx_n_s_m2, __pyx_k_m2, sizeof(__pyx_k_m2), 0, 0, 1, 1},
    {&__pyx_n_s_m3, __pyx_k_m3, sizeof(__pyx_k_m3), 0, 0, 1, 1},
    {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
    {&__pyx_n_u_max_clamped, __pyx_k_max_clamped, sizeof(__pyx_k_max_clamped), 0, 1, 0, 1},
    {&__pyx_n_s_max_workers, __pyx_k_max_workers, sizeof(__pyx_k_max_workers), 0, 0, 1, 1},
    {&__pyx_n_s_maximized, __pyx_k_maximized, sizeof(__pyx_k_maximized), 0, 0, 1, 1},
    {&__pyx_n_u_maxv, __pyx_k_maxv, sizeof(__pyx_k_maxv), 0, 1, 0, 1},
    {&__pyx_n_s_member_names, __pyx_k_member_names, sizeof(__pyx_k_member_names), 0, 0, 1, 1},
    {&__pyx_n_s_members, __pyx_k_members, sizeof(__pyx_k_members), 0, 0, 1, 1},
    {&__pyx_n_s_memview, __pyx_k_memview, sizeof(__pyx_k_memview), 0, 0, 1, 1},
    {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
    {&__pyx_n_u_min_clamped, __pyx_k_min_clamped, sizeof(__pyx_k_min_clamped), 0, 1, 0, 1},
    {&__pyx_n_s_minimized, __pyx_k_minimized, sizeof(__pyx_k_minimized), 0, 0, 1, 1},
    {&__pyx_n_u_minv, __pyx_k_minv, sizeof(__pyx_k_minv), 0, 1, 0, 1},
    {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1},
    {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
    {&__pyx_n_s_module_2, __pyx_k_module_2, sizeof(__pyx_k_module_2), 0, 0, 1, 1},
    {&__pyx_n_s_mouse_cursor, __pyx_k_mouse_cursor, sizeof(__pyx_k_mouse_cursor), 0, 0, 1, 1},
    {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1},
    {&__pyx_n_s_multiline, __pyx_k_multiline, sizeof(__pyx_k_multiline), 0, 0, 1, 1},
    {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
    {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
    {&__pyx_n_s_ndim, __pyx_k_ndim, sizeof(__pyx_k_ndim), 0, 0, 1, 1},
    {&__pyx_n_u_nearest_neighbor_upsampling, __pyx_k_nearest_neighbor_upsampling, sizeof(__pyx_k_nearest_neighbor_upsampling), 0, 1, 0, 1},
    {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
    {&__pyx_n_s_next_parent, __pyx_k_next_parent, sizeof(__pyx_k_next_parent), 0, 0, 1, 1},
    {&__pyx_n_s_nlocked, __pyx_k_nlocked, sizeof(__pyx_k_nlocked), 0, 0, 1, 1},
    {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
    {&__pyx_n_s_north, __pyx_k_north, sizeof(__pyx_k_north), 0, 0, 1, 1},
    {&__pyx_n_s_northeast, __pyx_k_northeast, sizeof(__pyx_k_northeast), 0, 0, 1, 1},
    {&__pyx_n_s_northwest, __pyx_k_northwest, sizeof(__pyx_k_northwest), 0, 0, 1, 1},
    {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1},
    {&__pyx_n_s_num_attached, __pyx_k_num_attached, sizeof(__pyx_k_num_attached), 0, 0, 1, 1},
    {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
    {&__pyx_kp_u_numpy__core_multiarray_failed_to, __pyx_k_numpy__core_multiarray_failed_to, sizeof(__pyx_k_numpy__core_multiarray_failed_to), 0, 1, 0, 0},
    {&__pyx_kp_u_numpy__core_umath_failed_to_impo, __pyx_k_numpy__core_umath_failed_to_impo, sizeof(__pyx_k_numpy__core_umath_failed_to_impo), 0, 1, 0, 0},
    {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1},
    {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
    {&__pyx_n_s_pack, __pyx_k_pack, sizeof(__pyx_k_pack), 0, 0, 1, 1},
    {&__pyx_kp_u_pan_mod_must_be_a_combinaison_of, __pyx_k_pan_mod_must_be_a_combinaison_of, sizeof(__pyx_k_pan_mod_must_be_a_combinaison_of), 0, 1, 0, 0},
    {&__pyx_n_s_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 0, 1, 1},
    {&__pyx_n_u_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 1, 0, 1},
    {&__pyx_n_s_parent_queue, __pyx_k_parent_queue, sizeof(__pyx_k_parent_queue), 0, 0, 1, 1},
    {&__pyx_n_u_parent_queue, __pyx_k_parent_queue, sizeof(__pyx_k_parent_queue), 0, 1, 0, 1},
    {&__pyx_n_s_parents, __pyx_k_parents, sizeof(__pyx_k_parents), 0, 0, 1, 1},
    {&__pyx_kp_u_passed_as_items_Expected_array, __pyx_k_passed_as_items_Expected_array, sizeof(__pyx_k_passed_as_items_Expected_array), 0, 1, 0, 0},
    {&__pyx_kp_u_passed_as_labels_Expected_array, __pyx_k_passed_as_labels_Expected_array, sizeof(__pyx_k_passed_as_labels_Expected_array), 0, 1, 0, 0},
    {&__pyx_kp_u_passed_as_labels_coord_Expected, __pyx_k_passed_as_labels_coord_Expected, sizeof(__pyx_k_passed_as_labels_coord_Expected), 0, 1, 0, 0},
    {&__pyx_kp_u_passed_to, __pyx_k_passed_to, sizeof(__pyx_k_passed_to), 0, 1, 0, 0},
    {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
    {&__pyx_n_s_path_string, __pyx_k_path_string, sizeof(__pyx_k_path_string), 0, 0, 1, 1},
    {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
    {&__pyx_n_s_plotElement, __pyx_k_plotElement, sizeof(__pyx_k_plotElement), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementWithLegend, __pyx_k_plotElementWithLegend, sizeof(__pyx_k_plotElementWithLegend), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementWithLegend___reduce_c, __pyx_k_plotElementWithLegend___reduce_c, sizeof(__pyx_k_plotElementWithLegend___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementWithLegend___setstate, __pyx_k_plotElementWithLegend___setstate, sizeof(__pyx_k_plotElementWithLegend___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementX, __pyx_k_plotElementX, sizeof(__pyx_k_plotElementX), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXY, __pyx_k_plotElementXY, sizeof(__pyx_k_plotElementXY), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXYY, __pyx_k_plotElementXYY, sizeof(__pyx_k_plotElementXYY), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXYY___reduce_cython, __pyx_k_plotElementXYY___reduce_cython, sizeof(__pyx_k_plotElementXYY___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXYY___setstate_cython, __pyx_k_plotElementXYY___setstate_cython, sizeof(__pyx_k_plotElementXYY___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXY___reduce_cython, __pyx_k_plotElementXY___reduce_cython, sizeof(__pyx_k_plotElementXY___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementXY___setstate_cython, __pyx_k_plotElementXY___setstate_cython, sizeof(__pyx_k_plotElementXY___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementX___reduce_cython, __pyx_k_plotElementX___reduce_cython, sizeof(__pyx_k_plotElementX___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElementX___setstate_cython, __pyx_k_plotElementX___setstate_cython, sizeof(__pyx_k_plotElementX___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElement___reduce_cython, __pyx_k_plotElement___reduce_cython, sizeof(__pyx_k_plotElement___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_plotElement___setstate_cython, __pyx_k_plotElement___setstate_cython, sizeof(__pyx_k_plotElement___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
    {&__pyx_n_s_pop_next_parent, __pyx_k_pop_next_parent, sizeof(__pyx_k_pop_next_parent), 0, 0, 1, 1},
    {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
    {&__pyx_n_u_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 1, 0, 1},
    {&__pyx_n_s_pos_to_window, __pyx_k_pos_to_window, sizeof(__pyx_k_pos_to_window), 0, 0, 1, 1},
    {&__pyx_n_s_positioning, __pyx_k_positioning, sizeof(__pyx_k_positioning), 0, 0, 1, 1},
    {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
    {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
    {&__pyx_n_s_push_next_parent, __pyx_k_push_next_parent, sizeof(__pyx_k_push_next_parent), 0, 0, 1, 1},
    {&__pyx_n_s_python_time, __pyx_k_python_time, sizeof(__pyx_k_python_time), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_unpickle_Enum, __pyx_k_pyx_unpickle_Enum, sizeof(__pyx_k_pyx_unpickle_Enum), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_unpickle___Pyx_EnumMeta, __pyx_k_pyx_unpickle___Pyx_EnumMeta, sizeof(__pyx_k_pyx_unpickle___Pyx_EnumMeta), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
    {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
    {&__pyx_n_s_queue, __pyx_k_queue, sizeof(__pyx_k_queue), 0, 0, 1, 1},
    {&__pyx_kp_u_queue_must_be_a_subclass_of_conc, __pyx_k_queue_must_be_a_subclass_of_conc, sizeof(__pyx_k_queue_must_be_a_subclass_of_conc), 0, 1, 0, 0},
    {&__pyx_kp_u_raised_exception, __pyx_k_raised_exception, sizeof(__pyx_k_raised_exception), 0, 1, 0, 0},
    {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
    {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
    {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
    {&__pyx_n_s_register, __pyx_k_register, sizeof(__pyx_k_register), 0, 0, 1, 1},
    {&__pyx_n_u_regular, __pyx_k_regular, sizeof(__pyx_k_regular), 0, 1, 0, 1},
    {&__pyx_n_s_remaining, __pyx_k_remaining, sizeof(__pyx_k_remaining), 0, 0, 1, 1},
    {&__pyx_n_s_render_frame, __pyx_k_render_frame, sizeof(__pyx_k_render_frame), 0, 0, 1, 1},
    {&__pyx_n_u_rendered_indices, __pyx_k_rendered_indices, sizeof(__pyx_k_rendered_indices), 0, 1, 0, 1},
    {&__pyx_n_u_rendered_vertices, __pyx_k_rendered_vertices, sizeof(__pyx_k_rendered_vertices), 0, 1, 0, 1},
    {&__pyx_n_u_rendered_windows, __pyx_k_rendered_windows, sizeof(__pyx_k_rendered_windows), 0, 1, 0, 1},
    {&__pyx_n_s_repeat, __pyx_k_repeat, sizeof(__pyx_k_repeat), 0, 0, 1, 1},
    {&__pyx_n_s_repr, __pyx_k_repr, sizeof(__pyx_k_repr), 0, 0, 1, 1},
    {&__pyx_n_s_res, __pyx_k_res, sizeof(__pyx_k_res), 0, 0, 1, 1},
    {&__pyx_n_s_reset_mouse_drag_delta, __pyx_k_reset_mouse_drag_delta, sizeof(__pyx_k_reset_mouse_drag_delta), 0, 0, 1, 1},
    {&__pyx_n_s_reshape, __pyx_k_reshape, sizeof(__pyx_k_reshape), 0, 0, 1, 1},
    {&__pyx_n_s_resize_callback, __pyx_k_resize_callback, sizeof(__pyx_k_resize_callback), 0, 0, 1, 1},
    {&__pyx_n_s_results, __pyx_k_results, sizeof(__pyx_k_results), 0, 0, 1, 1},
    {&__pyx_n_s_reverse, __pyx_k_reverse, sizeof(__pyx_k_reverse), 0, 0, 1, 1},
    {&__pyx_n_s_round, __pyx_k_round, sizeof(__pyx_k_round), 0, 0, 1, 1},
    {&__pyx_kp_u_round_to_format_cannot_be_enable, __pyx_k_round_to_format_cannot_be_enable, sizeof(__pyx_k_round_to_format_cannot_be_enable), 0, 1, 0, 0},
    {&__pyx_kp_s_s_s, __pyx_k_s_s, sizeof(__pyx_k_s_s), 0, 0, 1, 0},
    {&__pyx_kp_s_s_s_d, __pyx_k_s_s_d, sizeof(__pyx_k_s_s_d), 0, 0, 1, 0},
    {&__pyx_n_u_scaleMax, __pyx_k_scaleMax, sizeof(__pyx_k_scaleMax), 0, 1, 0, 1},
    {&__pyx_n_u_scaleMin, __pyx_k_scaleMin, sizeof(__pyx_k_scaleMin), 0, 1, 0, 1},
    {&__pyx_n_s_sched_yield, __pyx_k_sched_yield, sizeof(__pyx_k_sched_yield), 0, 0, 1, 1},
    {&__pyx_n_s_scipy, __pyx_k_scipy, sizeof(__pyx_k_scipy), 0, 0, 1, 1},
    {&__pyx_n_s_scipy_spatial, __pyx_k_scipy_spatial, sizeof(__pyx_k_scipy_spatial), 0, 0, 1, 1},
    {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
    {&__pyx_n_u_self_2, __pyx_k_self_2, sizeof(__pyx_k_self_2), 0, 1, 0, 1},
    {&__pyx_n_s_self_m, __pyx_k_self_m, sizeof(__pyx_k_self_m), 0, 0, 1, 1},
    {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1},
    {&__pyx_n_s_set_value, __pyx_k_set_value, sizeof(__pyx_k_set_value), 0, 0, 1, 1},
    {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
    {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1},
    {&__pyx_n_s_shareable_value, __pyx_k_shareable_value, sizeof(__pyx_k_shareable_value), 0, 0, 1, 1},
    {&__pyx_n_s_should_attach, __pyx_k_should_attach, sizeof(__pyx_k_should_attach), 0, 0, 1, 1},
    {&__pyx_n_s_should_present, __pyx_k_should_present, sizeof(__pyx_k_should_present), 0, 0, 1, 1},
    {&__pyx_n_u_show, __pyx_k_show, sizeof(__pyx_k_show), 0, 1, 0, 1},
    {&__pyx_n_s_shutdown, __pyx_k_shutdown, sizeof(__pyx_k_shutdown), 0, 0, 1, 1},
    {&__pyx_n_s_simplices, __pyx_k_simplices, sizeof(__pyx_k_simplices), 0, 0, 1, 1},
    {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
    {&__pyx_n_u_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 1, 0, 1},
    {&__pyx_n_s_sleep, __pyx_k_sleep, sizeof(__pyx_k_sleep), 0, 0, 1, 1},
    {&__pyx_n_u_small, __pyx_k_small, sizeof(__pyx_k_small), 0, 1, 0, 1},
    {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
    {&__pyx_n_u_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 1, 0, 1},
    {&__pyx_n_s_source_item, __pyx_k_source_item, sizeof(__pyx_k_source_item), 0, 0, 1, 1},
    {&__pyx_n_s_south, __pyx_k_south, sizeof(__pyx_k_south), 0, 0, 1, 1},
    {&__pyx_n_s_southeast, __pyx_k_southeast, sizeof(__pyx_k_southeast), 0, 0, 1, 1},
    {&__pyx_n_s_southwest, __pyx_k_southwest, sizeof(__pyx_k_southwest), 0, 0, 1, 1},
    {&__pyx_n_s_spatial, __pyx_k_spatial, sizeof(__pyx_k_spatial), 0, 0, 1, 1},
    {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
    {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
    {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
    {&__pyx_n_s_step, __pyx_k_step, sizeof(__pyx_k_step), 0, 0, 1, 1},
    {&__pyx_n_s_stop, __pyx_k_stop, sizeof(__pyx_k_stop), 0, 0, 1, 1},
    {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
    {&__pyx_kp_s_strided_and_direct, __pyx_k_strided_and_direct, sizeof(__pyx_k_strided_and_direct), 0, 0, 1, 0},
    {&__pyx_kp_s_strided_and_direct_or_indirect, __pyx_k_strided_and_direct_or_indirect, sizeof(__pyx_k_strided_and_direct_or_indirect), 0, 0, 1, 0},
    {&__pyx_kp_s_strided_and_indirect, __pyx_k_strided_and_indirect, sizeof(__pyx_k_strided_and_indirect), 0, 0, 1, 0},
    {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
    {&__pyx_n_s_struct, __pyx_k_struct, sizeof(__pyx_k_struct), 0, 0, 1, 1},
    {&__pyx_n_s_submit, __pyx_k_submit, sizeof(__pyx_k_submit), 0, 0, 1, 1},
    {&__pyx_n_s_subpixel, __pyx_k_subpixel, sizeof(__pyx_k_subpixel), 0, 0, 1, 1},
    {&__pyx_n_s_success, __pyx_k_success, sizeof(__pyx_k_success), 0, 0, 1, 1},
    {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
    {&__pyx_n_s_symlog, __pyx_k_symlog, sizeof(__pyx_k_symlog), 0, 0, 1, 1},
    {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
    {&__pyx_n_s_t_any, __pyx_k_t_any, sizeof(__pyx_k_t_any), 0, 0, 1, 1},
    {&__pyx_n_s_t_button, __pyx_k_t_button, sizeof(__pyx_k_t_button), 0, 0, 1, 1},
    {&__pyx_n_s_t_checkbox, __pyx_k_t_checkbox, sizeof(__pyx_k_t_checkbox), 0, 0, 1, 1},
    {&__pyx_n_s_t_child, __pyx_k_t_child, sizeof(__pyx_k_t_child), 0, 0, 1, 1},
    {&__pyx_n_s_t_collapsingheader, __pyx_k_t_collapsingheader, sizeof(__pyx_k_t_collapsingheader), 0, 0, 1, 1},
    {&__pyx_n_s_t_colorbutton, __pyx_k_t_colorbutton, sizeof(__pyx_k_t_colorbutton), 0, 0, 1, 1},
    {&__pyx_n_s_t_coloredit, __pyx_k_t_coloredit, sizeof(__pyx_k_t_coloredit), 0, 0, 1, 1},
    {&__pyx_n_s_t_colorpicker, __pyx_k_t_colorpicker, sizeof(__pyx_k_t_colorpicker), 0, 0, 1, 1},
    {&__pyx_n_s_t_combo, __pyx_k_t_combo, sizeof(__pyx_k_t_combo), 0, 0, 1, 1},
    {&__pyx_n_s_t_discarded, __pyx_k_t_discarded, sizeof(__pyx_k_t_discarded), 0, 0, 1, 1},
    {&__pyx_n_s_t_enabled_False, __pyx_k_t_enabled_False, sizeof(__pyx_k_t_enabled_False), 0, 0, 1, 1},
    {&__pyx_n_s_t_enabled_True, __pyx_k_t_enabled_True, sizeof(__pyx_k_t_enabled_True), 0, 0, 1, 1},
    {&__pyx_n_s_t_enabled_any, __pyx_k_t_enabled_any, sizeof(__pyx_k_t_enabled_any), 0, 0, 1, 1},
    {&__pyx_n_s_t_image, __pyx_k_t_image, sizeof(__pyx_k_t_image), 0, 0, 1, 1},
    {&__pyx_n_s_t_imagebutton, __pyx_k_t_imagebutton, sizeof(__pyx_k_t_imagebutton), 0, 0, 1, 1},
    {&__pyx_n_s_t_inputtext, __pyx_k_t_inputtext, sizeof(__pyx_k_t_inputtext), 0, 0, 1, 1},
    {&__pyx_n_s_t_inputvalue, __pyx_k_t_inputvalue, sizeof(__pyx_k_t_inputvalue), 0, 0, 1, 1},
    {&__pyx_n_s_t_layout, __pyx_k_t_layout, sizeof(__pyx_k_t_layout), 0, 0, 1, 1},
    {&__pyx_n_s_t_listbox, __pyx_k_t_listbox, sizeof(__pyx_k_t_listbox), 0, 0, 1, 1},
    {&__pyx_n_s_t_menu, __pyx_k_t_menu, sizeof(__pyx_k_t_menu), 0, 0, 1, 1},
    {&__pyx_n_s_t_menubar, __pyx_k_t_menubar, sizeof(__pyx_k_t_menubar), 0, 0, 1, 1},
    {&__pyx_n_s_t_menuitem, __pyx_k_t_menuitem, sizeof(__pyx_k_t_menuitem), 0, 0, 1, 1},
    {&__pyx_n_s_t_plot, __pyx_k_t_plot, sizeof(__pyx_k_t_plot), 0, 0, 1, 1},
    {&__pyx_n_s_t_progressbar, __pyx_k_t_progressbar, sizeof(__pyx_k_t_progressbar), 0, 0, 1, 1},
    {&__pyx_n_s_t_radiobutton, __pyx_k_t_radiobutton, sizeof(__pyx_k_t_radiobutton), 0, 0, 1, 1},
    {&__pyx_n_s_t_selectable, __pyx_k_t_selectable, sizeof(__pyx_k_t_selectable), 0, 0, 1, 1},
    {&__pyx_n_s_t_simpleplot, __pyx_k_t_simpleplot, sizeof(__pyx_k_t_simpleplot), 0, 0, 1, 1},
    {&__pyx_n_s_t_slider, __pyx_k_t_slider, sizeof(__pyx_k_t_slider), 0, 0, 1, 1},
    {&__pyx_n_s_t_tab, __pyx_k_t_tab, sizeof(__pyx_k_t_tab), 0, 0, 1, 1},
    {&__pyx_n_s_t_tabbar, __pyx_k_t_tabbar, sizeof(__pyx_k_t_tabbar), 0, 0, 1, 1},
    {&__pyx_n_s_t_tabbutton, __pyx_k_t_tabbutton, sizeof(__pyx_k_t_tabbutton), 0, 0, 1, 1},
    {&__pyx_n_s_t_text, __pyx_k_t_text, sizeof(__pyx_k_t_text), 0, 0, 1, 1},
    {&__pyx_n_s_t_tooltip, __pyx_k_t_tooltip, sizeof(__pyx_k_t_tooltip), 0, 0, 1, 1},
    {&__pyx_n_s_t_treenode, __pyx_k_t_treenode, sizeof(__pyx_k_t_treenode), 0, 0, 1, 1},
    {&__pyx_n_s_t_window, __pyx_k_t_window, sizeof(__pyx_k_t_window), 0, 0, 1, 1},
    {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
    {&__pyx_kp_u_target_before_cannot_be_None, __pyx_k_target_before_cannot_be_None, sizeof(__pyx_k_target_before_cannot_be_None), 0, 1, 0, 0},
    {&__pyx_n_s_target_item, __pyx_k_target_item, sizeof(__pyx_k_target_item), 0, 0, 1, 1},
    {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
    {&__pyx_kp_u_texture_must_be_a_Texture, __pyx_k_texture_must_be_a_Texture, sizeof(__pyx_k_texture_must_be_a_Texture), 0, 1, 0, 0},
    {&__pyx_n_s_theme_categories, __pyx_k_theme_categories, sizeof(__pyx_k_theme_categories), 0, 0, 1, 1},
    {&__pyx_n_s_theme_enablers, __pyx_k_theme_enablers, sizeof(__pyx_k_theme_enablers), 0, 0, 1, 1},
    {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1},
    {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1},
    {&__pyx_kp_u_to, __pyx_k_to, sizeof(__pyx_k_to), 0, 1, 0, 0},
    {&__pyx_n_s_traceback, __pyx_k_traceback, sizeof(__pyx_k_traceback), 0, 0, 1, 1},
    {&__pyx_n_s_uiItem, __pyx_k_uiItem, sizeof(__pyx_k_uiItem), 0, 0, 1, 1},
    {&__pyx_n_s_uiItem___dir, __pyx_k_uiItem___dir, sizeof(__pyx_k_uiItem___dir), 0, 0, 1, 1},
    {&__pyx_n_s_uiItem___reduce_cython, __pyx_k_uiItem___reduce_cython, sizeof(__pyx_k_uiItem___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_uiItem___setstate_cython, __pyx_k_uiItem___setstate_cython, sizeof(__pyx_k_uiItem___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_uiItem_configure, __pyx_k_uiItem_configure, sizeof(__pyx_k_uiItem_configure), 0, 0, 1, 1},
    {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 0, 0, 1, 1},
    {&__pyx_kp_s_unable_to_allocate_array_data, __pyx_k_unable_to_allocate_array_data, sizeof(__pyx_k_unable_to_allocate_array_data), 0, 0, 1, 0},
    {&__pyx_kp_s_unable_to_allocate_shape_and_str, __pyx_k_unable_to_allocate_shape_and_str, sizeof(__pyx_k_unable_to_allocate_shape_and_str), 0, 0, 1, 0},
    {&__pyx_n_s_unlock_mutex, __pyx_k_unlock_mutex, sizeof(__pyx_k_unlock_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_unpack, __pyx_k_unpack, sizeof(__pyx_k_unpack), 0, 0, 1, 1},
    {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
    {&__pyx_n_s_update_layout, __pyx_k_update_layout, sizeof(__pyx_k_update_layout), 0, 0, 1, 1},
    {&__pyx_n_s_use_setstate, __pyx_k_use_setstate, sizeof(__pyx_k_use_setstate), 0, 0, 1, 1},
    {&__pyx_n_s_user_data, __pyx_k_user_data, sizeof(__pyx_k_user_data), 0, 0, 1, 1},
    {&__pyx_kp_u_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 1, 0, 0},
    {&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1},
    {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
    {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1},
    {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
    {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
    {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1},
    {&__pyx_n_s_wait, __pyx_k_wait, sizeof(__pyx_k_wait), 0, 0, 1, 1},
    {&__pyx_n_s_wake, __pyx_k_wake, sizeof(__pyx_k_wake), 0, 0, 1, 1},
    {&__pyx_n_s_weakref, __pyx_k_weakref, sizeof(__pyx_k_weakref), 0, 0, 1, 1},
    {&__pyx_n_s_west, __pyx_k_west, sizeof(__pyx_k_west), 0, 0, 1, 1},
    {&__pyx_n_s_width, __pyx_k_width, sizeof(__pyx_k_width), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_mutex, __pyx_k_wrap_mutex, sizeof(__pyx_k_wrap_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_mutex___enter, __pyx_k_wrap_mutex___enter, sizeof(__pyx_k_wrap_mutex___enter), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_mutex___exit, __pyx_k_wrap_mutex___exit, sizeof(__pyx_k_wrap_mutex___exit), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_mutex___init, __pyx_k_wrap_mutex___init, sizeof(__pyx_k_wrap_mutex___init), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_this_and_parents_mutex, __pyx_k_wrap_this_and_parents_mutex, sizeof(__pyx_k_wrap_this_and_parents_mutex), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_this_and_parents_mutex___en, __pyx_k_wrap_this_and_parents_mutex___en, sizeof(__pyx_k_wrap_this_and_parents_mutex___en), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_this_and_parents_mutex___ex, __pyx_k_wrap_this_and_parents_mutex___ex, sizeof(__pyx_k_wrap_this_and_parents_mutex___ex), 0, 0, 1, 1},
    {&__pyx_n_s_wrap_this_and_parents_mutex___in, __pyx_k_wrap_this_and_parents_mutex___in, sizeof(__pyx_k_wrap_this_and_parents_mutex___in), 0, 0, 1, 1},
    {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},
    {&__pyx_kp_u_zoom_mod_must_be_a_combinaison_o, __pyx_k_zoom_mod_must_be_a_combinaison_o, sizeof(__pyx_k_zoom_mod_must_be_a_combinaison_o), 0, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0}
  };
  return __Pyx_InitStrings(__pyx_string_tab);
}
/* #### Code section: cached_builtins ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 1250, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 1297, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 1313, __pyx_L1_error)
  __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(1, 93, __pyx_L1_error)
  __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(1, 355, __pyx_L1_error)
  __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(1, 902, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 1217, __pyx_L1_error)
  __pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_n_s_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(1, 1415, __pyx_L1_error)
  __pyx_builtin_round = __Pyx_GetBuiltinName(__pyx_n_s_round); if (!__pyx_builtin_round) __PYX_ERR(1, 2033, __pyx_L1_error)
  __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(1, 5312, __pyx_L1_error)
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(1, 12199, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 12344, __pyx_L1_error)
  __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_n_s_import); if (!__pyx_builtin___import__) __PYX_ERR(2, 100, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(2, 159, __pyx_L1_error)
  __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_n_s_Ellipsis); if (!__pyx_builtin_Ellipsis) __PYX_ERR(2, 408, __pyx_L1_error)
  __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(2, 618, __pyx_L1_error)
  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(3, 1025, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cached_constants ### */

static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0xe3b0c44, 0xda39a3e, 0xd41d8cd):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())" % __pyx_checksum
 */
  __pyx_tuple__2 = PyTuple_Pack(3, __pyx_int_238750788, __pyx_int_228825662, __pyx_int_222419149); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);

  /* "View.MemoryView":582
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 *             return (-1,) * self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 */
  __pyx_tuple__6 = PyTuple_New(1); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(2, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_tuple__6, 0, __pyx_int_neg_1)) __PYX_ERR(2, 582, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_tuple__6);

  /* "View.MemoryView":679
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)
 * 
 *     result = [slice(None)] * ndim             # <<<<<<<<<<<<<<
 *     have_slices = False
 *     seen_ellipsis = False
 */
  __pyx_slice__7 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__7)) __PYX_ERR(2, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__7);
  __Pyx_GIVEREF(__pyx_slice__7);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum not in (0x82a3537, 0x6ae9995, 0xb068931):             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x82a3537, 0x6ae9995, 0xb068931) = (name))" % __pyx_checksum
 */
  __pyx_tuple__10 = PyTuple_Pack(3, __pyx_int_136983863, __pyx_int_112105877, __pyx_int_184977713); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1025
 *         __pyx_import_array()
 *     except Exception:
 *         raise ImportError("numpy._core.multiarray failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_umath() except -1:
 */
  __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_u_numpy__core_multiarray_failed_to); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(3, 1025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);

  /* "../../../../tmp/pip-build-env-ces_d8be/overlay/lib/python3.12/site-packages/numpy/__init__.cython-30.pxd":1031
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_ufunc() except -1:
 */
  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_u_numpy__core_umath_failed_to_impo); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(3, 1031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__12);
  __Pyx_GIVEREF(__pyx_tuple__12);

  /* "dearcygui/core.pxd":1250
 * cdef inline void read_point(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 2 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 2:
 */
  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_Point_data_must_be_an_array_of_u); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 1250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);

  /* "dearcygui/core.pxd":1263
 * cdef inline void read_vec4(point_type* dst, src):
 *     if not(hasattr(src, '__len__')):
 *         raise TypeError("Point data must be an array of up to 4 coordinates")             # <<<<<<<<<<<<<<
 *     cdef int src_size = len(src)
 *     if src_size > 4:
 */
  __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_u_Point_data_must_be_an_array_of_u_2); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 1263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__14);
  __Pyx_GIVEREF(__pyx_tuple__14);

  /* "dearcygui/core.pxd":1288
 *         src_size = len(src)
 *     if src_size == 0 or src_size > 4:
 *         raise TypeError("Color data must either an int32 (rgba, little endian),\n" \             # <<<<<<<<<<<<<<
 *                         "or an array of int (r, g, b, a) or float (r, g, b, a) normalized")
 *     cdef imgui.ImVec4 color_float4
 */
  __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_u_Color_data_must_either_an_int32); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 1288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);

  /* "dearcygui/core.pxd":1313
 *         for i in range(4):
 *             if values_int[i] < 0 or values_int[i] > 255:
 *                 raise ValueError("Color value component outside bounds (0...255)")             # <<<<<<<<<<<<<<
 *         color_u32 = <imgui.ImU32>values_int[0]
 *         color_u32 |= (<imgui.ImU32>values_int[1]) << 8
 */
  __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u_Color_value_component_outside_bo); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 1313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);

  /* "dearcygui/core.pxd":1322
 *     for i in range(4):
 *         if values[i] < 0. or values[i] > 1.:
 *             raise ValueError("Color value component outside bounds (0...1)")             # <<<<<<<<<<<<<<
 * 
 *     color_float4.x = values[0]
 */
  __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_u_Color_value_component_outside_bo_2); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 1322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);

  /* "dearcygui/core.pyx":137
 *         else:
 *             if not(isinstance(queue, Executor)):
 *                 raise TypeError("queue must be a subclass of concurrent.futures.Executor")             # <<<<<<<<<<<<<<
 *             self.queue = queue
 *         C = self
 */
  __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_u_queue_must_be_a_subclass_of_conc); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(1, 137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__18);
  __Pyx_GIVEREF(__pyx_tuple__18);

  /* "dearcygui/core.pyx":464
 *         cdef unique_lock[recursive_mutex] m
 *         if key < 0 or <imgui.ImGuiKey>key >= imgui.ImGuiKey_NamedKey_END:
 *             raise ValueError("Invalid key")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
  __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_u_Invalid_key); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(1, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);

  /* "dearcygui/core.pyx":510
 *         cdef unique_lock[recursive_mutex] m
 *         if button < 0 or button >= imgui.ImGuiMouseButton_COUNT:
 *             raise ValueError("Invalid button")             # <<<<<<<<<<<<<<
 *         ensure_correct_imgui_context(self)
 *         lock_gil_friendly(m, self.imgui_mutex)
 */
  __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_u_Invalid_button); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(1, 510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__20);
  __Pyx_GIVEREF(__pyx_tuple__20);

  /* "dearcygui/core.pyx":558
 *         cdef imgui.ImVec2 pos = imgui.GetMousePos()
 *         if not(imgui.IsMousePosValid(&pos)):
 *             raise KeyError("Cannot get mouse position: no mouse found")             # <<<<<<<<<<<<<<
 *         return (pos.x, pos.y)
 * 
 */
  __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_u_Cannot_get_mouse_position_no_mou); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(1, 558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);

  /* "dearcygui/core.pyx":846
 *     def __cinit__(self, context, *args, **kwargs):
 *         if not(isinstance(context, Context)):
 *             raise ValueError("Provided context is not a valid Context instance")             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self.external_lock = False
 */
  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_u_Provided_context_is_not_a_valid); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(1, 846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__22);
  __Pyx_GIVEREF(__pyx_tuple__22);

  /* "dearcygui/core.pyx":859
 *     def configure(self, **kwargs):
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)             # <<<<<<<<<<<<<<
 *         cdef bint ignore_if_fail = False
 *         if should_attach is None:
 */
  __pyx_tuple__23 = PyTuple_Pack(2, __pyx_n_u_attach, Py_None); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(1, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);

  /* "dearcygui/core.pyx":873
 *                 ignore_if_fail = True
 *         if self._parent is None and should_attach:
 *             before = kwargs.pop("before", None)             # <<<<<<<<<<<<<<
 *             parent = kwargs.pop("parent", None)
 *             if before is not None:
 */
  __pyx_tuple__24 = PyTuple_Pack(2, __pyx_n_u_before, Py_None); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);

  /* "dearcygui/core.pyx":874
 *         if self._parent is None and should_attach:
 *             before = kwargs.pop("before", None)
 *             parent = kwargs.pop("parent", None)             # <<<<<<<<<<<<<<
 *             if before is not None:
 *                 # parent manually set. Do not ignore failure
 */
  __pyx_tuple__25 = PyTuple_Pack(2, __pyx_n_u_parent, Py_None); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(1, 874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);

  /* "dearcygui/core.pyx":1048
 *                 self.attach_to_parent(target_parent)
 *             else:
 *                 raise ValueError("Cannot bind sibling if no parent")             # <<<<<<<<<<<<<<
 *         self.attach_before(next_sibling)
 * 
 */
  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_u_Cannot_bind_sibling_if_no_parent); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 1048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__26);
  __Pyx_GIVEREF(__pyx_tuple__26);

  /* "dearcygui/core.pyx":1128
 *     def children(self, value):
 *         if not(hasattr(value, "__len__")):
 *             raise TypeError("children must be a array of child items")             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] item_m
 *         cdef unique_lock[recursive_mutex] child_m
 */
  __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_u_children_must_be_a_array_of_chil); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(1, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);

  /* "dearcygui/core.pyx":1181
 *            self.can_have_widget_child or \
 *            self.can_have_window_child):
 *             print("Warning: {self} cannot have children but is pushed as container")             # <<<<<<<<<<<<<<
 *         self.context.push_next_parent(self)
 *         return self
 */
  __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_u_Warning_self_cannot_have_childre); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(1, 1181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__28);
  __Pyx_GIVEREF(__pyx_tuple__28);

  /* "dearcygui/core.pyx":1217
 *             os.sched_yield()
 *             if not(locked) and self.external_lock > 0:
 *                 raise RuntimeError(             # <<<<<<<<<<<<<<
 *                     "Trying to lock parent mutex while holding a lock. "
 *                     "If you get this error, this means you are attempting "
 */
  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_u_Trying_to_lock_parent_mutex_whil); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 1217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);

  /* "dearcygui/core.pyx":1272
 *         cdef baseItem target_parent
 *         if self.context is None:
 *             raise ValueError("Trying to attach a deleted item")             # <<<<<<<<<<<<<<
 * 
 *         if not(isinstance(target, baseItem)):
 */
  __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_u_Trying_to_attach_a_deleted_item); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(1, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__30);
  __Pyx_GIVEREF(__pyx_tuple__30);

  /* "dearcygui/core.pyx":1282
 * 
 *         if target_parent is None:
 *             raise ValueError("Trying to attach to None")             # <<<<<<<<<<<<<<
 *         if target_parent.context is None:
 *             raise ValueError("Trying to attach to a deleted item")
 */
  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_u_Trying_to_attach_to_None); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 1282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);

  /* "dearcygui/core.pyx":1284
 *             raise ValueError("Trying to attach to None")
 *         if target_parent.context is None:
 *             raise ValueError("Trying to attach to a deleted item")             # <<<<<<<<<<<<<<
 * 
 *         if self.external_lock > 0:
 */
  __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_u_Trying_to_attach_to_a_deleted_it); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(1, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__32);
  __Pyx_GIVEREF(__pyx_tuple__32);

  /* "dearcygui/core.pyx":1436
 * 
 *         if target_before is None:
 *             raise ValueError("target before cannot be None")             # <<<<<<<<<<<<<<
 * 
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_u_target_before_cannot_be_None); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(1, 1436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__33);
  __Pyx_GIVEREF(__pyx_tuple__33);

  /* "dearcygui/core.pyx":1458
 *             # but that defeats the purpose of building items
 *             # outside the rendering tree.
 *             raise ValueError("Trying to attach to an un-attached sibling. Not yet supported")             # <<<<<<<<<<<<<<
 * 
 *         # Check the elements can indeed be siblings
 */
  __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_u_Trying_to_attach_to_an_un_attach); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 1458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__34);
  __Pyx_GIVEREF(__pyx_tuple__34);

  /* "dearcygui/core.pyx":1982
 *                                          <void*>self)
 *         if self.viewport == NULL:
 *             raise RuntimeError("Failed to create the viewport")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_create_the_viewport); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 1982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__35);
  __Pyx_GIVEREF(__pyx_tuple__35);

  /* "dearcygui/core.pyx":2020
 *         ensure_correct_im_context(self.context)
 *         if self.initialized:
 *             raise RuntimeError("Viewport already initialized")             # <<<<<<<<<<<<<<
 *         ensure_correct_im_context(self.context)
 *         mvShowViewport(dereference(self.viewport),
 */
  __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_u_Viewport_already_initialized); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 2020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__36);
  __Pyx_GIVEREF(__pyx_tuple__36);

  /* "dearcygui/core.pyx":2050
 *     cdef void __check_initialized(self):
 *         if not(self.initialized):
 *             raise RuntimeError("The viewport must be initialized before being used")             # <<<<<<<<<<<<<<
 * 
 *     cdef void __check_not_initialized(self):
 */
  __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_u_The_viewport_must_be_initialized); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(1, 2050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__37);
  __Pyx_GIVEREF(__pyx_tuple__37);

  /* "dearcygui/core.pyx":2054
 *     cdef void __check_not_initialized(self):
 *         if self.initialized:
 *             raise RuntimeError("The viewport must be not be initialized to set this field")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_u_The_viewport_must_be_not_be_init); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(1, 2054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__38);
  __Pyx_GIVEREF(__pyx_tuple__38);

  /* "dearcygui/core.pyx":2329
 *         if value < imgui.ImGuiMouseCursor_None or \
 *            value >= imgui.ImGuiMouseCursor_COUNT:
 *             raise ValueError("Invalid cursor type {value}")             # <<<<<<<<<<<<<<
 *         self._cursor = value
 * 
 */
  __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_u_Invalid_cursor_type_value); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(1, 2329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__39);
  __Pyx_GIVEREF(__pyx_tuple__39);

  /* "dearcygui/core.pyx":2873
 *     def __init__(self, *args, **kwargs):
 *         if self.num_args > 3:
 *             raise ValueError("Callback function takes too many arguments")             # <<<<<<<<<<<<<<
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):
 */
  __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_u_Callback_function_takes_too_many); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 2873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__40);
  __Pyx_GIVEREF(__pyx_tuple__40);

  /* "dearcygui/core.pyx":2876
 *     def __cinit__(self, callback, *args, **kwargs):
 *         if not(callable(callback)):
 *             raise TypeError("Callback requires a callable object")             # <<<<<<<<<<<<<<
 *         self.callback = callback
 *         cdef int num_defaults = 0
 */
  __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_u_Callback_requires_a_callable_obj); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 2876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);

  /* "dearcygui/core.pyx":2904
 *                 print(f"Callback argument was: {source_item}")
 *             else:
 *                 print("Callback called without arguments")             # <<<<<<<<<<<<<<
 *             print(traceback.format_exc())
 * 
 */
  __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_u_Callback_called_without_argument); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(1, 2904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__43);
  __Pyx_GIVEREF(__pyx_tuple__43);

  /* "dearcygui/core.pyx":4833
 *             # the value of all items
 *             return
 *         raise ValueError("Shared value is empty. Cannot set.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_u_Shared_value_is_empty_Cannot_set); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(1, 4833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__45);
  __Pyx_GIVEREF(__pyx_tuple__45);

  /* "dearcygui/core.pyx":6051
 *         lock_gil_friendly(m, self.mutex)
 *         if len(value) != 2:
 *             raise ValueError("Expected tuple for pos: (x, y)")             # <<<<<<<<<<<<<<
 *         (x, y) = value
 *         if x is not None:
 */
  __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_u_Expected_tuple_for_pos_x_y); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(1, 6051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);

  /* "dearcygui/core.pyx":6118
 *             (x, y) = value
 *             if x not in policies or y not in policies:
 *                 raise ValueError("Invalid positioning policy")             # <<<<<<<<<<<<<<
 *             self._pos_policy[0] = x
 *             self._pos_policy[1] = y
 */
  __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_u_Invalid_positioning_policy); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 6118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__47);
  __Pyx_GIVEREF(__pyx_tuple__47);

  /* "dearcygui/core.pyx":6477
 *         lock_gil_friendly(m, self.mutex)
 *         if value < imgui.ImGuiDir_None or value >= imgui.ImGuiDir_COUNT:
 *             raise ValueError("Invalid direction {value}")             # <<<<<<<<<<<<<<
 *         self._direction = <imgui.ImGuiDir>value
 * 
 */
  __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_u_Invalid_direction_value); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(1, 6477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__48);
  __Pyx_GIVEREF(__pyx_tuple__48);

  /* "dearcygui/core.pyx":6626
 *         else:
 *             self.flags |= imgui.ImGuiComboFlags_HeightRegular
 *             raise ValueError("Invalid height mode {value}")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_u_Invalid_height_mode_value); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 6626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__49);
  __Pyx_GIVEREF(__pyx_tuple__49);

  /* "dearcygui/core.pyx":7037
 *             # advise not to combine both, and thus we let the user do his
 *             # own rounding if he really wants to.
 *             raise ValueError("round_to_format cannot be enabled with logarithmic set")             # <<<<<<<<<<<<<<
 *         self.flags &= ~imgui.ImGuiSliderFlags_NoRoundToFormat
 *         if not(value):
 */
  __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_u_round_to_format_cannot_be_enable); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(1, 7037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__50);
  __Pyx_GIVEREF(__pyx_tuple__50);

  /* "dearcygui/core.pyx":7495
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 1:
 *             raise ValueError("There must be at least space for one character")             # <<<<<<<<<<<<<<
 *         self._max_characters = value
 * 
 */
  __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_u_There_must_be_at_least_space_for); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 7495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__51);
  __Pyx_GIVEREF(__pyx_tuple__51);

  /* "dearcygui/core.pyx":7854
 *         if "min_clamped" in kwargs:
 *             if kwargs.pop("min_clamped"):
 *                 self._min = kwargs.pop("minv", 0.)             # <<<<<<<<<<<<<<
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):
 */
  __pyx_tuple__52 = PyTuple_Pack(2, __pyx_n_u_minv, __pyx_float_0_); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(1, 7854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__52);
  __Pyx_GIVEREF(__pyx_tuple__52);

  /* "dearcygui/core.pyx":7857
 *         if "max_clamped" in kwargs:
 *             if kwargs.pop("max_clamped"):
 *                 self._max = kwargs.pop("maxv", 100.)             # <<<<<<<<<<<<<<
 *         if "minv" in kwargs:
 *             del kwargs["minv"]
 */
  __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_u_maxv, __pyx_float_100_); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 7857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__53);
  __Pyx_GIVEREF(__pyx_tuple__53);

  /* "dearcygui/core.pyx":8730
 *         lock_gil_friendly(m, self.mutex)
 *         if not(isinstance(value, Texture)):
 *             raise TypeError("texture must be a Texture")             # <<<<<<<<<<<<<<
 *         # TODO: MV_ATLAS_UUID
 *         self._texture = value
 */
  __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_u_texture_must_be_a_Texture); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(1, 8730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__54);
  __Pyx_GIVEREF(__pyx_tuple__54);

  /* "dearcygui/core.pyx":9692
 *         lock_gil_friendly(m, self.mutex)
 *         if value < 0 or value > alignment.MANUAL:
 *             raise ValueError("Invalid alignment value")             # <<<<<<<<<<<<<<
 *         self._alignment_mode = value
 * 
 */
  __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_u_Invalid_alignment_value); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(1, 9692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__55);
  __Pyx_GIVEREF(__pyx_tuple__55);

  /* "dearcygui/core.pyx":11750
 * 
 *         if self._parent is None:
 *             raise ValueError("Window must be attached before becoming primary")             # <<<<<<<<<<<<<<
 *         if self.main_window == value:
 *             return # Nothing to do
 */
  __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_u_Window_must_be_attached_before_b); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 11750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "dearcygui/core.pyx":12044
 *             self.set_content(np.ascontiguousarray(args[0]))
 *         elif len(args) != 0:
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")             # <<<<<<<<<<<<<<
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0
 *         return super().configure(**kwargs)
 */
  __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_u_Invalid_arguments_passed_to_Text); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(1, 12044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__57);
  __Pyx_GIVEREF(__pyx_tuple__57);

  /* "dearcygui/core.pyx":12045
 *         elif len(args) != 0:
 *             raise ValueError("Invalid arguments passed to Texture. Expected content")
 *         self.filtering_mode = 1 if kwargs.pop("nearest_neighbor_upsampling", False) else 0             # <<<<<<<<<<<<<<
 *         return super().configure(**kwargs)
 * 
 */
  __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_u_nearest_neighbor_upsampling, Py_False); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 12045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__58);
  __Pyx_GIVEREF(__pyx_tuple__58);

  /* "dearcygui/core.pyx":12132
 *         lock_gil_friendly(m2, self.mutex)
 *         if content.ndim > 3 or content.ndim == 0:
 *             raise ValueError("Invalid number of texture dimensions")             # <<<<<<<<<<<<<<
 *         if self.readonly: # set for fonts
 *             raise ValueError("Target texture is read-only")
 */
  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_u_Invalid_number_of_texture_dimens); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 12132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__59);
  __Pyx_GIVEREF(__pyx_tuple__59);

  /* "dearcygui/core.pyx":12134
 *             raise ValueError("Invalid number of texture dimensions")
 *         if self.readonly: # set for fonts
 *             raise ValueError("Target texture is read-only")             # <<<<<<<<<<<<<<
 *         cdef int height = 1
 *         cdef int width = 1
 */
  __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_Target_texture_is_read_only); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 12134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__60);
  __Pyx_GIVEREF(__pyx_tuple__60);

  /* "dearcygui/core.pyx":12146
 *             num_chans = content.shape[2]
 *         if width * height * num_chans == 0:
 *             raise ValueError("Cannot set empty texture")             # <<<<<<<<<<<<<<
 * 
 *         # TODO: there must be a faster test
 */
  __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_Cannot_set_empty_texture); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 12146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "dearcygui/core.pyx":12199
 *             m2.unlock() # Release before we get gil again
 *         if not(success):
 *             raise MemoryError("Failed to upload target texture")             # <<<<<<<<<<<<<<
 * 
 * def get_system_fonts():
 */
  __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_upload_target_texture); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(1, 12199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__62);
  __Pyx_GIVEREF(__pyx_tuple__62);

  /* "dearcygui/core.pyx":12228
 *         """Readonly attribute: native height of characters"""
 *         if self.font == NULL:
 *             raise ValueError("Uninitialized font")             # <<<<<<<<<<<<<<
 *         return self.font.FontSize
 * 
 */
  __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_u_Uninitialized_font); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 12228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__63);
  __Pyx_GIVEREF(__pyx_tuple__63);

  /* "dearcygui/core.pyx":12289
 *         lock_gil_friendly(m, self.mutex)
 *         if self._built:
 *             raise ValueError("Cannot add Font to built FontTexture")             # <<<<<<<<<<<<<<
 *         if not(os.path.exists(path)):
 *             raise ValueError(f"File {path} does not exist")
 */
  __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_u_Cannot_add_Font_to_built_FontTex); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(1, 12289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__64);
  __Pyx_GIVEREF(__pyx_tuple__64);

  /* "dearcygui/core.pyx":12293
 *             raise ValueError(f"File {path} does not exist")
 *         if size <= 0. or density_scale <= 0.:
 *             raise ValueError("Invalid texture size")             # <<<<<<<<<<<<<<
 *         cdef imgui.ImFontConfig config = imgui.ImFontConfig()
 *         config.OversampleH = 3 if subpixel else 1
 */
  __pyx_tuple__65 = PyTuple_Pack(1, __pyx_kp_u_Invalid_texture_size); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 12293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__65);
  __Pyx_GIVEREF(__pyx_tuple__65);

  /* "dearcygui/core.pyx":12328
 *         lock_gil_friendly(m, self.mutex)
 *         if not(self._built):
 *             raise ValueError("Texture not yet built")             # <<<<<<<<<<<<<<
 *         return self._texture
 * 
 */
  __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_u_Texture_not_yet_built); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(1, 12328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__66);
  __Pyx_GIVEREF(__pyx_tuple__66);

  /* "dearcygui/core.pyx":12344
 *             raise ValueError("Texture not yet built")
 *         if index < 0 or index >= <int>self.atlas.Fonts.size():
 *             raise IndexError("Outside range")             # <<<<<<<<<<<<<<
 *         return self.fonts[index]
 * 
 */
  __pyx_tuple__67 = PyTuple_Pack(1, __pyx_kp_u_Outside_range); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(1, 12344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__67);
  __Pyx_GIVEREF(__pyx_tuple__67);

  /* "dearcygui/core.pyx":12357
 *             return
 *         if self.atlas.Fonts.Size == 0:
 *             raise ValueError("You must add fonts first")             # <<<<<<<<<<<<<<
 *         # build
 *         if not(self.atlas.Build()):
 */
  __pyx_tuple__68 = PyTuple_Pack(1, __pyx_kp_u_You_must_add_fonts_first); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(1, 12357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "dearcygui/core.pyx":12360
 *         # build
 *         if not(self.atlas.Build()):
 *             raise RuntimeError("Failed to build target texture data")             # <<<<<<<<<<<<<<
 *         # Retrieve the target buffer
 *         cdef unsigned char *data = NULL
 */
  __pyx_tuple__69 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_build_target_texture_d); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(1, 12360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__69);
  __Pyx_GIVEREF(__pyx_tuple__69);

  /* "dearcygui/core.pyx":12499
 *             self._scale = value
 *         else:
 *             raise ValueError("Invalid scale. Expecting an AxisScale")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__70 = PyTuple_Pack(1, __pyx_kp_u_Invalid_scale_Expecting_an_AxisS); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(1, 12499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__70);
  __Pyx_GIVEREF(__pyx_tuple__70);

  /* "dearcygui/core.pyx":13227
 *             self._location = value
 *         else:
 *             raise ValueError("Invalid location. Must be a LegendLocation")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_u_Invalid_location_Must_be_a_Legen); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(1, 13227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__71);
  __Pyx_GIVEREF(__pyx_tuple__71);

  /* "dearcygui/core.pyx":13557
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("pan_mod must be a combinaison of modifiers")             # <<<<<<<<<<<<<<
 *         self._pan_modifier = modifier
 * 
 */
  __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_u_pan_mod_must_be_a_combinaison_of); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(1, 13557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__72);
  __Pyx_GIVEREF(__pyx_tuple__72);

  /* "dearcygui/core.pyx":13615
 *         lock_gil_friendly(m, self.mutex)
 *         if (modifier & ~imgui.ImGuiMod_Mask_) != 0:
 *             raise ValueError("zoom_mod must be a combinaison of modifiers")             # <<<<<<<<<<<<<<
 *         self._zoom_mod = modifier
 * 
 */
  __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_u_zoom_mod_must_be_a_combinaison_o); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(1, 13615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__73);
  __Pyx_GIVEREF(__pyx_tuple__73);

  /* "dearcygui/core.pyx":13989
 *                               implot.ImAxis_Y3])
 *         except Exception as e:
 *             raise ValueError("Axes must be a tuple of valid X/Y axes")             # <<<<<<<<<<<<<<
 *         self._axes[0] = axis_x
 *         self._axes[1] = axis_y
 */
  __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_u_Axes_must_be_a_tuple_of_valid_X); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(1, 13989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__74);
  __Pyx_GIVEREF(__pyx_tuple__74);

  /* "dearcygui/core.pyx":14280
 * cdef class plotElementXY(plotElementWithLegend):
 *     def __cinit__(self):
 *         self._X = np.zeros(shape=(1,), dtype=np.float64)             # <<<<<<<<<<<<<<
 *         self._Y = np.zeros(shape=(1,), dtype=np.float64)
 * 
 */
  __pyx_tuple__75 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(1, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__75);
  __Pyx_GIVEREF(__pyx_tuple__75);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */
  __pyx_tuple__76 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_2, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__76);
  __Pyx_GIVEREF(__pyx_tuple__76);
  __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)
 */
  __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(2, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__78);
  __Pyx_GIVEREF(__pyx_tuple__78);
  __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(2, 16, __pyx_L1_error)

  /* "EnumBase":28
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */
  __pyx_tuple__80 = PyTuple_Pack(5, __pyx_n_s_cls, __pyx_n_s_value, __pyx_n_s_name, __pyx_n_s_v, __pyx_n_s_res); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(2, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__80);
  __Pyx_GIVEREF(__pyx_tuple__80);
  __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(2, 28, __pyx_L1_error)
  __pyx_tuple__82 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(2, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__82);
  __Pyx_GIVEREF(__pyx_tuple__82);

  /* "EnumBase":39
 *         cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */
  __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(2, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__83);
  __Pyx_GIVEREF(__pyx_tuple__83);
  __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(2, 39, __pyx_L1_error)

  /* "EnumBase":41
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */
  __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 41, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(2, 41, __pyx_L1_error)

  /* "EnumBase":49
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */
  __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(2, 49, __pyx_L1_error)

  /* "EnumBase":62
 *             cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */
  __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(2, 62, __pyx_L1_error)

  /* "EnumBase":64
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */
  __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(2, 64, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_tuple__89 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__89);
  __Pyx_GIVEREF(__pyx_tuple__89);
  __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "View.MemoryView":100
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:
 *     if __import__("sys").version_info >= (3, 3):             # <<<<<<<<<<<<<<
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 *     else:
 */
  __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_sys); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(2, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__91);
  __Pyx_GIVEREF(__pyx_tuple__91);
  __pyx_tuple__92 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_3); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(2, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__92);
  __Pyx_GIVEREF(__pyx_tuple__92);

  /* "View.MemoryView":101
 * try:
 *     if __import__("sys").version_info >= (3, 3):
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence             # <<<<<<<<<<<<<<
 *     else:
 *         __pyx_collections_abc_Sequence = __import__("collections").Sequence
 */
  __pyx_tuple__93 = PyTuple_Pack(1, __pyx_kp_s_collections_abc); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(2, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__93);
  __Pyx_GIVEREF(__pyx_tuple__93);

  /* "View.MemoryView":103
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 *     else:
 *         __pyx_collections_abc_Sequence = __import__("collections").Sequence             # <<<<<<<<<<<<<<
 * except:
 * 
 */
  __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_collections); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(2, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__94);
  __Pyx_GIVEREF(__pyx_tuple__94);

  /* "View.MemoryView":309
 *         return self.name
 * 
 * cdef generic = Enum("<strided and direct or indirect>")             # <<<<<<<<<<<<<<
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")
 */
  __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct_or_indirect); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(2, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__95);
  __Pyx_GIVEREF(__pyx_tuple__95);

  /* "View.MemoryView":310
 * 
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default             # <<<<<<<<<<<<<<
 * cdef indirect = Enum("<strided and indirect>")
 * 
 */
  __pyx_tuple__96 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(2, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__96);
  __Pyx_GIVEREF(__pyx_tuple__96);

  /* "View.MemoryView":311
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__97 = PyTuple_Pack(1, __pyx_kp_s_strided_and_indirect); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(2, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__97);
  __Pyx_GIVEREF(__pyx_tuple__97);

  /* "View.MemoryView":314
 * 
 * 
 * cdef contiguous = Enum("<contiguous and direct>")             # <<<<<<<<<<<<<<
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")
 * 
 */
  __pyx_tuple__98 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_direct); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(2, 314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__98);
  __Pyx_GIVEREF(__pyx_tuple__98);

  /* "View.MemoryView":315
 * 
 * cdef contiguous = Enum("<contiguous and direct>")
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__99 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_indirect); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(2, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__99);
  __Pyx_GIVEREF(__pyx_tuple__99);

  /* "(tree fragment)":1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Enum, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "dearcygui/core.pyx":49
 * 
 * import scipy
 * import scipy.spatial             # <<<<<<<<<<<<<<
 * import time as python_time
 * import threading
 */
  __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_scipy, __pyx_n_s_spatial); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(1, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__101);
  __Pyx_GIVEREF(__pyx_tuple__101);

  /* "dearcygui/core.pyx":388
 *         return item
 * 
 *     cpdef void push_next_parent(self, baseItem next_parent):             # <<<<<<<<<<<<<<
 *         """
 *         Each time 'with' is used on an item, it is pushed
 */
  __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_next_parent); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__102);
  __Pyx_GIVEREF(__pyx_tuple__102);
  __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_push_next_parent, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(1, 388, __pyx_L1_error)

  /* "dearcygui/core.pyx":407
 *         self.threadlocal_data.parent_queue = parent_queue
 * 
 *     cpdef void pop_next_parent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Remove an item from the potential parent list.
 */
  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_pop_next_parent, 407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(1, 407, __pyx_L1_error)

  /* "dearcygui/core.pyx":415
 *             parent_queue.pop()
 * 
 *     cpdef object fetch_parent_queue_back(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the last item from the potential parent list
 */
  __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_fetch_parent_queue_back, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(1, 415, __pyx_L1_error)

  /* "dearcygui/core.pyx":424
 *         return parent_queue[len(parent_queue)-1]
 * 
 *     cpdef object fetch_parent_queue_front(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the top item from the potential parent list
 */
  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_fetch_parent_queue_front, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(1, 424, __pyx_L1_error)

  /* "dearcygui/core.pyx":433
 *         return parent_queue[0]
 * 
 *     cpdef object fetch_last_created_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item created in this thread.
 */
  __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_fetch_last_created_item, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(1, 433, __pyx_L1_error)

  /* "dearcygui/core.pyx":442
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     cpdef object fetch_last_created_container(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item which can have children
 */
  __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_fetch_last_created_container, 442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(1, 442, __pyx_L1_error)

  /* "dearcygui/core.pyx":452
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     def is_key_down(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Is key being held.
 */
  __pyx_tuple__109 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_keymod, __pyx_n_s_m); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(1, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__109);
  __Pyx_GIVEREF(__pyx_tuple__109);
  __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_key_down, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(1, 452, __pyx_L1_error)

  /* "dearcygui/core.pyx":471
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 * 
 *     def is_key_pressed(self, int key, int keymod=-1, bint repeat=True):             # <<<<<<<<<<<<<<
 *         """
 *         Was key pressed (went from !Down to Down)?
 */
  __pyx_tuple__111 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_keymod, __pyx_n_s_repeat, __pyx_n_s_m); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__111);
  __Pyx_GIVEREF(__pyx_tuple__111);
  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_key_pressed, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(1, 471, __pyx_L1_error)
  __pyx_tuple__113 = PyTuple_Pack(2, __pyx_int_neg_1, Py_True); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__113);
  __Pyx_GIVEREF(__pyx_tuple__113);

  /* "dearcygui/core.pyx":490
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 * 
 *     def is_key_released(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Was key released (went from Down to !Down)?
 */
  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_key_released, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(1, 490, __pyx_L1_error)

  /* "dearcygui/core.pyx":506
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 * 
 *     def is_mouse_down(self, int button):             # <<<<<<<<<<<<<<
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_button, __pyx_n_s_button, __pyx_n_s_m); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(1, 506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__115);
  __Pyx_GIVEREF(__pyx_tuple__115);
  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_mouse_down, 506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(1, 506, __pyx_L1_error)

  /* "dearcygui/core.pyx":515
 *         return imgui.IsMouseDown(button)
 * 
 *     def is_mouse_clicked(self, int button, bint repeat=False):             # <<<<<<<<<<<<<<
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_button, __pyx_n_s_repeat, __pyx_n_s_m); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(1, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__117);
  __Pyx_GIVEREF(__pyx_tuple__117);
  __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_mouse_clicked, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(1, 515, __pyx_L1_error)
  __pyx_tuple__119 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(1, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__119);
  __Pyx_GIVEREF(__pyx_tuple__119);

  /* "dearcygui/core.pyx":524
 *         return imgui.IsMouseClicked(button, repeat)
 * 
 *     def is_mouse_double_clicked(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_mouse_double_clicked, 524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(1, 524, __pyx_L1_error)

  /* "dearcygui/core.pyx":533
 *         return imgui.IsMouseDoubleClicked(button)
 * 
 *     def get_mouse_clicked_count(self, int button):             # <<<<<<<<<<<<<<
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_get_mouse_clicked_count, 533, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(1, 533, __pyx_L1_error)

  /* "dearcygui/core.pyx":542
 *         return imgui.GetMouseClickedCount(button)
 * 
 *     def is_mouse_released(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_mouse_released, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(1, 542, __pyx_L1_error)

  /* "dearcygui/core.pyx":551
 *         return imgui.IsMouseReleased(button)
 * 
 *     def get_mouse_position(self):             # <<<<<<<<<<<<<<
 *         """Retrieves the mouse position (x, y). Raises KeyError if there is no mouse"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(1, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__123);
  __Pyx_GIVEREF(__pyx_tuple__123);
  __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_get_mouse_position, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(1, 551, __pyx_L1_error)

  /* "dearcygui/core.pyx":561
 *         return (pos.x, pos.y)
 * 
 *     def is_mouse_dragging(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_button, __pyx_n_s_lock_threshold, __pyx_n_s_m); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(1, 561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__125);
  __Pyx_GIVEREF(__pyx_tuple__125);
  __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_is_mouse_dragging, 561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(1, 561, __pyx_L1_error)
  __pyx_tuple__127 = PyTuple_Pack(1, __pyx_float_neg_1_); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(1, 561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__127);
  __Pyx_GIVEREF(__pyx_tuple__127);

  /* "dearcygui/core.pyx":570
 *         return imgui.IsMouseDragging(button, lock_threshold)
 * 
 *     def get_mouse_drag_delta(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """
 *         Return the delta (dx, dy) from the initial clicking position while the mouse button is pressed or was just released.
 */
  __pyx_tuple__128 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_button, __pyx_n_s_lock_threshold, __pyx_n_s_m, __pyx_n_s_delta); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__128);
  __Pyx_GIVEREF(__pyx_tuple__128);
  __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_get_mouse_drag_delta, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(1, 570, __pyx_L1_error)

  /* "dearcygui/core.pyx":584
 *         return (delta.x, delta.y)
 * 
 *     def reset_mouse_drag_delta(self, int button):             # <<<<<<<<<<<<<<
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_reset_mouse_drag_delta, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(1, 584, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":857
 *         self.element_child_category = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)
 */
  __pyx_tuple__133 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_kwargs, __pyx_n_s_should_attach, __pyx_n_s_ignore_if_fail, __pyx_n_s_before, __pyx_n_s_parent, __pyx_n_s_e, __pyx_n_s_remaining, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(1, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__133);
  __Pyx_GIVEREF(__pyx_tuple__133);
  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(1, 857, __pyx_L1_error)

  /* "dearcygui/core.pyx":1170
 *             already_attached.insert(uuid)
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \
 */
  __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_enter, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(1, 1170, __pyx_L1_error)

  /* "dearcygui/core.pyx":1185
 *         return self
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.context.pop_next_parent()
 *         return False # Do not catch exceptions
 */
  __pyx_tuple__136 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_exc_type, __pyx_n_s_exc_value, __pyx_n_s_traceback); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(1, 1185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__136);
  __Pyx_GIVEREF(__pyx_tuple__136);
  __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_exit, 1185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(1, 1185, __pyx_L1_error)

  /* "dearcygui/core.pyx":1265
 * 
 * 
 *     cpdef void attach_to_parent(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = target, but
 */
  __pyx_tuple__138 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_target); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(1, 1265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__138);
  __Pyx_GIVEREF(__pyx_tuple__138);
  __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_attach_to_parent, 1265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(1, 1265, __pyx_L1_error)

  /* "dearcygui/core.pyx":1419
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void attach_before(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.next_sibling = target,
 */
  __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_attach_before, 1419, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(1, 1419, __pyx_L1_error)

  /* "dearcygui/core.pyx":1530
 *         self._next_sibling = None
 * 
 *     cpdef void detach_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = None
 */
  __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_detach_item, 1530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(1, 1530, __pyx_L1_error)

  /* "dearcygui/core.pyx":1546
 *         self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void delete_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         When an item is not referenced anywhere, it might
 */
  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_delete_item, 1546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(1, 1546, __pyx_L1_error)

  /* "dearcygui/core.pyx":1791
 *             self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     def lock_mutex(self, wait=False):             # <<<<<<<<<<<<<<
 *         """
 *         Lock the internal item mutex.
 */
  __pyx_tuple__143 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_wait, __pyx_n_s_locked); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(1, 1791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__143);
  __Pyx_GIVEREF(__pyx_tuple__143);
  __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_lock_mutex, 1791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(1, 1791, __pyx_L1_error)

  /* "dearcygui/core.pyx":1845
 *         return True
 * 
 *     def unlock_mutex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Unlock a previously held mutex on this object by this thread.
 */
  __pyx_tuple__145 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_locked); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(1, 1845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__145);
  __Pyx_GIVEREF(__pyx_tuple__145);
  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_unlock_mutex, 1845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(1, 1845, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":1905
 * 
 * class wrap_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *     def __enter__(self):
 */
  __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_init, 1905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(1, 1905, __pyx_L1_error)

  /* "dearcygui/core.pyx":1907
 *     def __init__(self, target):
 *         self.target = target
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):
 */
  __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_enter, 1907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(1, 1907, __pyx_L1_error)

  /* "dearcygui/core.pyx":1909
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.target.unlock_mutex()
 *         return False # Do not catch exceptions
 */
  __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_exit, 1909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(1, 1909, __pyx_L1_error)

  /* "dearcygui/core.pyx":1914
 * 
 * class wrap_this_and_parents_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *         self.locked = []
 */
  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_init, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(1, 1914, __pyx_L1_error)

  /* "dearcygui/core.pyx":1919
 *         self.nlocked = []
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         while True:
 *             locked = []
 */
  __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_locked, __pyx_n_s_item, __pyx_n_s_success); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(1, 1919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__153);
  __Pyx_GIVEREF(__pyx_tuple__153);
  __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_enter, 1919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(1, 1919, __pyx_L1_error)

  /* "dearcygui/core.pyx":1945
 *             # thread retaining the lock to run
 *             os.sched_yield()
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         cdef int N = self.nlocked.pop()
 *         cdef int i
 */
  __pyx_tuple__155 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_exc_type, __pyx_n_s_exc_value, __pyx_n_s_traceback, __pyx_n_s_N, __pyx_n_s_i); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(1, 1945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__155);
  __Pyx_GIVEREF(__pyx_tuple__155);
  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_exit, 1945, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(1, 1945, __pyx_L1_error)

  /* "dearcygui/core.pyx":1998
 *             self.viewport = NULL
 * 
 *     def initialize(self, minimized=False, maximized=False, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Initialize the viewport for rendering and show it.
 */
  __pyx_tuple__157 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_minimized, __pyx_n_s_maximized, __pyx_n_s_kwargs, __pyx_n_s_m, __pyx_n_s_m2, __pyx_n_s_m3, __pyx_n_s_default_font_texture, __pyx_n_s_path); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(1, 1998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__157);
  __Pyx_GIVEREF(__pyx_tuple__157);
  __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_initialize, 1998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(1, 1998, __pyx_L1_error)
  __pyx_tuple__159 = PyTuple_Pack(2, Py_False, Py_False); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(1, 1998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__159);
  __Pyx_GIVEREF(__pyx_tuple__159);

  /* "dearcygui/core.pyx":2546
 *         }
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         for (key, value) in kwargs.items():
 *             setattr(self, key, value)
 */
  __pyx_tuple__160 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_kwargs, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(1, 2546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__160);
  __Pyx_GIVEREF(__pyx_tuple__160);
  __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 2546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(1, 2546, __pyx_L1_error)

  /* "dearcygui/core.pyx":2749
 * 
 * 
 *     def render_frame(self, bint can_skip_presenting=False):             # <<<<<<<<<<<<<<
 *         """
 *         Render one frame.
 */
  __pyx_tuple__162 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_can_skip_presenting, __pyx_n_s_imgui_m, __pyx_n_s_self_m, __pyx_n_s_backend_m, __pyx_n_s_should_present, __pyx_n_s_current_time); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(1, 2749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__162);
  __Pyx_GIVEREF(__pyx_tuple__162);
  __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_render_frame, 2749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(1, 2749, __pyx_L1_error)

  /* "dearcygui/core.pyx":2840
 *         return should_present
 * 
 *     def wake(self):             # <<<<<<<<<<<<<<
 *         """
 *         In case rendering is waiting for an input (waitForInputs),
 */
  __pyx_tuple__164 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_m2); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(1, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__164);
  __Pyx_GIVEREF(__pyx_tuple__164);
  __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_wake, 2840, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) __PYX_ERR(1, 2840, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__203)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__214 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__214)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__220 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__220)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__224 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__224)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__226 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__228 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__228)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__230 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__230)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__234 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__234)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__235 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__235)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__236 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__236)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__238 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__238)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__240 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__240)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__242 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__242)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__244 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__244)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__245 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__245)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__246 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__246)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__248 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__248)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__250 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__250)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__252 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__252)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__253 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__253)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__254 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__254)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__255 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__255)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__256 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__256)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":5299
 *         clear_obj_vector(self._callbacks)
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:
 */
  __pyx_tuple__258 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_kwargs, __pyx_n_s_pos, __pyx_n_s_source); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(1, 5299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__258);
  __Pyx_GIVEREF(__pyx_tuple__258);
  __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 5299, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) __PYX_ERR(1, 5299, __pyx_L1_error)

  /* "dearcygui/core.pyx":5357
 * 
 *     # TODO: Find a better way to share all these attributes while avoiding AttributeError
 *     def __dir__(self):             # <<<<<<<<<<<<<<
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 */
  __pyx_tuple__260 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_default_dir, __pyx_n_s_results, __pyx_n_s_e); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(1, 5357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__260);
  __Pyx_GIVEREF(__pyx_tuple__260);
  __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_dir, 5357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(1, 5357, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__262 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__262)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":6329
 *         self.last_frame_autoscale_update = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 */
  __pyx_tuple__264 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__264)) __PYX_ERR(1, 6329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__264);
  __Pyx_GIVEREF(__pyx_tuple__264);
  __pyx_codeobj__265 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 6329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__265)) __PYX_ERR(1, 6329, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__266 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__266)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__267)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__268 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__268)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__270 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__270)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__271 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__271)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__272 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__272)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__273 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__273)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":6786
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */
  __pyx_codeobj__274 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 6786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__274)) __PYX_ERR(1, 6786, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__275 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__275)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__276 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__276)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__277 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__277)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__278 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__278)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__280 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__280)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__281 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__282 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__282)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":7844
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */
  __pyx_codeobj__283 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 7844, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__283)) __PYX_ERR(1, 7844, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__284 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__284)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__285 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__285)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__286 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__286)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__288 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__288)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__289)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__290 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__290)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__292 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__292)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__293 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__293)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__294 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__294)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__295 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__295)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__296 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__296)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__297)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__298 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__298)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__300 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__300)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__301 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__303 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__303)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__304 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__304)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__305 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__305)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__306 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__306)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__308 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__308)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__309 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__309)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__310 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__310)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__311 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__312 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__312)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__313 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__313)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":9617
 *         self.previous_last_child = NULL
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_tuple__314 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_m); if (unlikely(!__pyx_tuple__314)) __PYX_ERR(1, 9617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__314);
  __Pyx_GIVEREF(__pyx_tuple__314);
  __pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_update_layout, 9617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) __PYX_ERR(1, 9617, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__316 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__316)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":9743
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_codeobj__318 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_update_layout, 9743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__318)) __PYX_ERR(1, 9743, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__319)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__320 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__320)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":9994
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_codeobj__321 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_update_layout, 9994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__321)) __PYX_ERR(1, 9994, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__322 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__322)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__323 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__323)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__324 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__324)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__325 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__325)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__326 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__326)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__327)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__328 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__328)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__329 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__329)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__330 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__330)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__331 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__331)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__333 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__333)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__334)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__335 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__335)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__337 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__337)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__338 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__338)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__339 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__339)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":12030
 *         self.filtering_mode = 0
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] imgui_m
 *         # Note: textures might be referenced during imgui rendering.
 */
  __pyx_tuple__340 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_imgui_m); if (unlikely(!__pyx_tuple__340)) __PYX_ERR(1, 12030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__340);
  __Pyx_GIVEREF(__pyx_tuple__340);
  __pyx_codeobj__341 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__340, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_delalloc, 12030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__341)) __PYX_ERR(1, 12030, __pyx_L1_error)

  /* "dearcygui/core.pyx":12040
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 * 
 *     def configure(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 */
  __pyx_tuple__342 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__342)) __PYX_ERR(1, 12040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__342);
  __Pyx_GIVEREF(__pyx_tuple__342);
  __pyx_codeobj__343 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__342, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 12040, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__343)) __PYX_ERR(1, 12040, __pyx_L1_error)

  /* "dearcygui/core.pyx":12097
 *         return self._num_chans
 * 
 *     def set_value(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Pass an array as texture data.
 */
  __pyx_tuple__344 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_value); if (unlikely(!__pyx_tuple__344)) __PYX_ERR(1, 12097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__344);
  __Pyx_GIVEREF(__pyx_tuple__344);
  __pyx_codeobj__345 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__344, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_set_value, 12097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__345)) __PYX_ERR(1, 12097, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__346 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__346)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__347 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__347)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":12201
 *             raise MemoryError("Failed to upload target texture")
 * 
 * def get_system_fonts():             # <<<<<<<<<<<<<<
 *     """
 *     Returns a list of available fonts
 */
  __pyx_tuple__348 = PyTuple_Pack(3, __pyx_n_s_fonts_filename, __pyx_n_s_get_system_fonts_filename, __pyx_n_s_FindSystemFontsFilenameException); if (unlikely(!__pyx_tuple__348)) __PYX_ERR(1, 12201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__348);
  __Pyx_GIVEREF(__pyx_tuple__348);
  __pyx_codeobj__349 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__348, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_get_system_fonts, 12201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__349)) __PYX_ERR(1, 12201, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__350 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__350)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__351 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__351)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":12274
 *         self.fonts = []
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         self.atlas.Clear() # Unsure if needed
 * 
 */
  __pyx_codeobj__352 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_delalloc, 12274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__352)) __PYX_ERR(1, 12274, __pyx_L1_error)

  /* "dearcygui/core.pyx":12277
 *         self.atlas.Clear() # Unsure if needed
 * 
 *     def add_font_file(self,             # <<<<<<<<<<<<<<
 *                       str path,
 *                       float size=13.,
 */
  __pyx_tuple__353 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_path, __pyx_n_s_size, __pyx_n_s_index_in_file, __pyx_n_s_density_scale, __pyx_n_s_subpixel, __pyx_n_s_m, __pyx_n_s_config, __pyx_n_s_path_string, __pyx_n_s_font, __pyx_n_s_font_object); if (unlikely(!__pyx_tuple__353)) __PYX_ERR(1, 12277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__353);
  __Pyx_GIVEREF(__pyx_tuple__353);
  __pyx_codeobj__354 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__353, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_add_font_file, 12277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__354)) __PYX_ERR(1, 12277, __pyx_L1_error)
  __pyx_tuple__355 = PyTuple_Pack(4, __pyx_float_13_, __pyx_int_0, __pyx_float_1_, Py_True); if (unlikely(!__pyx_tuple__355)) __PYX_ERR(1, 12277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__355);
  __Pyx_GIVEREF(__pyx_tuple__355);

  /* "dearcygui/core.pyx":12347
 *         return self.fonts[index]
 * 
 *     def build(self):             # <<<<<<<<<<<<<<
 *         """
 *         Packs all the fonts appended with add_font_file
 */
  __pyx_tuple__356 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_data, __pyx_n_s_width, __pyx_n_s_height, __pyx_n_s_bpp, __pyx_n_s_data_array); if (unlikely(!__pyx_tuple__356)) __PYX_ERR(1, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__356);
  __Pyx_GIVEREF(__pyx_tuple__356);
  __pyx_codeobj__357 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__356, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_build, 12347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__357)) __PYX_ERR(1, 12347, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__358 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__358)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__359 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__359)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":12392
 *         self.can_have_sibling = True
 *         self.enabled = True
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)
 */
  __pyx_codeobj__360 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_configure, 12392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__360)) __PYX_ERR(1, 12392, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__361 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__361)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__362 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__362)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":12962
 *         append_obj_vector(self._handlers, items)
 * 
 *     def fit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Request for a fit of min/max to the data the next time the plot is drawn
 */
  __pyx_codeobj__363 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_fit, 12962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__363)) __PYX_ERR(1, 12962, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__364 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__364)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__365 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__365)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__366 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__366)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__367 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__367)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__368 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__368)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__369 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__369)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__370 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__370)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__371 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__371)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__372 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__372)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__373 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__373)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__374 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__374)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__375 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__375)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__377 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__377)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__378 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__378)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__379 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__379)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__380 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__380)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__381 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__381)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__382 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__382)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__383 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__383)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__384 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__384)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__385 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__385)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__386 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__386)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__387 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__387)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__388 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__388)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__389 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__389)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__390 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__390)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__391 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__391)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__392 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__392)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__393 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__393)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__394 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__394)) __PYX_ERR(2, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__395 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__395)) __PYX_ERR(2, 3, __pyx_L1_error)

  /* "dearcygui/core.pyx":15376
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 * 
 * def color_as_int(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     return int(color)
 */
  __pyx_tuple__396 = PyTuple_Pack(2, __pyx_n_s_val, __pyx_n_s_color); if (unlikely(!__pyx_tuple__396)) __PYX_ERR(1, 15376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__396);
  __Pyx_GIVEREF(__pyx_tuple__396);
  __pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__396, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_color_as_int, 15376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(1, 15376, __pyx_L1_error)

  /* "dearcygui/core.pyx":15380
 *     return int(color)
 * 
 * def color_as_ints(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */
  __pyx_tuple__398 = PyTuple_Pack(3, __pyx_n_s_val, __pyx_n_s_color, __pyx_n_s_color_vec); if (unlikely(!__pyx_tuple__398)) __PYX_ERR(1, 15380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__398);
  __Pyx_GIVEREF(__pyx_tuple__398);
  __pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__398, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_color_as_ints, 15380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(1, 15380, __pyx_L1_error)

  /* "dearcygui/core.pyx":15388
 *             int(255. * color_vec.w))
 * 
 * def color_as_floats(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */
  __pyx_codeobj__400 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__398, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_dearcygui_core_pyx, __pyx_n_s_color_as_floats, 15388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__400)) __PYX_ERR(1, 15388, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}
/* #### Code section: init_constants ### */

static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
  __pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type;
  __pyx_umethod_PyDict_Type_get.method_name = &__pyx_n_s_get;
  __pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
  __pyx_umethod_PyList_Type_pop.method_name = &__pyx_n_s_pop;
  if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(1, 1, __pyx_L1_error);
  __pyx_float_0_ = PyFloat_FromDouble(0.); if (unlikely(!__pyx_float_0_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_1_ = PyFloat_FromDouble(1.); if (unlikely(!__pyx_float_1_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_2_ = PyFloat_FromDouble(2.); if (unlikely(!__pyx_float_2_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_13_ = PyFloat_FromDouble(13.); if (unlikely(!__pyx_float_13_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_100_ = PyFloat_FromDouble(100.); if (unlikely(!__pyx_float_100_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_0_005 = PyFloat_FromDouble(0.005); if (unlikely(!__pyx_float_0_005)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_float_neg_1_ = PyFloat_FromDouble(-1.); if (unlikely(!__pyx_float_neg_1_)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_112105877 = PyInt_FromLong(112105877L); if (unlikely(!__pyx_int_112105877)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_136983863 = PyInt_FromLong(136983863L); if (unlikely(!__pyx_int_136983863)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_184977713 = PyInt_FromLong(184977713L); if (unlikely(!__pyx_int_184977713)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_222419149 = PyInt_FromLong(222419149L); if (unlikely(!__pyx_int_222419149)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_228825662 = PyInt_FromLong(228825662L); if (unlikely(!__pyx_int_228825662)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_238750788 = PyInt_FromLong(238750788L); if (unlikely(!__pyx_int_238750788)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_globals ### */

static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
  /* AssertionsEnabled.init */
  if (likely(__Pyx_init_assertions_enabled() == 0)); else

if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L1_error)

  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_module ### */

static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/

static int __Pyx_modinit_global_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __Pyx_OrderedDict = Py_None; Py_INCREF(Py_None);
  __Pyx_EnumBase = Py_None; Py_INCREF(Py_None);
  __Pyx_FlagBase = Py_None; Py_INCREF(Py_None);
  __pyx_collections_abc_Sequence = Py_None; Py_INCREF(Py_None);
  generic = Py_None; Py_INCREF(Py_None);
  strided = Py_None; Py_INCREF(Py_None);
  indirect = Py_None; Py_INCREF(Py_None);
  contiguous = Py_None; Py_INCREF(Py_None);
  indirect_contiguous = Py_None; Py_INCREF(Py_None);
  __Pyx_globals = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(void) {
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  if (__Pyx_ExportFunction("lock_gil_friendly_block", (void (*)(void))__pyx_f_9dearcygui_4core_lock_gil_friendly_block, "void (std::unique_lock<std::recursive_mutex>  &)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("update_current_mouse_states", (void (*)(void))__pyx_f_9dearcygui_4core_update_current_mouse_states, "void (struct __pyx_t_9dearcygui_4core_itemState &)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_ColorConvertFloat4ToU32", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_ColorConvertFloat4ToU32, "ImU32 (ImVec4)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_ColorConvertU32ToFloat4", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_ColorConvertU32ToFloat4, "ImVec4 (ImU32)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_GetStyleColorName", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_GetStyleColorName, "char const *(int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_PushStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_PushStyleColor, "void (int, ImU32)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_PopStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_PopStyleColor, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imnodes_PushStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_imnodes_PushStyleColor, "void (int, ImU32)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imnodes_PopStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_imnodes_PopStyleColor, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_GetStyleColorName", (void (*)(void))__pyx_f_9dearcygui_4core_implot_GetStyleColorName, "char const *(int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PushStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PushStyleColor, "void (int, ImU32)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PopStyleColor", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PopStyleColor, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_PushStyleVar1", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_PushStyleVar1, "void (int, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_PushStyleVar2", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_PushStyleVar2, "void (int, ImVec2)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_PopStyleVar", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_PopStyleVar, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PushStyleVar0", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PushStyleVar0, "void (int, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PushStyleVar1", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PushStyleVar1, "void (int, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PushStyleVar2", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PushStyleVar2, "void (int, ImVec2)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("implot_PopStyleVar", (void (*)(void))__pyx_f_9dearcygui_4core_implot_PopStyleVar, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imnodes_PushStyleVar1", (void (*)(void))__pyx_f_9dearcygui_4core_imnodes_PushStyleVar1, "void (int, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imnodes_PushStyleVar2", (void (*)(void))__pyx_f_9dearcygui_4core_imnodes_PushStyleVar2, "void (int, ImVec2)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imnodes_PopStyleVar", (void (*)(void))__pyx_f_9dearcygui_4core_imnodes_PopStyleVar, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("imgui_SetMouseCursor", (void (*)(void))__pyx_f_9dearcygui_4core_imgui_SetMouseCursor, "void (int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_init_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  __pyx_vtabptr_9dearcygui_4core_Context = &__pyx_vtable_9dearcygui_4core_Context;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_noarg = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_7Context_queue_callback_noarg;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1obj = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1obj;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1int = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1float = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, float))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1float;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1value = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_SharedValue *))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1value;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1int1float = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, float))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int1float;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg2float = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, float, float))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg2float;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg2double = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, double, double))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg2double;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg1int2float = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, float, float))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg1int2float;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg4int = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, int, int, int, int))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg4int;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_arg3long1int = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG, PY_LONG_LONG, PY_LONG_LONG, int))__pyx_f_9dearcygui_4core_7Context_queue_callback_arg3long1int;
  __pyx_vtable_9dearcygui_4core_Context.queue_callback_argdoubletriplet = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_Callback *, struct __pyx_obj_9dearcygui_4core_baseItem *, struct __pyx_obj_9dearcygui_4core_baseItem *, double, double, double, double, double, double))__pyx_f_9dearcygui_4core_7Context_queue_callback_argdoubletriplet;
  __pyx_vtable_9dearcygui_4core_Context.register_item = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG))__pyx_f_9dearcygui_4core_7Context_register_item;
  __pyx_vtable_9dearcygui_4core_Context.update_registered_item_tag = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, PY_LONG_LONG, PyObject *))__pyx_f_9dearcygui_4core_7Context_update_registered_item_tag;
  __pyx_vtable_9dearcygui_4core_Context.unregister_item = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, PY_LONG_LONG))__pyx_f_9dearcygui_4core_7Context_unregister_item;
  __pyx_vtable_9dearcygui_4core_Context.get_registered_item_from_uuid = (struct __pyx_obj_9dearcygui_4core_baseItem *(*)(struct __pyx_obj_9dearcygui_4core_Context *, PY_LONG_LONG))__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_uuid;
  __pyx_vtable_9dearcygui_4core_Context.get_registered_item_from_tag = (struct __pyx_obj_9dearcygui_4core_baseItem *(*)(struct __pyx_obj_9dearcygui_4core_Context *, PyObject *))__pyx_f_9dearcygui_4core_7Context_get_registered_item_from_tag;
  __pyx_vtable_9dearcygui_4core_Context.push_next_parent = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_push_next_parent;
  __pyx_vtable_9dearcygui_4core_Context.pop_next_parent = (void (*)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_pop_next_parent;
  __pyx_vtable_9dearcygui_4core_Context.fetch_parent_queue_back = (PyObject *(*)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_back;
  __pyx_vtable_9dearcygui_4core_Context.fetch_parent_queue_front = (PyObject *(*)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_fetch_parent_queue_front;
  __pyx_vtable_9dearcygui_4core_Context.fetch_last_created_item = (PyObject *(*)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_fetch_last_created_item;
  __pyx_vtable_9dearcygui_4core_Context.fetch_last_created_container = (PyObject *(*)(struct __pyx_obj_9dearcygui_4core_Context *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_7Context_fetch_last_created_container;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_9dearcygui_4core_Context = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Context_spec, NULL); if (unlikely(!__pyx_ptype_9dearcygui_4core_Context)) __PYX_ERR(1, 113, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Context_spec, __pyx_ptype_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Context = &__pyx_type_9dearcygui_4core_Context;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Context->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Context->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Context->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Context->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_9dearcygui_4core_Context, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 113, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9dearcygui_4core_7Context___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9dearcygui_4core_7Context___init__.doc = __pyx_doc_9dearcygui_4core_7Context___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9dearcygui_4core_7Context___init__;
    }
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_9dearcygui_4core_Context, "__getitem__"); if (unlikely(!wrapper)) __PYX_ERR(1, 113, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9dearcygui_4core_7Context_8__getitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9dearcygui_4core_7Context_8__getitem__.doc = __pyx_doc_9dearcygui_4core_7Context_8__getitem__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9dearcygui_4core_7Context_8__getitem__;
    }
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Context, __pyx_vtabptr_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Context, (PyObject *) __pyx_ptype_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Context) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_baseItem = &__pyx_vtable_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_baseItem.lock_parent_and_item_mutex = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, std::unique_lock<std::recursive_mutex>  &, std::unique_lock<std::recursive_mutex>  &))__pyx_f_9dearcygui_4core_8baseItem_lock_parent_and_item_mutex;
  __pyx_vtable_9dearcygui_4core_baseItem.lock_and_previous_siblings = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_lock_and_previous_siblings;
  __pyx_vtable_9dearcygui_4core_baseItem.unlock_and_previous_siblings = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_unlock_and_previous_siblings;
  __pyx_vtable_9dearcygui_4core_baseItem._baseItem__check_rendered = (int (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem__baseItem__check_rendered;
  __pyx_vtable_9dearcygui_4core_baseItem.attach_to_parent = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, PyObject *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_8baseItem_attach_to_parent;
  __pyx_vtable_9dearcygui_4core_baseItem.attach_before = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, PyObject *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_8baseItem_attach_before;
  __pyx_vtable_9dearcygui_4core_baseItem._baseItem__detach_item_and_lock = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, std::unique_lock<std::recursive_mutex>  &))__pyx_f_9dearcygui_4core_8baseItem__baseItem__detach_item_and_lock;
  __pyx_vtable_9dearcygui_4core_baseItem.detach_item = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_8baseItem_detach_item;
  __pyx_vtable_9dearcygui_4core_baseItem.delete_item = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *, int __pyx_skip_dispatch))__pyx_f_9dearcygui_4core_8baseItem_delete_item;
  __pyx_vtable_9dearcygui_4core_baseItem._baseItem__delete_and_siblings = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem__baseItem__delete_and_siblings;
  __pyx_vtable_9dearcygui_4core_baseItem.set_previous_states = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_set_previous_states;
  __pyx_vtable_9dearcygui_4core_baseItem.run_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_run_handlers;
  __pyx_vtable_9dearcygui_4core_baseItem.update_current_state_as_hidden = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_update_current_state_as_hidden;
  __pyx_vtable_9dearcygui_4core_baseItem.propagate_hidden_state_to_children_with_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_with_handlers;
  __pyx_vtable_9dearcygui_4core_baseItem.propagate_hidden_state_to_children_no_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_propagate_hidden_state_to_children_no_handlers;
  __pyx_vtable_9dearcygui_4core_baseItem.set_hidden_and_propagate_to_siblings_with_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_with_handlers;
  __pyx_vtable_9dearcygui_4core_baseItem.set_hidden_and_propagate_to_siblings_no_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_set_hidden_and_propagate_to_siblings_no_handlers;
  __pyx_vtable_9dearcygui_4core_baseItem.set_hidden_no_handler_and_propagate_to_children_with_handlers = (void (*)(struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_8baseItem_set_hidden_no_handler_and_propagate_to_children_with_handlers;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_9dearcygui_4core_baseItem = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_baseItem_spec, NULL); if (unlikely(!__pyx_ptype_9dearcygui_4core_baseItem)) __PYX_ERR(1, 775, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_baseItem_spec, __pyx_ptype_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_baseItem = &__pyx_type_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_baseItem->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_baseItem->tp_dictoffset && __pyx_ptype_9dearcygui_4core_baseItem->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_baseItem->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_baseItem, __pyx_vtabptr_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_baseItem, (PyObject *) __pyx_ptype_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_baseItem->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_baseItem->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_baseItem, __weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_baseItem) < 0) __PYX_ERR(1, 775, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Viewport = &__pyx_vtable_9dearcygui_4core_Viewport;
  __pyx_vtable_9dearcygui_4core_Viewport.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_Viewport._Viewport__check_initialized = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport__Viewport__check_initialized;
  __pyx_vtable_9dearcygui_4core_Viewport._Viewport__check_not_initialized = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport__Viewport__check_not_initialized;
  __pyx_vtable_9dearcygui_4core_Viewport._Viewport__on_resize = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int))__pyx_f_9dearcygui_4core_8Viewport__Viewport__on_resize;
  __pyx_vtable_9dearcygui_4core_Viewport._Viewport__on_close = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport__Viewport__on_close;
  __pyx_vtable_9dearcygui_4core_Viewport._Viewport__render = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport__Viewport__render;
  __pyx_vtable_9dearcygui_4core_Viewport.apply_current_transform = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *, float *, double *))__pyx_f_9dearcygui_4core_8Viewport_apply_current_transform;
  __pyx_vtable_9dearcygui_4core_Viewport.push_pending_theme_actions = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *, enum __pyx_t_9dearcygui_4core_theme_enablers, enum __pyx_t_9dearcygui_4core_theme_categories))__pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions;
  __pyx_vtable_9dearcygui_4core_Viewport.push_pending_theme_actions_on_subset = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *, int, int))__pyx_f_9dearcygui_4core_8Viewport_push_pending_theme_actions_on_subset;
  __pyx_vtable_9dearcygui_4core_Viewport.pop_applied_pending_theme_actions = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport_pop_applied_pending_theme_actions;
  __pyx_vtable_9dearcygui_4core_Viewport.cwake = (void (*)(struct __pyx_obj_9dearcygui_4core_Viewport *))__pyx_f_9dearcygui_4core_8Viewport_cwake;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Viewport = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Viewport_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Viewport)) __PYX_ERR(1, 1955, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Viewport_spec, __pyx_ptype_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Viewport = &__pyx_type_9dearcygui_4core_Viewport;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Viewport->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Viewport->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Viewport->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Viewport->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Viewport->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Viewport, __pyx_vtabptr_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Viewport, (PyObject *) __pyx_ptype_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Viewport->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Viewport->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Viewport, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Viewport) < 0) __PYX_ERR(1, 1955, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_9dearcygui_4core_Callback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Callback_spec, NULL); if (unlikely(!__pyx_ptype_9dearcygui_4core_Callback)) __PYX_ERR(1, 2860, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Callback_spec, __pyx_ptype_9dearcygui_4core_Callback) < 0) __PYX_ERR(1, 2860, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Callback = &__pyx_type_9dearcygui_4core_Callback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Callback) < 0) __PYX_ERR(1, 2860, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Callback->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Callback->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Callback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Callback->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Callback_2, (PyObject *) __pyx_ptype_9dearcygui_4core_Callback) < 0) __PYX_ERR(1, 2860, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Callback) < 0) __PYX_ERR(1, 2860, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_drawingItem = &__pyx_vtable_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_drawingItem.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_drawingItem.draw_prev_siblings = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_11drawingItem_draw_prev_siblings;
  __pyx_vtable_9dearcygui_4core_drawingItem.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_11drawingItem_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_drawingItem = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_drawingItem_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_drawingItem)) __PYX_ERR(1, 2989, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_drawingItem_spec, __pyx_ptype_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_drawingItem = &__pyx_type_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_drawingItem->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_drawingItem->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_drawingItem->tp_dictoffset && __pyx_ptype_9dearcygui_4core_drawingItem->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_drawingItem->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_drawingItem, __pyx_vtabptr_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_drawingItem, (PyObject *) __pyx_ptype_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_drawingItem->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_drawingItem->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_drawingItem, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_drawingItem) < 0) __PYX_ERR(1, 2989, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawingList = &__pyx_vtable_9dearcygui_4core_DrawingList;
  __pyx_vtable_9dearcygui_4core_DrawingList.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawingList.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_11DrawingList_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawingList = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawingList_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawingList)) __PYX_ERR(1, 3030, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawingList_spec, __pyx_ptype_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawingList = &__pyx_type_9dearcygui_4core_DrawingList;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawingList->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawingList->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawingList->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawingList->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawingList->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawingList, __pyx_vtabptr_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawingList, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawingList->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawingList->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawingList, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawingList) < 0) __PYX_ERR(1, 3030, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawingListScale = &__pyx_vtable_9dearcygui_4core_DrawingListScale;
  __pyx_vtable_9dearcygui_4core_DrawingListScale.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawingListScale.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_16DrawingListScale_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawingListScale = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawingListScale_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawingListScale)) __PYX_ERR(1, 3051, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawingListScale_spec, __pyx_ptype_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawingListScale = &__pyx_type_9dearcygui_4core_DrawingListScale;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawingListScale->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawingListScale->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawingListScale->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawingListScale->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawingListScale->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawingListScale, __pyx_vtabptr_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawingListScale, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawingListScale->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawingListScale->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawingListScale, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawingListScale) < 0) __PYX_ERR(1, 3051, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawArrow_ = &__pyx_vtable_9dearcygui_4core_DrawArrow_;
  __pyx_vtable_9dearcygui_4core_DrawArrow_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawArrow_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_10DrawArrow__draw;
  __pyx_vtable_9dearcygui_4core_DrawArrow_._DrawArrow___compute_tip = (void (*)(struct __pyx_obj_9dearcygui_4core_DrawArrow_ *))__pyx_f_9dearcygui_4core_10DrawArrow___DrawArrow___compute_tip;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawArrow_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawArrow__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawArrow_)) __PYX_ERR(1, 3165, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawArrow__spec, __pyx_ptype_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawArrow_ = &__pyx_type_9dearcygui_4core_DrawArrow_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawArrow_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawArrow_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawArrow_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawArrow_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawArrow_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawArrow_, __pyx_vtabptr_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawArrow, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawArrow_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawArrow_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawArrow_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawArrow_) < 0) __PYX_ERR(1, 3165, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawBezierCubic_ = &__pyx_vtable_9dearcygui_4core_DrawBezierCubic_;
  __pyx_vtable_9dearcygui_4core_DrawBezierCubic_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawBezierCubic_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_16DrawBezierCubic__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawBezierCubic_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawBezierCubic__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawBezierCubic_)) __PYX_ERR(1, 3231, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawBezierCubic__spec, __pyx_ptype_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawBezierCubic_ = &__pyx_type_9dearcygui_4core_DrawBezierCubic_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawBezierCubic_, __pyx_vtabptr_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawBezierCubic, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawBezierCubic_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawBezierCubic_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawBezierCubic_) < 0) __PYX_ERR(1, 3231, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawBezierQuadratic_ = &__pyx_vtable_9dearcygui_4core_DrawBezierQuadratic_;
  __pyx_vtable_9dearcygui_4core_DrawBezierQuadratic_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawBezierQuadratic_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_20DrawBezierQuadratic__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawBezierQuadratic__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_)) __PYX_ERR(1, 3264, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawBezierQuadratic__spec, __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_ = &__pyx_type_9dearcygui_4core_DrawBezierQuadratic_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_, __pyx_vtabptr_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawBezierQuadratic, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawBezierQuadratic_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawBezierQuadratic_) < 0) __PYX_ERR(1, 3264, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawCircle_ = &__pyx_vtable_9dearcygui_4core_DrawCircle_;
  __pyx_vtable_9dearcygui_4core_DrawCircle_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawCircle_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_11DrawCircle__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawCircle_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawCircle__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawCircle_)) __PYX_ERR(1, 3295, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawCircle__spec, __pyx_ptype_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawCircle_ = &__pyx_type_9dearcygui_4core_DrawCircle_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawCircle_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawCircle_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawCircle_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawCircle_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawCircle_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawCircle_, __pyx_vtabptr_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawCircle, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawCircle_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawCircle_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawCircle_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawCircle_) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawEllipse_ = &__pyx_vtable_9dearcygui_4core_DrawEllipse_;
  __pyx_vtable_9dearcygui_4core_DrawEllipse_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawEllipse_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_12DrawEllipse__draw;
  __pyx_vtable_9dearcygui_4core_DrawEllipse_._DrawEllipse___fill_points = (void (*)(struct __pyx_obj_9dearcygui_4core_DrawEllipse_ *))__pyx_f_9dearcygui_4core_12DrawEllipse___DrawEllipse___fill_points;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawEllipse_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawEllipse__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawEllipse_)) __PYX_ERR(1, 3329, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawEllipse__spec, __pyx_ptype_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawEllipse_ = &__pyx_type_9dearcygui_4core_DrawEllipse_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawEllipse_, __pyx_vtabptr_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawEllipse, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawEllipse_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawEllipse_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawEllipse_) < 0) __PYX_ERR(1, 3329, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawImage_ = &__pyx_vtable_9dearcygui_4core_DrawImage_;
  __pyx_vtable_9dearcygui_4core_DrawImage_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawImage_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_10DrawImage__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawImage_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawImage__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawImage_)) __PYX_ERR(1, 3392, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawImage__spec, __pyx_ptype_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawImage_ = &__pyx_type_9dearcygui_4core_DrawImage_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawImage_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawImage_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawImage_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawImage_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawImage_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawImage_, __pyx_vtabptr_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawImage, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawImage_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawImage_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawImage_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawImage_) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawImageQuad_ = &__pyx_vtable_9dearcygui_4core_DrawImageQuad_;
  __pyx_vtable_9dearcygui_4core_DrawImageQuad_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawImageQuad_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_14DrawImageQuad__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawImageQuad_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawImageQuad__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawImageQuad_)) __PYX_ERR(1, 3420, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawImageQuad__spec, __pyx_ptype_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawImageQuad_ = &__pyx_type_9dearcygui_4core_DrawImageQuad_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawImageQuad_, __pyx_vtabptr_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawImageQuad, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawImageQuad_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawImageQuad_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawImageQuad_) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawLine_ = &__pyx_vtable_9dearcygui_4core_DrawLine_;
  __pyx_vtable_9dearcygui_4core_DrawLine_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawLine_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_9DrawLine__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawLine_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawLine__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawLine_)) __PYX_ERR(1, 3466, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawLine__spec, __pyx_ptype_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawLine_ = &__pyx_type_9dearcygui_4core_DrawLine_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawLine_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawLine_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawLine_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawLine_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawLine_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawLine_, __pyx_vtabptr_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawLine, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawLine_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawLine_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawLine_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawLine_) < 0) __PYX_ERR(1, 3466, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawPolyline_ = &__pyx_vtable_9dearcygui_4core_DrawPolyline_;
  __pyx_vtable_9dearcygui_4core_DrawPolyline_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawPolyline_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_13DrawPolyline__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawPolyline_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawPolyline__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawPolyline_)) __PYX_ERR(1, 3492, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawPolyline__spec, __pyx_ptype_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawPolyline_ = &__pyx_type_9dearcygui_4core_DrawPolyline_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawPolyline_, __pyx_vtabptr_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawPolyline, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawPolyline_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawPolyline_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawPolyline_) < 0) __PYX_ERR(1, 3492, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawPolygon_ = &__pyx_vtable_9dearcygui_4core_DrawPolygon_;
  __pyx_vtable_9dearcygui_4core_DrawPolygon_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawPolygon_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_12DrawPolygon__draw;
  __pyx_vtable_9dearcygui_4core_DrawPolygon_._DrawPolygon___triangulate = (void (*)(struct __pyx_obj_9dearcygui_4core_DrawPolygon_ *))__pyx_f_9dearcygui_4core_12DrawPolygon___DrawPolygon___triangulate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawPolygon_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawPolygon__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawPolygon_)) __PYX_ERR(1, 3535, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawPolygon__spec, __pyx_ptype_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawPolygon_ = &__pyx_type_9dearcygui_4core_DrawPolygon_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawPolygon_, __pyx_vtabptr_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawPolygon, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawPolygon_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawPolygon_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawPolygon_) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawQuad_ = &__pyx_vtable_9dearcygui_4core_DrawQuad_;
  __pyx_vtable_9dearcygui_4core_DrawQuad_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawQuad_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_9DrawQuad__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawQuad_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawQuad__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawQuad_)) __PYX_ERR(1, 3610, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawQuad__spec, __pyx_ptype_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawQuad_ = &__pyx_type_9dearcygui_4core_DrawQuad_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawQuad_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawQuad_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawQuad_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawQuad_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawQuad_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawQuad_, __pyx_vtabptr_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawQuad, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawQuad_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawQuad_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawQuad_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawQuad_) < 0) __PYX_ERR(1, 3610, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawRect_ = &__pyx_vtable_9dearcygui_4core_DrawRect_;
  __pyx_vtable_9dearcygui_4core_DrawRect_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawRect_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_9DrawRect__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawRect_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawRect__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawRect_)) __PYX_ERR(1, 3671, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawRect__spec, __pyx_ptype_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawRect_ = &__pyx_type_9dearcygui_4core_DrawRect_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawRect_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawRect_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawRect_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawRect_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawRect_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawRect_, __pyx_vtabptr_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawRect, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawRect_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawRect_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawRect_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawRect_) < 0) __PYX_ERR(1, 3671, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawText_ = &__pyx_vtable_9dearcygui_4core_DrawText_;
  __pyx_vtable_9dearcygui_4core_DrawText_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawText_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_9DrawText__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawText_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawText__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawText_)) __PYX_ERR(1, 3745, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawText__spec, __pyx_ptype_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawText_ = &__pyx_type_9dearcygui_4core_DrawText_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawText_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawText_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawText_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawText_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawText_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawText_, __pyx_vtabptr_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawText, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawText_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawText_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawText_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawText_) < 0) __PYX_ERR(1, 3745, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawTriangle_ = &__pyx_vtable_9dearcygui_4core_DrawTriangle_;
  __pyx_vtable_9dearcygui_4core_DrawTriangle_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawTriangle_.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_13DrawTriangle__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawTriangle_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawTriangle__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawTriangle_)) __PYX_ERR(1, 3768, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawTriangle__spec, __pyx_ptype_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawTriangle_ = &__pyx_type_9dearcygui_4core_DrawTriangle_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawTriangle_, __pyx_vtabptr_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawTriangle, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawTriangle_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawTriangle_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawTriangle_) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawInvisibleButton = &__pyx_vtable_9dearcygui_4core_DrawInvisibleButton;
  __pyx_vtable_9dearcygui_4core_DrawInvisibleButton.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_drawingItem;
  __pyx_vtable_9dearcygui_4core_DrawInvisibleButton.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_drawingItem *, ImDrawList *))__pyx_f_9dearcygui_4core_19DrawInvisibleButton_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_drawingItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawInvisibleButton = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawInvisibleButton_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawInvisibleButton)) __PYX_ERR(1, 3872, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawInvisibleButton_spec, __pyx_ptype_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawInvisibleButton = &__pyx_type_9dearcygui_4core_DrawInvisibleButton;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_base = __pyx_ptype_9dearcygui_4core_drawingItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawInvisibleButton, __pyx_vtabptr_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawInvisibleButton, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawInvisibleButton->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawInvisibleButton, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawInvisibleButton) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ViewportDrawList_ = &__pyx_vtable_9dearcygui_4core_ViewportDrawList_;
  __pyx_vtable_9dearcygui_4core_ViewportDrawList_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_ViewportDrawList_.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_ *))__pyx_f_9dearcygui_4core_17ViewportDrawList__draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ViewportDrawList_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ViewportDrawList__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ViewportDrawList_)) __PYX_ERR(1, 4472, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ViewportDrawList__spec, __pyx_ptype_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ViewportDrawList_ = &__pyx_type_9dearcygui_4core_ViewportDrawList_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ViewportDrawList_, __pyx_vtabptr_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ViewportDrawList, (PyObject *) __pyx_ptype_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ViewportDrawList_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ViewportDrawList_, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ViewportDrawList_) < 0) __PYX_ERR(1, 4472, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedValue = &__pyx_vtable_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedValue.on_update = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedValue *, int))__pyx_f_9dearcygui_4core_11SharedValue_on_update;
  __pyx_vtable_9dearcygui_4core_SharedValue.inc_num_attached = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedValue *))__pyx_f_9dearcygui_4core_11SharedValue_inc_num_attached;
  __pyx_vtable_9dearcygui_4core_SharedValue.dec_num_attached = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedValue *))__pyx_f_9dearcygui_4core_11SharedValue_dec_num_attached;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_9dearcygui_4core_SharedValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedValue_spec, NULL); if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedValue)) __PYX_ERR(1, 4812, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedValue_spec, __pyx_ptype_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedValue = &__pyx_type_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedValue->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedValue->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedValue->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedValue, __pyx_vtabptr_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedValue, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedValue) < 0) __PYX_ERR(1, 4812, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedBool = &__pyx_vtable_9dearcygui_4core_SharedBool;
  __pyx_vtable_9dearcygui_4core_SharedBool.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedBool.get = (int (*)(struct __pyx_obj_9dearcygui_4core_SharedBool *))__pyx_f_9dearcygui_4core_10SharedBool_get;
  __pyx_vtable_9dearcygui_4core_SharedBool.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedBool *, int))__pyx_f_9dearcygui_4core_10SharedBool_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedBool = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedBool_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedBool)) __PYX_ERR(1, 4880, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedBool_spec, __pyx_ptype_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedBool = &__pyx_type_9dearcygui_4core_SharedBool;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedBool->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedBool->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedBool->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedBool->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedBool->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedBool, __pyx_vtabptr_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedBool, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedBool) < 0) __PYX_ERR(1, 4880, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedFloat = &__pyx_vtable_9dearcygui_4core_SharedFloat;
  __pyx_vtable_9dearcygui_4core_SharedFloat.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedFloat.get = (float (*)(struct __pyx_obj_9dearcygui_4core_SharedFloat *))__pyx_f_9dearcygui_4core_11SharedFloat_get;
  __pyx_vtable_9dearcygui_4core_SharedFloat.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedFloat *, float))__pyx_f_9dearcygui_4core_11SharedFloat_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedFloat = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedFloat_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedFloat)) __PYX_ERR(1, 4905, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedFloat_spec, __pyx_ptype_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedFloat = &__pyx_type_9dearcygui_4core_SharedFloat;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedFloat->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedFloat->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedFloat->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedFloat->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedFloat->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedFloat, __pyx_vtabptr_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedFloat, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloat) < 0) __PYX_ERR(1, 4905, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedInt = &__pyx_vtable_9dearcygui_4core_SharedInt;
  __pyx_vtable_9dearcygui_4core_SharedInt.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedInt.get = (int (*)(struct __pyx_obj_9dearcygui_4core_SharedInt *))__pyx_f_9dearcygui_4core_9SharedInt_get;
  __pyx_vtable_9dearcygui_4core_SharedInt.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedInt *, int))__pyx_f_9dearcygui_4core_9SharedInt_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedInt = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedInt_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedInt)) __PYX_ERR(1, 4930, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedInt_spec, __pyx_ptype_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedInt = &__pyx_type_9dearcygui_4core_SharedInt;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedInt->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedInt->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedInt->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedInt->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedInt->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedInt, __pyx_vtabptr_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedInt, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedInt) < 0) __PYX_ERR(1, 4930, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedColor = &__pyx_vtable_9dearcygui_4core_SharedColor;
  __pyx_vtable_9dearcygui_4core_SharedColor.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedColor.getU32 = (ImU32 (*)(struct __pyx_obj_9dearcygui_4core_SharedColor *))__pyx_f_9dearcygui_4core_11SharedColor_getU32;
  __pyx_vtable_9dearcygui_4core_SharedColor.getF4 = (ImVec4 (*)(struct __pyx_obj_9dearcygui_4core_SharedColor *))__pyx_f_9dearcygui_4core_11SharedColor_getF4;
  __pyx_vtable_9dearcygui_4core_SharedColor.setU32 = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedColor *, ImU32))__pyx_f_9dearcygui_4core_11SharedColor_setU32;
  __pyx_vtable_9dearcygui_4core_SharedColor.setF4 = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedColor *, ImVec4))__pyx_f_9dearcygui_4core_11SharedColor_setF4;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedColor = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedColor_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedColor)) __PYX_ERR(1, 4955, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedColor_spec, __pyx_ptype_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedColor = &__pyx_type_9dearcygui_4core_SharedColor;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedColor->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedColor->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedColor->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedColor->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedColor->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedColor, __pyx_vtabptr_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedColor, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedColor) < 0) __PYX_ERR(1, 4955, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedDouble = &__pyx_vtable_9dearcygui_4core_SharedDouble;
  __pyx_vtable_9dearcygui_4core_SharedDouble.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedDouble.get = (double (*)(struct __pyx_obj_9dearcygui_4core_SharedDouble *))__pyx_f_9dearcygui_4core_12SharedDouble_get;
  __pyx_vtable_9dearcygui_4core_SharedDouble.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedDouble *, double))__pyx_f_9dearcygui_4core_12SharedDouble_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedDouble = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedDouble_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedDouble)) __PYX_ERR(1, 4992, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedDouble_spec, __pyx_ptype_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedDouble = &__pyx_type_9dearcygui_4core_SharedDouble;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedDouble->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedDouble->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedDouble->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedDouble->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedDouble->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedDouble, __pyx_vtabptr_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedDouble, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedDouble) < 0) __PYX_ERR(1, 4992, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedStr = &__pyx_vtable_9dearcygui_4core_SharedStr;
  __pyx_vtable_9dearcygui_4core_SharedStr.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedStr.get = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedStr *, std::string &))__pyx_f_9dearcygui_4core_9SharedStr_get;
  __pyx_vtable_9dearcygui_4core_SharedStr.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedStr *, std::string))__pyx_f_9dearcygui_4core_9SharedStr_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedStr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedStr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedStr)) __PYX_ERR(1, 5017, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedStr_spec, __pyx_ptype_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedStr = &__pyx_type_9dearcygui_4core_SharedStr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedStr->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedStr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedStr->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedStr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedStr->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedStr, __pyx_vtabptr_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedStr, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedStr) < 0) __PYX_ERR(1, 5017, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedFloat4 = &__pyx_vtable_9dearcygui_4core_SharedFloat4;
  __pyx_vtable_9dearcygui_4core_SharedFloat4.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedFloat4.get = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *, float *))__pyx_f_9dearcygui_4core_12SharedFloat4_get;
  __pyx_vtable_9dearcygui_4core_SharedFloat4.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedFloat4 *, float *))__pyx_f_9dearcygui_4core_12SharedFloat4_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedFloat4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedFloat4_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedFloat4)) __PYX_ERR(1, 5040, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedFloat4_spec, __pyx_ptype_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedFloat4 = &__pyx_type_9dearcygui_4core_SharedFloat4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedFloat4->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedFloat4->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedFloat4->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedFloat4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedFloat4->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedFloat4, __pyx_vtabptr_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedFloat4, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloat4) < 0) __PYX_ERR(1, 5040, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedInt4 = &__pyx_vtable_9dearcygui_4core_SharedInt4;
  __pyx_vtable_9dearcygui_4core_SharedInt4.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedInt4.get = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedInt4 *, int *))__pyx_f_9dearcygui_4core_10SharedInt4_get;
  __pyx_vtable_9dearcygui_4core_SharedInt4.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedInt4 *, int *))__pyx_f_9dearcygui_4core_10SharedInt4_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedInt4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedInt4_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedInt4)) __PYX_ERR(1, 5069, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedInt4_spec, __pyx_ptype_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedInt4 = &__pyx_type_9dearcygui_4core_SharedInt4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedInt4->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedInt4->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedInt4->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedInt4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedInt4->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedInt4, __pyx_vtabptr_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedInt4, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedInt4) < 0) __PYX_ERR(1, 5069, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedDouble4 = &__pyx_vtable_9dearcygui_4core_SharedDouble4;
  __pyx_vtable_9dearcygui_4core_SharedDouble4.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedDouble4.get = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *, double *))__pyx_f_9dearcygui_4core_13SharedDouble4_get;
  __pyx_vtable_9dearcygui_4core_SharedDouble4.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedDouble4 *, double *))__pyx_f_9dearcygui_4core_13SharedDouble4_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedDouble4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedDouble4_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedDouble4)) __PYX_ERR(1, 5098, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedDouble4_spec, __pyx_ptype_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedDouble4 = &__pyx_type_9dearcygui_4core_SharedDouble4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedDouble4->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedDouble4->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedDouble4->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedDouble4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedDouble4->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedDouble4, __pyx_vtabptr_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedDouble4, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedDouble4) < 0) __PYX_ERR(1, 5098, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SharedFloatVect = &__pyx_vtable_9dearcygui_4core_SharedFloatVect;
  __pyx_vtable_9dearcygui_4core_SharedFloatVect.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_SharedValue;
  __pyx_vtable_9dearcygui_4core_SharedFloatVect.get = (__Pyx_memviewslice (*)(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *))__pyx_f_9dearcygui_4core_15SharedFloatVect_get;
  __pyx_vtable_9dearcygui_4core_SharedFloatVect.set = (void (*)(struct __pyx_obj_9dearcygui_4core_SharedFloatVect *, __Pyx_memviewslice))__pyx_f_9dearcygui_4core_15SharedFloatVect_set;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_SharedValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SharedFloatVect = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SharedFloatVect_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SharedFloatVect)) __PYX_ERR(1, 5126, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SharedFloatVect_spec, __pyx_ptype_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SharedFloatVect = &__pyx_type_9dearcygui_4core_SharedFloatVect;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SharedFloatVect->tp_base = __pyx_ptype_9dearcygui_4core_SharedValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SharedFloatVect->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SharedFloatVect->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SharedFloatVect->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SharedFloatVect->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SharedFloatVect, __pyx_vtabptr_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SharedFloatVect, (PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SharedFloatVect) < 0) __PYX_ERR(1, 5126, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_baseHandler = &__pyx_vtable_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_baseHandler.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_baseHandler.check_bind = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_11baseHandler_check_bind;
  __pyx_vtable_9dearcygui_4core_baseHandler.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_11baseHandler_check_state;
  __pyx_vtable_9dearcygui_4core_baseHandler.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_11baseHandler_run_handler;
  __pyx_vtable_9dearcygui_4core_baseHandler.run_callback = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_11baseHandler_run_callback;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_baseHandler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_baseHandler_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_baseHandler)) __PYX_ERR(1, 5176, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_baseHandler_spec, __pyx_ptype_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_baseHandler = &__pyx_type_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_baseHandler->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_baseHandler->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_baseHandler->tp_dictoffset && __pyx_ptype_9dearcygui_4core_baseHandler->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_baseHandler->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_baseHandler, __pyx_vtabptr_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_baseHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_baseHandler->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_baseHandler->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_baseHandler, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_baseHandler) < 0) __PYX_ERR(1, 5176, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_KeyDownHandler_ = &__pyx_vtable_9dearcygui_4core_KeyDownHandler_;
  __pyx_vtable_9dearcygui_4core_KeyDownHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_KeyDownHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_15KeyDownHandler__check_state;
  __pyx_vtable_9dearcygui_4core_KeyDownHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_15KeyDownHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_KeyDownHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_KeyDownHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_KeyDownHandler_)) __PYX_ERR(1, 4509, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_KeyDownHandler__spec, __pyx_ptype_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_KeyDownHandler_ = &__pyx_type_9dearcygui_4core_KeyDownHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_KeyDownHandler_, __pyx_vtabptr_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KeyDownHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_KeyDownHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_KeyDownHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_KeyDownHandler_) < 0) __PYX_ERR(1, 4509, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_KeyPressHandler_ = &__pyx_vtable_9dearcygui_4core_KeyPressHandler_;
  __pyx_vtable_9dearcygui_4core_KeyPressHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_KeyPressHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_16KeyPressHandler__check_state;
  __pyx_vtable_9dearcygui_4core_KeyPressHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_16KeyPressHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_KeyPressHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_KeyPressHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_KeyPressHandler_)) __PYX_ERR(1, 4545, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_KeyPressHandler__spec, __pyx_ptype_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_KeyPressHandler_ = &__pyx_type_9dearcygui_4core_KeyPressHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_KeyPressHandler_, __pyx_vtabptr_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KeyPressHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_KeyPressHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_KeyPressHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_KeyPressHandler_) < 0) __PYX_ERR(1, 4545, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_KeyReleaseHandler_ = &__pyx_vtable_9dearcygui_4core_KeyReleaseHandler_;
  __pyx_vtable_9dearcygui_4core_KeyReleaseHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_KeyReleaseHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_18KeyReleaseHandler__check_state;
  __pyx_vtable_9dearcygui_4core_KeyReleaseHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_18KeyReleaseHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_KeyReleaseHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_)) __PYX_ERR(1, 4576, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_KeyReleaseHandler__spec, __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_ = &__pyx_type_9dearcygui_4core_KeyReleaseHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_, __pyx_vtabptr_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KeyReleaseHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_KeyReleaseHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_KeyReleaseHandler_) < 0) __PYX_ERR(1, 4576, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseClickHandler_ = &__pyx_vtable_9dearcygui_4core_MouseClickHandler_;
  __pyx_vtable_9dearcygui_4core_MouseClickHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseClickHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_18MouseClickHandler__check_state;
  __pyx_vtable_9dearcygui_4core_MouseClickHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_18MouseClickHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseClickHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseClickHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseClickHandler_)) __PYX_ERR(1, 4607, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseClickHandler__spec, __pyx_ptype_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseClickHandler_ = &__pyx_type_9dearcygui_4core_MouseClickHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseClickHandler_, __pyx_vtabptr_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseClickHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseClickHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseClickHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseClickHandler_) < 0) __PYX_ERR(1, 4607, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseDoubleClickHandler_ = &__pyx_vtable_9dearcygui_4core_MouseDoubleClickHandler_;
  __pyx_vtable_9dearcygui_4core_MouseDoubleClickHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseDoubleClickHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__check_state;
  __pyx_vtable_9dearcygui_4core_MouseDoubleClickHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_24MouseDoubleClickHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseDoubleClickHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_)) __PYX_ERR(1, 4634, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseDoubleClickHandler__spec, __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_ = &__pyx_type_9dearcygui_4core_MouseDoubleClickHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_, __pyx_vtabptr_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseDoubleClickHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseDoubleClickHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseDoubleClickHandler_) < 0) __PYX_ERR(1, 4634, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseDownHandler_ = &__pyx_vtable_9dearcygui_4core_MouseDownHandler_;
  __pyx_vtable_9dearcygui_4core_MouseDownHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseDownHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseDownHandler__check_state;
  __pyx_vtable_9dearcygui_4core_MouseDownHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseDownHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseDownHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseDownHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseDownHandler_)) __PYX_ERR(1, 4661, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseDownHandler__spec, __pyx_ptype_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseDownHandler_ = &__pyx_type_9dearcygui_4core_MouseDownHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseDownHandler_, __pyx_vtabptr_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseDownHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseDownHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseDownHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseDownHandler_) < 0) __PYX_ERR(1, 4661, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseDragHandler_ = &__pyx_vtable_9dearcygui_4core_MouseDragHandler_;
  __pyx_vtable_9dearcygui_4core_MouseDragHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseDragHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseDragHandler__check_state;
  __pyx_vtable_9dearcygui_4core_MouseDragHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseDragHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseDragHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseDragHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseDragHandler_)) __PYX_ERR(1, 4687, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseDragHandler__spec, __pyx_ptype_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseDragHandler_ = &__pyx_type_9dearcygui_4core_MouseDragHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseDragHandler_, __pyx_vtabptr_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseDragHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseDragHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseDragHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseDragHandler_) < 0) __PYX_ERR(1, 4687, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseMoveHandler = &__pyx_vtable_9dearcygui_4core_MouseMoveHandler;
  __pyx_vtable_9dearcygui_4core_MouseMoveHandler.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseMoveHandler.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_16MouseMoveHandler_check_state;
  __pyx_vtable_9dearcygui_4core_MouseMoveHandler.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_16MouseMoveHandler_run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseMoveHandler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseMoveHandler_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseMoveHandler)) __PYX_ERR(1, 4717, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseMoveHandler_spec, __pyx_ptype_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseMoveHandler = &__pyx_type_9dearcygui_4core_MouseMoveHandler;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseMoveHandler, __pyx_vtabptr_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseMoveHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseMoveHandler->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseMoveHandler, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseMoveHandler) < 0) __PYX_ERR(1, 4717, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseReleaseHandler_ = &__pyx_vtable_9dearcygui_4core_MouseReleaseHandler_;
  __pyx_vtable_9dearcygui_4core_MouseReleaseHandler_.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseReleaseHandler_.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_20MouseReleaseHandler__check_state;
  __pyx_vtable_9dearcygui_4core_MouseReleaseHandler_.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_20MouseReleaseHandler__run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseReleaseHandler__spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_)) __PYX_ERR(1, 4737, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseReleaseHandler__spec, __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_ = &__pyx_type_9dearcygui_4core_MouseReleaseHandler_;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_, __pyx_vtabptr_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseReleaseHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseReleaseHandler_, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseReleaseHandler_) < 0) __PYX_ERR(1, 4737, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MouseWheelHandler = &__pyx_vtable_9dearcygui_4core_MouseWheelHandler;
  __pyx_vtable_9dearcygui_4core_MouseWheelHandler.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseHandler;
  __pyx_vtable_9dearcygui_4core_MouseWheelHandler.__pyx_base.check_state = (int (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseWheelHandler_check_state;
  __pyx_vtable_9dearcygui_4core_MouseWheelHandler.__pyx_base.run_handler = (void (*)(struct __pyx_obj_9dearcygui_4core_baseHandler *, struct __pyx_obj_9dearcygui_4core_baseItem *))__pyx_f_9dearcygui_4core_17MouseWheelHandler_run_handler;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseHandler); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MouseWheelHandler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MouseWheelHandler_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MouseWheelHandler)) __PYX_ERR(1, 4763, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MouseWheelHandler_spec, __pyx_ptype_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MouseWheelHandler = &__pyx_type_9dearcygui_4core_MouseWheelHandler;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_base = __pyx_ptype_9dearcygui_4core_baseHandler;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MouseWheelHandler, __pyx_vtabptr_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MouseWheelHandler, (PyObject *) __pyx_ptype_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MouseWheelHandler->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MouseWheelHandler, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MouseWheelHandler) < 0) __PYX_ERR(1, 4763, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_uiItem = &__pyx_vtable_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_uiItem.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_uiItem.update_current_state = (void (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6uiItem_update_current_state;
  __pyx_vtable_9dearcygui_4core_uiItem.update_current_state_subset = (void (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6uiItem_update_current_state_subset;
  __pyx_vtable_9dearcygui_4core_uiItem.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6uiItem_draw;
  __pyx_vtable_9dearcygui_4core_uiItem.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6uiItem_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_uiItem = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_uiItem_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_uiItem)) __PYX_ERR(1, 5260, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_uiItem_spec, __pyx_ptype_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_uiItem = &__pyx_type_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_uiItem->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_uiItem->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_uiItem->tp_dictoffset && __pyx_ptype_9dearcygui_4core_uiItem->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_uiItem->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_uiItem, __pyx_vtabptr_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_uiItem, (PyObject *) __pyx_ptype_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_uiItem->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_uiItem->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_uiItem, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_uiItem) < 0) __PYX_ERR(1, 5260, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawInWindow = &__pyx_vtable_9dearcygui_4core_DrawInWindow;
  __pyx_vtable_9dearcygui_4core_DrawInWindow.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_DrawInWindow.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_12DrawInWindow_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawInWindow = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawInWindow_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawInWindow)) __PYX_ERR(1, 4389, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawInWindow_spec, __pyx_ptype_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawInWindow = &__pyx_type_9dearcygui_4core_DrawInWindow;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawInWindow->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawInWindow->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawInWindow->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawInWindow->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawInWindow->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawInWindow, __pyx_vtabptr_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawInWindow, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawInWindow->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawInWindow->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawInWindow, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawInWindow) < 0) __PYX_ERR(1, 4389, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_SimplePlot = &__pyx_vtable_9dearcygui_4core_SimplePlot;
  __pyx_vtable_9dearcygui_4core_SimplePlot.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_SimplePlot.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_10SimplePlot_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_SimplePlot = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_SimplePlot_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_SimplePlot)) __PYX_ERR(1, 6314, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_SimplePlot_spec, __pyx_ptype_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_SimplePlot = &__pyx_type_9dearcygui_4core_SimplePlot;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_SimplePlot->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_SimplePlot->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_SimplePlot->tp_dictoffset && __pyx_ptype_9dearcygui_4core_SimplePlot->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_SimplePlot->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_SimplePlot, __pyx_vtabptr_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SimplePlot, (PyObject *) __pyx_ptype_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_SimplePlot->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_SimplePlot->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_SimplePlot, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_SimplePlot) < 0) __PYX_ERR(1, 6314, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Button = &__pyx_vtable_9dearcygui_4core_Button;
  __pyx_vtable_9dearcygui_4core_Button.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Button.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6Button_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Button = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Button_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Button)) __PYX_ERR(1, 6449, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Button_spec, __pyx_ptype_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Button = &__pyx_type_9dearcygui_4core_Button;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Button->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Button->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Button->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Button->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Button->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Button, __pyx_vtabptr_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Button, (PyObject *) __pyx_ptype_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Button->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Button->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Button, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Button) < 0) __PYX_ERR(1, 6449, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Combo = &__pyx_vtable_9dearcygui_4core_Combo;
  __pyx_vtable_9dearcygui_4core_Combo.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Combo.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_5Combo_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Combo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Combo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Combo)) __PYX_ERR(1, 6543, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Combo_spec, __pyx_ptype_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Combo = &__pyx_type_9dearcygui_4core_Combo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Combo->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Combo->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Combo->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Combo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Combo->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Combo, __pyx_vtabptr_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Combo, (PyObject *) __pyx_ptype_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Combo->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Combo->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Combo, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Combo) < 0) __PYX_ERR(1, 6543, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Checkbox = &__pyx_vtable_9dearcygui_4core_Checkbox;
  __pyx_vtable_9dearcygui_4core_Checkbox.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Checkbox.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_8Checkbox_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Checkbox = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Checkbox_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Checkbox)) __PYX_ERR(1, 6748, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Checkbox_spec, __pyx_ptype_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Checkbox = &__pyx_type_9dearcygui_4core_Checkbox;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Checkbox->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Checkbox->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Checkbox->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Checkbox->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Checkbox->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Checkbox, __pyx_vtabptr_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Checkbox, (PyObject *) __pyx_ptype_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Checkbox->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Checkbox->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Checkbox, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Checkbox) < 0) __PYX_ERR(1, 6748, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Slider = &__pyx_vtable_9dearcygui_4core_Slider;
  __pyx_vtable_9dearcygui_4core_Slider.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Slider.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6Slider_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Slider = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Slider_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Slider)) __PYX_ERR(1, 6766, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Slider_spec, __pyx_ptype_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Slider = &__pyx_type_9dearcygui_4core_Slider;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Slider->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Slider->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Slider->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Slider->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Slider->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Slider, __pyx_vtabptr_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Slider, (PyObject *) __pyx_ptype_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Slider->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Slider->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Slider, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Slider) < 0) __PYX_ERR(1, 6766, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ListBox = &__pyx_vtable_9dearcygui_4core_ListBox;
  __pyx_vtable_9dearcygui_4core_ListBox.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ListBox.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_7ListBox_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ListBox = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ListBox_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ListBox)) __PYX_ERR(1, 7212, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ListBox_spec, __pyx_ptype_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ListBox = &__pyx_type_9dearcygui_4core_ListBox;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ListBox->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ListBox->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ListBox->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ListBox->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ListBox->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ListBox, __pyx_vtabptr_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ListBox, (PyObject *) __pyx_ptype_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ListBox->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ListBox->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ListBox, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ListBox) < 0) __PYX_ERR(1, 7212, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_RadioButton = &__pyx_vtable_9dearcygui_4core_RadioButton;
  __pyx_vtable_9dearcygui_4core_RadioButton.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_RadioButton.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11RadioButton_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_RadioButton = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_RadioButton_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_RadioButton)) __PYX_ERR(1, 7339, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_RadioButton_spec, __pyx_ptype_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_RadioButton = &__pyx_type_9dearcygui_4core_RadioButton;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_RadioButton->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_RadioButton->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_RadioButton->tp_dictoffset && __pyx_ptype_9dearcygui_4core_RadioButton->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_RadioButton->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_RadioButton, __pyx_vtabptr_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RadioButton, (PyObject *) __pyx_ptype_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_RadioButton->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_RadioButton->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_RadioButton, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_RadioButton) < 0) __PYX_ERR(1, 7339, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_InputText = &__pyx_vtable_9dearcygui_4core_InputText;
  __pyx_vtable_9dearcygui_4core_InputText.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_InputText.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_9InputText_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_InputText = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_InputText_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_InputText)) __PYX_ERR(1, 7430, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_InputText_spec, __pyx_ptype_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_InputText = &__pyx_type_9dearcygui_4core_InputText;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_InputText->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_InputText->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_InputText->tp_dictoffset && __pyx_ptype_9dearcygui_4core_InputText->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_InputText->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_InputText, __pyx_vtabptr_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_InputText, (PyObject *) __pyx_ptype_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_InputText->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_InputText->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_InputText, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_InputText) < 0) __PYX_ERR(1, 7430, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_InputValue = &__pyx_vtable_9dearcygui_4core_InputValue;
  __pyx_vtable_9dearcygui_4core_InputValue.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_InputValue.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_10InputValue_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_InputValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_InputValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_InputValue)) __PYX_ERR(1, 7824, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_InputValue_spec, __pyx_ptype_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_InputValue = &__pyx_type_9dearcygui_4core_InputValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_InputValue->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_InputValue->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_InputValue->tp_dictoffset && __pyx_ptype_9dearcygui_4core_InputValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_InputValue->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_InputValue, __pyx_vtabptr_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_InputValue, (PyObject *) __pyx_ptype_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_InputValue->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_InputValue->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_InputValue, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_InputValue) < 0) __PYX_ERR(1, 7824, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Text = &__pyx_vtable_9dearcygui_4core_Text;
  __pyx_vtable_9dearcygui_4core_Text.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Text.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_4Text_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Text = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Text_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Text)) __PYX_ERR(1, 8387, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Text_spec, __pyx_ptype_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Text = &__pyx_type_9dearcygui_4core_Text;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Text->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Text->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Text->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Text->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Text->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Text, __pyx_vtabptr_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Text, (PyObject *) __pyx_ptype_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Text->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Text->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Text, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Text) < 0) __PYX_ERR(1, 8387, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Selectable = &__pyx_vtable_9dearcygui_4core_Selectable;
  __pyx_vtable_9dearcygui_4core_Selectable.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Selectable.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_10Selectable_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Selectable = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Selectable_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Selectable)) __PYX_ERR(1, 8524, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Selectable_spec, __pyx_ptype_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Selectable = &__pyx_type_9dearcygui_4core_Selectable;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Selectable->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Selectable->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Selectable->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Selectable->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Selectable->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Selectable, __pyx_vtabptr_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Selectable, (PyObject *) __pyx_ptype_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Selectable->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Selectable->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Selectable, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Selectable) < 0) __PYX_ERR(1, 8524, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MenuItem = &__pyx_vtable_9dearcygui_4core_MenuItem;
  __pyx_vtable_9dearcygui_4core_MenuItem.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_MenuItem.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_8MenuItem_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MenuItem = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MenuItem_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MenuItem)) __PYX_ERR(1, 8621, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MenuItem_spec, __pyx_ptype_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MenuItem = &__pyx_type_9dearcygui_4core_MenuItem;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MenuItem->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MenuItem->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MenuItem->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MenuItem->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MenuItem->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MenuItem, __pyx_vtabptr_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MenuItem, (PyObject *) __pyx_ptype_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MenuItem->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MenuItem->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MenuItem, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MenuItem) < 0) __PYX_ERR(1, 8621, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ProgressBar = &__pyx_vtable_9dearcygui_4core_ProgressBar;
  __pyx_vtable_9dearcygui_4core_ProgressBar.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ProgressBar.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11ProgressBar_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ProgressBar = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ProgressBar_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ProgressBar)) __PYX_ERR(1, 8674, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ProgressBar_spec, __pyx_ptype_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ProgressBar = &__pyx_type_9dearcygui_4core_ProgressBar;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ProgressBar->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ProgressBar->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ProgressBar->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ProgressBar->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ProgressBar->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ProgressBar, __pyx_vtabptr_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ProgressBar, (PyObject *) __pyx_ptype_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ProgressBar->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ProgressBar->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ProgressBar, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ProgressBar) < 0) __PYX_ERR(1, 8674, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Image = &__pyx_vtable_9dearcygui_4core_Image;
  __pyx_vtable_9dearcygui_4core_Image.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Image.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_5Image_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Image = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Image_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Image)) __PYX_ERR(1, 8709, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Image_spec, __pyx_ptype_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Image = &__pyx_type_9dearcygui_4core_Image;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Image->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Image->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Image->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Image->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Image->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Image, __pyx_vtabptr_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Image, (PyObject *) __pyx_ptype_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Image->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Image->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Image, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Image) < 0) __PYX_ERR(1, 8709, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ImageButton = &__pyx_vtable_9dearcygui_4core_ImageButton;
  __pyx_vtable_9dearcygui_4core_ImageButton.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ImageButton.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11ImageButton_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ImageButton = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ImageButton_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ImageButton)) __PYX_ERR(1, 8792, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ImageButton_spec, __pyx_ptype_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ImageButton = &__pyx_type_9dearcygui_4core_ImageButton;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ImageButton->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ImageButton->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ImageButton->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ImageButton->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ImageButton->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ImageButton, __pyx_vtabptr_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ImageButton, (PyObject *) __pyx_ptype_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ImageButton->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ImageButton->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ImageButton, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ImageButton) < 0) __PYX_ERR(1, 8792, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Separator = &__pyx_vtable_9dearcygui_4core_Separator;
  __pyx_vtable_9dearcygui_4core_Separator.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Separator.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_9Separator_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Separator = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Separator_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Separator)) __PYX_ERR(1, 8893, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Separator_spec, __pyx_ptype_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Separator = &__pyx_type_9dearcygui_4core_Separator;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Separator->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Separator->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Separator->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Separator->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Separator->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Separator, __pyx_vtabptr_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Separator, (PyObject *) __pyx_ptype_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Separator->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Separator->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Separator, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Separator) < 0) __PYX_ERR(1, 8893, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Spacer = &__pyx_vtable_9dearcygui_4core_Spacer;
  __pyx_vtable_9dearcygui_4core_Spacer.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Spacer.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6Spacer_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Spacer = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Spacer_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Spacer)) __PYX_ERR(1, 8926, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Spacer_spec, __pyx_ptype_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Spacer = &__pyx_type_9dearcygui_4core_Spacer;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Spacer->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Spacer->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Spacer->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Spacer->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Spacer->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Spacer, __pyx_vtabptr_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Spacer, (PyObject *) __pyx_ptype_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Spacer->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Spacer->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Spacer, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Spacer) < 0) __PYX_ERR(1, 8926, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_MenuBar = &__pyx_vtable_9dearcygui_4core_MenuBar;
  __pyx_vtable_9dearcygui_4core_MenuBar.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_MenuBar.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_7MenuBar_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_MenuBar = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_MenuBar_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_MenuBar)) __PYX_ERR(1, 8938, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_MenuBar_spec, __pyx_ptype_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_MenuBar = &__pyx_type_9dearcygui_4core_MenuBar;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_MenuBar->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_MenuBar->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_MenuBar->tp_dictoffset && __pyx_ptype_9dearcygui_4core_MenuBar->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_MenuBar->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_MenuBar, __pyx_vtabptr_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MenuBar, (PyObject *) __pyx_ptype_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_MenuBar->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_MenuBar->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_MenuBar, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_MenuBar) < 0) __PYX_ERR(1, 8938, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Menu = &__pyx_vtable_9dearcygui_4core_Menu;
  __pyx_vtable_9dearcygui_4core_Menu.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Menu.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_4Menu_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Menu = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Menu_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Menu)) __PYX_ERR(1, 8979, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Menu_spec, __pyx_ptype_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Menu = &__pyx_type_9dearcygui_4core_Menu;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Menu->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Menu->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Menu->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Menu->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Menu->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Menu, __pyx_vtabptr_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Menu, (PyObject *) __pyx_ptype_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Menu->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Menu->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Menu, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Menu) < 0) __PYX_ERR(1, 8979, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Tooltip = &__pyx_vtable_9dearcygui_4core_Tooltip;
  __pyx_vtable_9dearcygui_4core_Tooltip.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Tooltip.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_7Tooltip_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Tooltip = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Tooltip_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Tooltip)) __PYX_ERR(1, 9017, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Tooltip_spec, __pyx_ptype_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Tooltip = &__pyx_type_9dearcygui_4core_Tooltip;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Tooltip->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Tooltip->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Tooltip->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Tooltip->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Tooltip->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Tooltip, __pyx_vtabptr_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Tooltip, (PyObject *) __pyx_ptype_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Tooltip->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Tooltip->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Tooltip, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Tooltip) < 0) __PYX_ERR(1, 9017, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_TabButton = &__pyx_vtable_9dearcygui_4core_TabButton;
  __pyx_vtable_9dearcygui_4core_TabButton.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_TabButton.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_9TabButton_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_TabButton = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_TabButton_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_TabButton)) __PYX_ERR(1, 9158, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_TabButton_spec, __pyx_ptype_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_TabButton = &__pyx_type_9dearcygui_4core_TabButton;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_TabButton->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_TabButton->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_TabButton->tp_dictoffset && __pyx_ptype_9dearcygui_4core_TabButton->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_TabButton->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_TabButton, __pyx_vtabptr_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TabButton, (PyObject *) __pyx_ptype_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_TabButton->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_TabButton->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_TabButton, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_TabButton) < 0) __PYX_ERR(1, 9158, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Tab = &__pyx_vtable_9dearcygui_4core_Tab;
  __pyx_vtable_9dearcygui_4core_Tab.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Tab.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_3Tab_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Tab = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Tab_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Tab)) __PYX_ERR(1, 9252, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Tab_spec, __pyx_ptype_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Tab = &__pyx_type_9dearcygui_4core_Tab;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Tab->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Tab->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Tab->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Tab->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Tab->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Tab, __pyx_vtabptr_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Tab, (PyObject *) __pyx_ptype_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Tab->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Tab->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Tab, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Tab) < 0) __PYX_ERR(1, 9252, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_TabBar = &__pyx_vtable_9dearcygui_4core_TabBar;
  __pyx_vtable_9dearcygui_4core_TabBar.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_TabBar.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6TabBar_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_TabBar = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_TabBar_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_TabBar)) __PYX_ERR(1, 9382, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_TabBar_spec, __pyx_ptype_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_TabBar = &__pyx_type_9dearcygui_4core_TabBar;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_TabBar->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_TabBar->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_TabBar->tp_dictoffset && __pyx_ptype_9dearcygui_4core_TabBar->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_TabBar->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_TabBar, __pyx_vtabptr_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TabBar, (PyObject *) __pyx_ptype_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_TabBar->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_TabBar->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_TabBar, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_TabBar) < 0) __PYX_ERR(1, 9382, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Layout = &__pyx_vtable_9dearcygui_4core_Layout;
  __pyx_vtable_9dearcygui_4core_Layout.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Layout.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6Layout_draw_item;
  __pyx_vtable_9dearcygui_4core_Layout.check_change = (int (*)(struct __pyx_obj_9dearcygui_4core_Layout *))__pyx_f_9dearcygui_4core_6Layout_check_change;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Layout = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Layout_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Layout)) __PYX_ERR(1, 9570, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Layout_spec, __pyx_ptype_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Layout = &__pyx_type_9dearcygui_4core_Layout;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Layout->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Layout->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Layout->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Layout->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Layout->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Layout, __pyx_vtabptr_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Layout, (PyObject *) __pyx_ptype_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Layout->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Layout->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Layout, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Layout) < 0) __PYX_ERR(1, 9570, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_HorizontalLayout = &__pyx_vtable_9dearcygui_4core_HorizontalLayout;
  __pyx_vtable_9dearcygui_4core_HorizontalLayout.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_Layout;
  __pyx_vtable_9dearcygui_4core_HorizontalLayout.__pyx_base.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_16HorizontalLayout_draw_item;
  __pyx_vtable_9dearcygui_4core_HorizontalLayout.__pyx_base.check_change = (int (*)(struct __pyx_obj_9dearcygui_4core_Layout *))__pyx_f_9dearcygui_4core_16HorizontalLayout_check_change;
  __pyx_vtable_9dearcygui_4core_HorizontalLayout._HorizontalLayout__compute_items_size = (float (*)(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *, int &))__pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__compute_items_size;
  __pyx_vtable_9dearcygui_4core_HorizontalLayout._HorizontalLayout__update_layout = (void (*)(struct __pyx_obj_9dearcygui_4core_HorizontalLayout *))__pyx_f_9dearcygui_4core_16HorizontalLayout__HorizontalLayout__update_layout;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_Layout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_HorizontalLayout = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_HorizontalLayout_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_HorizontalLayout)) __PYX_ERR(1, 9658, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_HorizontalLayout_spec, __pyx_ptype_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_HorizontalLayout = &__pyx_type_9dearcygui_4core_HorizontalLayout;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_base = __pyx_ptype_9dearcygui_4core_Layout;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_dictoffset && __pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_HorizontalLayout, __pyx_vtabptr_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HorizontalLayout, (PyObject *) __pyx_ptype_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_HorizontalLayout->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_HorizontalLayout, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_HorizontalLayout) < 0) __PYX_ERR(1, 9658, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_VerticalLayout = &__pyx_vtable_9dearcygui_4core_VerticalLayout;
  __pyx_vtable_9dearcygui_4core_VerticalLayout.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_Layout;
  __pyx_vtable_9dearcygui_4core_VerticalLayout.__pyx_base.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_14VerticalLayout_draw_item;
  __pyx_vtable_9dearcygui_4core_VerticalLayout.__pyx_base.check_change = (int (*)(struct __pyx_obj_9dearcygui_4core_Layout *))__pyx_f_9dearcygui_4core_14VerticalLayout_check_change;
  __pyx_vtable_9dearcygui_4core_VerticalLayout._VerticalLayout__compute_items_size = (float (*)(struct __pyx_obj_9dearcygui_4core_VerticalLayout *, int &))__pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__compute_items_size;
  __pyx_vtable_9dearcygui_4core_VerticalLayout._VerticalLayout__update_layout = (void (*)(struct __pyx_obj_9dearcygui_4core_VerticalLayout *))__pyx_f_9dearcygui_4core_14VerticalLayout__VerticalLayout__update_layout;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_Layout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_VerticalLayout = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_VerticalLayout_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_VerticalLayout)) __PYX_ERR(1, 9910, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_VerticalLayout_spec, __pyx_ptype_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_VerticalLayout = &__pyx_type_9dearcygui_4core_VerticalLayout;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_VerticalLayout->tp_base = __pyx_ptype_9dearcygui_4core_Layout;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_VerticalLayout->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_VerticalLayout->tp_dictoffset && __pyx_ptype_9dearcygui_4core_VerticalLayout->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_VerticalLayout->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_VerticalLayout, __pyx_vtabptr_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VerticalLayout, (PyObject *) __pyx_ptype_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_VerticalLayout->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_VerticalLayout->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_VerticalLayout, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_VerticalLayout) < 0) __PYX_ERR(1, 9910, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_TreeNode = &__pyx_vtable_9dearcygui_4core_TreeNode;
  __pyx_vtable_9dearcygui_4core_TreeNode.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_TreeNode.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_8TreeNode_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_TreeNode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_TreeNode_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_TreeNode)) __PYX_ERR(1, 10161, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_TreeNode_spec, __pyx_ptype_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_TreeNode = &__pyx_type_9dearcygui_4core_TreeNode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_TreeNode->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_TreeNode->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_TreeNode->tp_dictoffset && __pyx_ptype_9dearcygui_4core_TreeNode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_TreeNode->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_TreeNode, __pyx_vtabptr_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TreeNode, (PyObject *) __pyx_ptype_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_TreeNode->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_TreeNode->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_TreeNode, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_TreeNode) < 0) __PYX_ERR(1, 10161, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_CollapsingHeader = &__pyx_vtable_9dearcygui_4core_CollapsingHeader;
  __pyx_vtable_9dearcygui_4core_CollapsingHeader.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_CollapsingHeader.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_16CollapsingHeader_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_CollapsingHeader = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_CollapsingHeader_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_CollapsingHeader)) __PYX_ERR(1, 10349, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_CollapsingHeader_spec, __pyx_ptype_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_CollapsingHeader = &__pyx_type_9dearcygui_4core_CollapsingHeader;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_dictoffset && __pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_CollapsingHeader, __pyx_vtabptr_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CollapsingHeader, (PyObject *) __pyx_ptype_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_CollapsingHeader->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_CollapsingHeader, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_CollapsingHeader) < 0) __PYX_ERR(1, 10349, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ChildWindow = &__pyx_vtable_9dearcygui_4core_ChildWindow;
  __pyx_vtable_9dearcygui_4core_ChildWindow.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ChildWindow.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11ChildWindow_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ChildWindow = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ChildWindow_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ChildWindow)) __PYX_ERR(1, 10482, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ChildWindow_spec, __pyx_ptype_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ChildWindow = &__pyx_type_9dearcygui_4core_ChildWindow;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ChildWindow->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ChildWindow->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ChildWindow->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ChildWindow->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ChildWindow->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ChildWindow, __pyx_vtabptr_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ChildWindow, (PyObject *) __pyx_ptype_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ChildWindow->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ChildWindow->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ChildWindow, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ChildWindow) < 0) __PYX_ERR(1, 10482, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ColorButton = &__pyx_vtable_9dearcygui_4core_ColorButton;
  __pyx_vtable_9dearcygui_4core_ColorButton.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ColorButton.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11ColorButton_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ColorButton = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ColorButton_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ColorButton)) __PYX_ERR(1, 10813, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ColorButton_spec, __pyx_ptype_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ColorButton = &__pyx_type_9dearcygui_4core_ColorButton;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ColorButton->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ColorButton->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ColorButton->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ColorButton->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ColorButton->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ColorButton, __pyx_vtabptr_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ColorButton, (PyObject *) __pyx_ptype_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ColorButton->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ColorButton->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ColorButton, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ColorButton) < 0) __PYX_ERR(1, 10813, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ColorEdit = &__pyx_vtable_9dearcygui_4core_ColorEdit;
  __pyx_vtable_9dearcygui_4core_ColorEdit.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ColorEdit.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_9ColorEdit_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ColorEdit = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ColorEdit_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ColorEdit)) __PYX_ERR(1, 10906, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ColorEdit_spec, __pyx_ptype_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ColorEdit = &__pyx_type_9dearcygui_4core_ColorEdit;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ColorEdit->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ColorEdit->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ColorEdit->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ColorEdit->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ColorEdit->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ColorEdit, __pyx_vtabptr_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ColorEdit, (PyObject *) __pyx_ptype_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ColorEdit->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ColorEdit->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ColorEdit, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ColorEdit) < 0) __PYX_ERR(1, 10906, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_ColorPicker = &__pyx_vtable_9dearcygui_4core_ColorPicker;
  __pyx_vtable_9dearcygui_4core_ColorPicker.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_ColorPicker.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11ColorPicker_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_ColorPicker = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_ColorPicker_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_ColorPicker)) __PYX_ERR(1, 11068, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_ColorPicker_spec, __pyx_ptype_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_ColorPicker = &__pyx_type_9dearcygui_4core_ColorPicker;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_ColorPicker->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_ColorPicker->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_ColorPicker->tp_dictoffset && __pyx_ptype_9dearcygui_4core_ColorPicker->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_ColorPicker->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_ColorPicker, __pyx_vtabptr_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ColorPicker, (PyObject *) __pyx_ptype_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_ColorPicker->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_ColorPicker->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_ColorPicker, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_ColorPicker) < 0) __PYX_ERR(1, 11068, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_TimeWatcher = &__pyx_vtable_9dearcygui_4core_TimeWatcher;
  __pyx_vtable_9dearcygui_4core_TimeWatcher.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_TimeWatcher.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_11TimeWatcher_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_TimeWatcher = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_TimeWatcher_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_TimeWatcher)) __PYX_ERR(1, 11200, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_TimeWatcher_spec, __pyx_ptype_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_TimeWatcher = &__pyx_type_9dearcygui_4core_TimeWatcher;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_TimeWatcher->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_TimeWatcher->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_TimeWatcher->tp_dictoffset && __pyx_ptype_9dearcygui_4core_TimeWatcher->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_TimeWatcher->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_TimeWatcher, __pyx_vtabptr_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TimeWatcher, (PyObject *) __pyx_ptype_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_TimeWatcher->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_TimeWatcher->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_TimeWatcher, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_TimeWatcher) < 0) __PYX_ERR(1, 11200, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Window = &__pyx_vtable_9dearcygui_4core_Window;
  __pyx_vtable_9dearcygui_4core_Window.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Window.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_6Window_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Window = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Window_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Window)) __PYX_ERR(1, 11254, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Window_spec, __pyx_ptype_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Window = &__pyx_type_9dearcygui_4core_Window;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Window->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Window->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Window->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Window->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Window->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Window, __pyx_vtabptr_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Window, (PyObject *) __pyx_ptype_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Window->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Window->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Window, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Window) < 0) __PYX_ERR(1, 11254, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Texture = &__pyx_vtable_9dearcygui_4core_Texture;
  __pyx_vtable_9dearcygui_4core_Texture.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_Texture.set_content = (void (*)(struct __pyx_obj_9dearcygui_4core_Texture *, PyArrayObject *))__pyx_f_9dearcygui_4core_7Texture_set_content;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Texture = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Texture_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Texture)) __PYX_ERR(1, 12020, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Texture_spec, __pyx_ptype_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Texture = &__pyx_type_9dearcygui_4core_Texture;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Texture->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Texture->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Texture->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Texture->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Texture->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Texture, __pyx_vtabptr_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Texture, (PyObject *) __pyx_ptype_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Texture->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Texture->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Texture, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Texture) < 0) __PYX_ERR(1, 12020, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Font = &__pyx_vtable_9dearcygui_4core_Font;
  __pyx_vtable_9dearcygui_4core_Font.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_Font.push = (void (*)(struct __pyx_obj_9dearcygui_4core_Font *))__pyx_f_9dearcygui_4core_4Font_push;
  __pyx_vtable_9dearcygui_4core_Font.pop = (void (*)(struct __pyx_obj_9dearcygui_4core_Font *))__pyx_f_9dearcygui_4core_4Font_pop;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Font = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Font_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Font)) __PYX_ERR(1, 12214, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Font_spec, __pyx_ptype_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Font = &__pyx_type_9dearcygui_4core_Font;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Font->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Font->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Font->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Font->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Font->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Font, __pyx_vtabptr_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Font, (PyObject *) __pyx_ptype_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Font->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Font->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Font, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Font) < 0) __PYX_ERR(1, 12214, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_FontTexture = &__pyx_vtable_9dearcygui_4core_FontTexture;
  __pyx_vtable_9dearcygui_4core_FontTexture.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_FontTexture = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_FontTexture_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_FontTexture)) __PYX_ERR(1, 12262, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_FontTexture_spec, __pyx_ptype_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_FontTexture = &__pyx_type_9dearcygui_4core_FontTexture;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_FontTexture->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_FontTexture->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_FontTexture->tp_dictoffset && __pyx_ptype_9dearcygui_4core_FontTexture->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_FontTexture->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_FontTexture, __pyx_vtabptr_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FontTexture, (PyObject *) __pyx_ptype_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_FontTexture->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_FontTexture->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_FontTexture, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_FontTexture) < 0) __PYX_ERR(1, 12262, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_baseTheme = &__pyx_vtable_9dearcygui_4core_baseTheme;
  __pyx_vtable_9dearcygui_4core_baseTheme.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_baseTheme.push = (void (*)(struct __pyx_obj_9dearcygui_4core_baseTheme *))__pyx_f_9dearcygui_4core_9baseTheme_push;
  __pyx_vtable_9dearcygui_4core_baseTheme.push_to_list = (void (*)(struct __pyx_obj_9dearcygui_4core_baseTheme *, std::vector<__pyx_t_9dearcygui_4core_theme_action>  &))__pyx_f_9dearcygui_4core_9baseTheme_push_to_list;
  __pyx_vtable_9dearcygui_4core_baseTheme.pop = (void (*)(struct __pyx_obj_9dearcygui_4core_baseTheme *))__pyx_f_9dearcygui_4core_9baseTheme_pop;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_baseTheme = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_baseTheme_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_baseTheme)) __PYX_ERR(1, 12383, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_baseTheme_spec, __pyx_ptype_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_baseTheme = &__pyx_type_9dearcygui_4core_baseTheme;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_baseTheme->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_baseTheme->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_baseTheme->tp_dictoffset && __pyx_ptype_9dearcygui_4core_baseTheme->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_baseTheme->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_baseTheme, __pyx_vtabptr_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_baseTheme, (PyObject *) __pyx_ptype_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_baseTheme->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_baseTheme->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_baseTheme, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_baseTheme) < 0) __PYX_ERR(1, 12383, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotAxisConfig = &__pyx_vtable_9dearcygui_4core_PlotAxisConfig;
  __pyx_vtable_9dearcygui_4core_PlotAxisConfig.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_PlotAxisConfig.setup = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis))__pyx_f_9dearcygui_4core_14PlotAxisConfig_setup;
  __pyx_vtable_9dearcygui_4core_PlotAxisConfig.after_setup = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis))__pyx_f_9dearcygui_4core_14PlotAxisConfig_after_setup;
  __pyx_vtable_9dearcygui_4core_PlotAxisConfig.after_plot = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *, ImAxis))__pyx_f_9dearcygui_4core_14PlotAxisConfig_after_plot;
  __pyx_vtable_9dearcygui_4core_PlotAxisConfig.set_hidden = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig *))__pyx_f_9dearcygui_4core_14PlotAxisConfig_set_hidden;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotAxisConfig = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotAxisConfig_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotAxisConfig)) __PYX_ERR(1, 12445, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotAxisConfig_spec, __pyx_ptype_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotAxisConfig = &__pyx_type_9dearcygui_4core_PlotAxisConfig;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotAxisConfig, __pyx_vtabptr_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotAxisConfig, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotAxisConfig->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotAxisConfig, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotAxisConfig) < 0) __PYX_ERR(1, 12445, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotLegendConfig = &__pyx_vtable_9dearcygui_4core_PlotLegendConfig;
  __pyx_vtable_9dearcygui_4core_PlotLegendConfig.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_PlotLegendConfig.setup = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *))__pyx_f_9dearcygui_4core_16PlotLegendConfig_setup;
  __pyx_vtable_9dearcygui_4core_PlotLegendConfig.after_setup = (void (*)(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig *))__pyx_f_9dearcygui_4core_16PlotLegendConfig_after_setup;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotLegendConfig = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotLegendConfig_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotLegendConfig)) __PYX_ERR(1, 13176, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotLegendConfig_spec, __pyx_ptype_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotLegendConfig = &__pyx_type_9dearcygui_4core_PlotLegendConfig;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotLegendConfig, __pyx_vtabptr_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotLegendConfig, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotLegendConfig->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotLegendConfig, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotLegendConfig) < 0) __PYX_ERR(1, 13176, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_Plot = &__pyx_vtable_9dearcygui_4core_Plot;
  __pyx_vtable_9dearcygui_4core_Plot.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_uiItem;
  __pyx_vtable_9dearcygui_4core_Plot.__pyx_base.draw_item = (int (*)(struct __pyx_obj_9dearcygui_4core_uiItem *))__pyx_f_9dearcygui_4core_4Plot_draw_item;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_uiItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_Plot = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_Plot_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_Plot)) __PYX_ERR(1, 13368, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_Plot_spec, __pyx_ptype_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_Plot = &__pyx_type_9dearcygui_4core_Plot;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_Plot->tp_base = __pyx_ptype_9dearcygui_4core_uiItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_Plot->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_Plot->tp_dictoffset && __pyx_ptype_9dearcygui_4core_Plot->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_Plot->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_Plot, __pyx_vtabptr_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Plot, (PyObject *) __pyx_ptype_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_Plot->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_Plot->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_Plot, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_Plot) < 0) __PYX_ERR(1, 13368, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_plotElement = &__pyx_vtable_9dearcygui_4core_plotElement;
  __pyx_vtable_9dearcygui_4core_plotElement.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  __pyx_vtable_9dearcygui_4core_plotElement.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElement *))__pyx_f_9dearcygui_4core_11plotElement_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_plotElement = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_plotElement_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_plotElement)) __PYX_ERR(1, 13928, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_plotElement_spec, __pyx_ptype_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_plotElement = &__pyx_type_9dearcygui_4core_plotElement;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_plotElement->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_plotElement->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_plotElement->tp_dictoffset && __pyx_ptype_9dearcygui_4core_plotElement->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_plotElement->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_plotElement, __pyx_vtabptr_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_plotElement, (PyObject *) __pyx_ptype_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_plotElement->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_plotElement->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_plotElement, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_plotElement) < 0) __PYX_ERR(1, 13928, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_plotElementWithLegend = &__pyx_vtable_9dearcygui_4core_plotElementWithLegend;
  __pyx_vtable_9dearcygui_4core_plotElementWithLegend.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElement;
  __pyx_vtable_9dearcygui_4core_plotElementWithLegend.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElement *))__pyx_f_9dearcygui_4core_21plotElementWithLegend_draw;
  __pyx_vtable_9dearcygui_4core_plotElementWithLegend.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_21plotElementWithLegend_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElement); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_plotElementWithLegend = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_plotElementWithLegend_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_plotElementWithLegend)) __PYX_ERR(1, 14040, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_plotElementWithLegend_spec, __pyx_ptype_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_plotElementWithLegend = &__pyx_type_9dearcygui_4core_plotElementWithLegend;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_base = __pyx_ptype_9dearcygui_4core_plotElement;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_dictoffset && __pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_plotElementWithLegend, __pyx_vtabptr_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_plotElementWithLegend, (PyObject *) __pyx_ptype_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_plotElementWithLegend->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend, __pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_plotElementWithLegend) < 0) __PYX_ERR(1, 14040, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_plotElementXY = &__pyx_vtable_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_plotElementXY.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;
  __pyx_vtable_9dearcygui_4core_plotElementXY.check_arrays = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementXY *))__pyx_f_9dearcygui_4core_13plotElementXY_check_arrays;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementWithLegend); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_plotElementXY = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_plotElementXY_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_plotElementXY)) __PYX_ERR(1, 14278, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_plotElementXY_spec, __pyx_ptype_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_plotElementXY = &__pyx_type_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_plotElementXY->tp_base = __pyx_ptype_9dearcygui_4core_plotElementWithLegend;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_plotElementXY->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_plotElementXY->tp_dictoffset && __pyx_ptype_9dearcygui_4core_plotElementXY->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_plotElementXY->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_plotElementXY, __pyx_vtabptr_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_plotElementXY, (PyObject *) __pyx_ptype_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_plotElementXY->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_plotElementXY->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_plotElementXY, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_plotElementXY) < 0) __PYX_ERR(1, 14278, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotLine = &__pyx_vtable_9dearcygui_4core_PlotLine;
  __pyx_vtable_9dearcygui_4core_PlotLine.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_PlotLine.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_8PlotLine_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotLine = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotLine_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotLine)) __PYX_ERR(1, 14345, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotLine_spec, __pyx_ptype_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotLine = &__pyx_type_9dearcygui_4core_PlotLine;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotLine->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotLine->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotLine->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotLine->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotLine->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotLine, __pyx_vtabptr_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotLine, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotLine->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotLine->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotLine, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotLine) < 0) __PYX_ERR(1, 14345, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_plotElementXYY = &__pyx_vtable_9dearcygui_4core_plotElementXYY;
  __pyx_vtable_9dearcygui_4core_plotElementXYY.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;
  __pyx_vtable_9dearcygui_4core_plotElementXYY.check_arrays = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementXYY *))__pyx_f_9dearcygui_4core_14plotElementXYY_check_arrays;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementWithLegend); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_plotElementXYY = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_plotElementXYY_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_plotElementXYY)) __PYX_ERR(1, 14464, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_plotElementXYY_spec, __pyx_ptype_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_plotElementXYY = &__pyx_type_9dearcygui_4core_plotElementXYY;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_plotElementXYY->tp_base = __pyx_ptype_9dearcygui_4core_plotElementWithLegend;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_plotElementXYY->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_plotElementXYY->tp_dictoffset && __pyx_ptype_9dearcygui_4core_plotElementXYY->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_plotElementXYY->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_plotElementXYY, __pyx_vtabptr_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_plotElementXYY, (PyObject *) __pyx_ptype_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_plotElementXYY->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_plotElementXYY->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_plotElementXYY, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_plotElementXYY) < 0) __PYX_ERR(1, 14464, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotShadedLine = &__pyx_vtable_9dearcygui_4core_PlotShadedLine;
  __pyx_vtable_9dearcygui_4core_PlotShadedLine.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXYY;
  __pyx_vtable_9dearcygui_4core_PlotShadedLine.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_14PlotShadedLine_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXYY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotShadedLine = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotShadedLine_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotShadedLine)) __PYX_ERR(1, 14558, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotShadedLine_spec, __pyx_ptype_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotShadedLine = &__pyx_type_9dearcygui_4core_PlotShadedLine;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXYY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotShadedLine, __pyx_vtabptr_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotShadedLine, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotShadedLine->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotShadedLine, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotShadedLine) < 0) __PYX_ERR(1, 14558, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotStems = &__pyx_vtable_9dearcygui_4core_PlotStems;
  __pyx_vtable_9dearcygui_4core_PlotStems.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_PlotStems.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_9PlotStems_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotStems = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotStems_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotStems)) __PYX_ERR(1, 14593, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotStems_spec, __pyx_ptype_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotStems = &__pyx_type_9dearcygui_4core_PlotStems;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotStems->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotStems->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotStems->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotStems->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotStems->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotStems, __pyx_vtabptr_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotStems, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotStems->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotStems->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotStems, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotStems) < 0) __PYX_ERR(1, 14593, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotBars = &__pyx_vtable_9dearcygui_4core_PlotBars;
  __pyx_vtable_9dearcygui_4core_PlotBars.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_PlotBars.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_8PlotBars_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotBars = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotBars_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotBars)) __PYX_ERR(1, 14645, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotBars_spec, __pyx_ptype_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotBars = &__pyx_type_9dearcygui_4core_PlotBars;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotBars->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotBars->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotBars->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotBars->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotBars->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotBars, __pyx_vtabptr_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotBars, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotBars->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotBars->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotBars, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotBars) < 0) __PYX_ERR(1, 14645, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotStairs = &__pyx_vtable_9dearcygui_4core_PlotStairs;
  __pyx_vtable_9dearcygui_4core_PlotStairs.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_PlotStairs.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_10PlotStairs_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotStairs = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotStairs_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotStairs)) __PYX_ERR(1, 14715, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotStairs_spec, __pyx_ptype_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotStairs = &__pyx_type_9dearcygui_4core_PlotStairs;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotStairs->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotStairs->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotStairs->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotStairs->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotStairs->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotStairs, __pyx_vtabptr_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotStairs, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotStairs->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotStairs->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotStairs, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotStairs) < 0) __PYX_ERR(1, 14715, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_plotElementX = &__pyx_vtable_9dearcygui_4core_plotElementX;
  __pyx_vtable_9dearcygui_4core_plotElementX.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;
  __pyx_vtable_9dearcygui_4core_plotElementX.check_arrays = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementX *))__pyx_f_9dearcygui_4core_12plotElementX_check_arrays;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementWithLegend); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_plotElementX = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_plotElementX_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_plotElementX)) __PYX_ERR(1, 14785, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_plotElementX_spec, __pyx_ptype_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_plotElementX = &__pyx_type_9dearcygui_4core_plotElementX;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_plotElementX->tp_base = __pyx_ptype_9dearcygui_4core_plotElementWithLegend;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_plotElementX->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_plotElementX->tp_dictoffset && __pyx_ptype_9dearcygui_4core_plotElementX->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_plotElementX->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_plotElementX, __pyx_vtabptr_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_plotElementX, (PyObject *) __pyx_ptype_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_plotElementX->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_plotElementX->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_plotElementX, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_plotElementX) < 0) __PYX_ERR(1, 14785, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotInfLines = &__pyx_vtable_9dearcygui_4core_PlotInfLines;
  __pyx_vtable_9dearcygui_4core_PlotInfLines.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementX;
  __pyx_vtable_9dearcygui_4core_PlotInfLines.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_12PlotInfLines_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotInfLines = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotInfLines_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotInfLines)) __PYX_ERR(1, 14822, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotInfLines_spec, __pyx_ptype_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotInfLines = &__pyx_type_9dearcygui_4core_PlotInfLines;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotInfLines->tp_base = __pyx_ptype_9dearcygui_4core_plotElementX;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotInfLines->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotInfLines->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotInfLines->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotInfLines->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotInfLines, __pyx_vtabptr_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotInfLines, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotInfLines->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotInfLines->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotInfLines, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotInfLines) < 0) __PYX_ERR(1, 14822, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlotScatter = &__pyx_vtable_9dearcygui_4core_PlotScatter;
  __pyx_vtable_9dearcygui_4core_PlotScatter.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementXY;
  __pyx_vtable_9dearcygui_4core_PlotScatter.__pyx_base.__pyx_base.draw_element = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElementWithLegend *))__pyx_f_9dearcygui_4core_11PlotScatter_draw_element;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementXY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlotScatter = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlotScatter_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlotScatter)) __PYX_ERR(1, 14872, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlotScatter_spec, __pyx_ptype_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlotScatter = &__pyx_type_9dearcygui_4core_PlotScatter;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlotScatter->tp_base = __pyx_ptype_9dearcygui_4core_plotElementXY;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlotScatter->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlotScatter->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlotScatter->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlotScatter->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlotScatter, __pyx_vtabptr_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlotScatter, (PyObject *) __pyx_ptype_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlotScatter->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlotScatter->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlotScatter, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlotScatter) < 0) __PYX_ERR(1, 14872, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_DrawInPlot = &__pyx_vtable_9dearcygui_4core_DrawInPlot;
  __pyx_vtable_9dearcygui_4core_DrawInPlot.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_plotElementWithLegend;
  __pyx_vtable_9dearcygui_4core_DrawInPlot.__pyx_base.__pyx_base.draw = (void (*)(struct __pyx_obj_9dearcygui_4core_plotElement *))__pyx_f_9dearcygui_4core_10DrawInPlot_draw;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_plotElementWithLegend); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DrawInPlot = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DrawInPlot_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DrawInPlot)) __PYX_ERR(1, 15185, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DrawInPlot_spec, __pyx_ptype_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DrawInPlot = &__pyx_type_9dearcygui_4core_DrawInPlot;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DrawInPlot->tp_base = __pyx_ptype_9dearcygui_4core_plotElementWithLegend;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DrawInPlot->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DrawInPlot->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DrawInPlot->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DrawInPlot->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_DrawInPlot, __pyx_vtabptr_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DrawInPlot, (PyObject *) __pyx_ptype_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_DrawInPlot->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_DrawInPlot->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_DrawInPlot, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DrawInPlot) < 0) __PYX_ERR(1, 15185, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_Callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_DPGCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_DPGCallback_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_DPGCallback)) __PYX_ERR(1, 2907, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_DPGCallback_spec, __pyx_ptype_9dearcygui_4core_DPGCallback) < 0) __PYX_ERR(1, 2907, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_DPGCallback = &__pyx_type_9dearcygui_4core_DPGCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_DPGCallback->tp_base = __pyx_ptype_9dearcygui_4core_Callback;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_DPGCallback) < 0) __PYX_ERR(1, 2907, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_DPGCallback->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_DPGCallback->tp_dictoffset && __pyx_ptype_9dearcygui_4core_DPGCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_DPGCallback->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DPGCallback, (PyObject *) __pyx_ptype_9dearcygui_4core_DPGCallback) < 0) __PYX_ERR(1, 2907, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_DPGCallback) < 0) __PYX_ERR(1, 2907, __pyx_L1_error)
  #endif
  __pyx_vtabptr_9dearcygui_4core_PlaceHolderParent = &__pyx_vtable_9dearcygui_4core_PlaceHolderParent;
  __pyx_vtable_9dearcygui_4core_PlaceHolderParent.__pyx_base = *__pyx_vtabptr_9dearcygui_4core_baseItem;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_9dearcygui_4core_baseItem); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_9dearcygui_4core_PlaceHolderParent = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9dearcygui_4core_PlaceHolderParent_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_9dearcygui_4core_PlaceHolderParent)) __PYX_ERR(1, 2942, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9dearcygui_4core_PlaceHolderParent_spec, __pyx_ptype_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  #else
  __pyx_ptype_9dearcygui_4core_PlaceHolderParent = &__pyx_type_9dearcygui_4core_PlaceHolderParent;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_base = __pyx_ptype_9dearcygui_4core_baseItem;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_dictoffset && __pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_ptype_9dearcygui_4core_PlaceHolderParent, __pyx_vtabptr_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_ptype_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PlaceHolderParent, (PyObject *) __pyx_ptype_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  if (__pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_weaklistoffset == 0) __pyx_ptype_9dearcygui_4core_PlaceHolderParent->tp_weaklistoffset = offsetof(struct __pyx_obj_9dearcygui_4core_PlaceHolderParent, __pyx_base.__weakref__);
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_9dearcygui_4core_PlaceHolderParent) < 0) __PYX_ERR(1, 2942, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)(&PyType_Type)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype___Pyx_EnumMeta = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__Pyx_EnumMeta_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype___Pyx_EnumMeta)) __PYX_ERR(2, 16, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__Pyx_EnumMeta_spec, __pyx_ptype___Pyx_EnumMeta) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
  #else
  __pyx_ptype___Pyx_EnumMeta = &__Pyx_EnumMeta;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype___Pyx_EnumMeta->tp_dealloc = (&PyType_Type)->tp_dealloc;
  __pyx_ptype___Pyx_EnumMeta->tp_base = (&PyType_Type);
  __pyx_ptype___Pyx_EnumMeta->tp_new = (&PyType_Type)->tp_new;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype___Pyx_EnumMeta) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype___Pyx_EnumMeta->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype___Pyx_EnumMeta->tp_dictoffset && __pyx_ptype___Pyx_EnumMeta->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype___Pyx_EnumMeta->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype___Pyx_EnumMeta) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
  #endif
  __pyx_vtabptr_array = &__pyx_vtable_array;
  __pyx_vtable_array.get_memview = (PyObject *(*)(struct __pyx_array_obj *))__pyx_array_get_memview;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_array_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_array_spec, NULL); if (unlikely(!__pyx_array_type)) __PYX_ERR(2, 114, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_array_type->tp_as_buffer = &__pyx_tp_as_buffer_array;
  if (!__pyx_array_type->tp_as_buffer->bf_releasebuffer && __pyx_array_type->tp_base->tp_as_buffer && __pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer) {
    __pyx_array_type->tp_as_buffer->bf_releasebuffer = __pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer;
  }
  #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
  /* PY_VERSION_HEX >= 0x03090000 || Py_LIMITED_API >= 0x030B0000 */
  #elif defined(_MSC_VER)
  #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
  #else
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
  #endif
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_array_spec, __pyx_array_type) < 0) __PYX_ERR(2, 114, __pyx_L1_error)
  #else
  __pyx_array_type = &__pyx_type___pyx_array;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_array_type) < 0) __PYX_ERR(2, 114, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_array_type->tp_print = 0;
  #endif
  if (__Pyx_SetVtable(__pyx_array_type, __pyx_vtabptr_array) < 0) __PYX_ERR(2, 114, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_array_type) < 0) __PYX_ERR(2, 114, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_array_type) < 0) __PYX_ERR(2, 114, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_MemviewEnum_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_MemviewEnum_spec, NULL); if (unlikely(!__pyx_MemviewEnum_type)) __PYX_ERR(2, 302, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_MemviewEnum_spec, __pyx_MemviewEnum_type) < 0) __PYX_ERR(2, 302, __pyx_L1_error)
  #else
  __pyx_MemviewEnum_type = &__pyx_type___pyx_MemviewEnum;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_MemviewEnum_type) < 0) __PYX_ERR(2, 302, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_MemviewEnum_type->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_MemviewEnum_type->tp_dictoffset && __pyx_MemviewEnum_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_MemviewEnum_type->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_MemviewEnum_type) < 0) __PYX_ERR(2, 302, __pyx_L1_error)
  #endif
  __pyx_vtabptr_memoryview = &__pyx_vtable_memoryview;
  __pyx_vtable_memoryview.get_item_pointer = (char *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_get_item_pointer;
  __pyx_vtable_memoryview.is_slice = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_is_slice;
  __pyx_vtable_memoryview.setitem_slice_assignment = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_slice_assignment;
  __pyx_vtable_memoryview.setitem_slice_assign_scalar = (PyObject *(*)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_setitem_slice_assign_scalar;
  __pyx_vtable_memoryview.setitem_indexed = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_indexed;
  __pyx_vtable_memoryview.convert_item_to_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *))__pyx_memoryview_convert_item_to_object;
  __pyx_vtable_memoryview.assign_item_from_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *, PyObject *))__pyx_memoryview_assign_item_from_object;
  __pyx_vtable_memoryview._get_base = (PyObject *(*)(struct __pyx_memoryview_obj *))__pyx_memoryview__get_base;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_memoryview_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryview_spec, NULL); if (unlikely(!__pyx_memoryview_type)) __PYX_ERR(2, 337, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_memoryview_type->tp_as_buffer = &__pyx_tp_as_buffer_memoryview;
  if (!__pyx_memoryview_type->tp_as_buffer->bf_releasebuffer && __pyx_memoryview_type->tp_base->tp_as_buffer && __pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer) {
    __pyx_memoryview_type->tp_as_buffer->bf_releasebuffer = __pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer;
  }
  #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
  /* PY_VERSION_HEX >= 0x03090000 || Py_LIMITED_API >= 0x030B0000 */
  #elif defined(_MSC_VER)
  #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
  #else
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
  #endif
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryview_spec, __pyx_memoryview_type) < 0) __PYX_ERR(2, 337, __pyx_L1_error)
  #else
  __pyx_memoryview_type = &__pyx_type___pyx_memoryview;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_memoryview_type) < 0) __PYX_ERR(2, 337, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_memoryview_type->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_memoryview_type->tp_dictoffset && __pyx_memoryview_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_memoryview_type->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_memoryview_type, __pyx_vtabptr_memoryview) < 0) __PYX_ERR(2, 337, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_memoryview_type) < 0) __PYX_ERR(2, 337, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_memoryview_type) < 0) __PYX_ERR(2, 337, __pyx_L1_error)
  #endif
  __pyx_vtabptr__memoryviewslice = &__pyx_vtable__memoryviewslice;
  __pyx_vtable__memoryviewslice.__pyx_base = *__pyx_vtabptr_memoryview;
  __pyx_vtable__memoryviewslice.__pyx_base.convert_item_to_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *))__pyx_memoryviewslice_convert_item_to_object;
  __pyx_vtable__memoryviewslice.__pyx_base.assign_item_from_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *, PyObject *))__pyx_memoryviewslice_assign_item_from_object;
  __pyx_vtable__memoryviewslice.__pyx_base._get_base = (PyObject *(*)(struct __pyx_memoryview_obj *))__pyx_memoryviewslice__get_base;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_memoryview_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_memoryviewslice_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryviewslice_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_memoryviewslice_type)) __PYX_ERR(2, 952, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryviewslice_spec, __pyx_memoryviewslice_type) < 0) __PYX_ERR(2, 952, __pyx_L1_error)
  #else
  __pyx_memoryviewslice_type = &__pyx_type___pyx_memoryviewslice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_memoryviewslice_type->tp_base = __pyx_memoryview_type;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_memoryviewslice_type) < 0) __PYX_ERR(2, 952, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_memoryviewslice_type->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_memoryviewslice_type->tp_dictoffset && __pyx_memoryviewslice_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_memoryviewslice_type->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_memoryviewslice_type, __pyx_vtabptr__memoryviewslice) < 0) __PYX_ERR(2, 952, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_MergeVtables(__pyx_memoryviewslice_type) < 0) __PYX_ERR(2, 952, __pyx_L1_error)
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_memoryviewslice_type) < 0) __PYX_ERR(2, 952, __pyx_L1_error)
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_11(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyTypeObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyTypeObject),
  #else
  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(5, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_3_0_11); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(3, 271, __pyx_L1_error)
  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_11); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(3, 316, __pyx_L1_error)
  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_11); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(3, 320, __pyx_L1_error)
  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_3_0_11); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(3, 359, __pyx_L1_error)
  __pyx_ptype_5numpy_generic = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_generic) __PYX_ERR(3, 847, __pyx_L1_error)
  __pyx_ptype_5numpy_number = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "number", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_number) __PYX_ERR(3, 849, __pyx_L1_error)
  __pyx_ptype_5numpy_integer = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_integer) __PYX_ERR(3, 851, __pyx_L1_error)
  __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(3, 853, __pyx_L1_error)
  __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(3, 855, __pyx_L1_error)
  __pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(3, 857, __pyx_L1_error)
  __pyx_ptype_5numpy_floating = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_floating) __PYX_ERR(3, 859, __pyx_L1_error)
  __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(3, 861, __pyx_L1_error)
  __pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(3, 863, __pyx_L1_error)
  __pyx_ptype_5numpy_character = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "character", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_5numpy_character) __PYX_ERR(3, 865, __pyx_L1_error)
  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_0_11(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_3_0_11); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(3, 929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}


#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_core(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_core},
  {0, NULL}
};
#endif

#ifdef __cplusplus
namespace {
  struct PyModuleDef __pyx_moduledef =
  #else
  static struct PyModuleDef __pyx_moduledef =
  #endif
  {
      PyModuleDef_HEAD_INIT,
      "core",
      0, /* m_doc */
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      0, /* m_size */
    #elif CYTHON_USE_MODULE_STATE
      sizeof(__pyx_mstate), /* m_size */
    #else
      -1, /* m_size */
    #endif
      __pyx_methods /* m_methods */,
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      __pyx_moduledef_slots, /* m_slots */
    #else
      NULL, /* m_reload */
    #endif
    #if CYTHON_USE_MODULE_STATE
      __pyx_m_traverse, /* m_traverse */
      __pyx_m_clear, /* m_clear */
      NULL /* m_free */
    #else
      NULL, /* m_traverse */
      NULL, /* m_clear */
      NULL /* m_free */
    #endif
  };
  #ifdef __cplusplus
} /* anonymous namespace */
#endif
#endif

#ifndef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#elif PY_MAJOR_VERSION < 3
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" void
#else
#define __Pyx_PyMODINIT_FUNC void
#endif
#else
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyObject *
#endif
#endif


#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC initcore(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC initcore(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_core(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_core(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    #if PY_VERSION_HEX >= 0x030700A1
    static PY_INT64_T main_interpreter_id = -1;
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return (unlikely(current_id == -1)) ? -1 : 0;
    } else if (unlikely(main_interpreter_id != current_id))
    #else
    static PyInterpreterState *main_interpreter = NULL;
    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
    if (!main_interpreter) {
        main_interpreter = current_interpreter;
    } else if (unlikely(main_interpreter != current_interpreter))
    #endif
    {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none)
#else
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
#endif
{
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
#if CYTHON_COMPILING_IN_LIMITED_API
            result = PyModule_AddObject(module, to_name, value);
#else
            result = PyDict_SetItemString(moddict, to_name, value);
#endif
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    CYTHON_UNUSED_VAR(def);
    if (__Pyx_check_single_interpreter())
        return NULL;
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
#if CYTHON_COMPILING_IN_LIMITED_API
    moddict = module;
#else
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
#endif
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_core(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  int stringtab_initialized = 0;
  #if CYTHON_USE_MODULE_STATE
  int pystate_addmodule_run = 0;
  #endif
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  static PyThread_type_lock __pyx_t_9[8];
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  PyObject *__pyx_t_23 = NULL;
  PyObject *__pyx_t_24 = NULL;
  PyObject *__pyx_t_25 = NULL;
  PyObject *__pyx_t_26 = NULL;
  PyObject *__pyx_t_27 = NULL;
  PyObject *__pyx_t_28 = NULL;
  PyObject *__pyx_t_29 = NULL;
  PyObject *__pyx_t_30 = NULL;
  PyObject *__pyx_t_31 = NULL;
  PyObject *__pyx_t_32 = NULL;
  PyObject *__pyx_t_33 = NULL;
  PyObject *__pyx_t_34 = NULL;
  PyObject *__pyx_t_35 = NULL;
  PyObject *__pyx_t_36 = NULL;
  PyObject *__pyx_t_37 = NULL;
  int __pyx_t_38;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'core' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #elif PY_MAJOR_VERSION >= 3
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_m = __pyx_pyinit_module;
  Py_INCREF(__pyx_m);
  #else
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("core", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  if (unlikely(!__pyx_m)) __PYX_ERR(1, 1, __pyx_L1_error)
  #elif CYTHON_USE_MODULE_STATE
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  {
    int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef);
    __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "core" pseudovariable */
    if (unlikely((add_module_result < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
    pystate_addmodule_run = 1;
  }
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  if (unlikely(!__pyx_m)) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #endif
  CYTHON_UNUSED_VAR(__pyx_t_1);
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(1, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(1, 1, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
if (!__Pyx_RefNanny) {
  PyErr_Clear();
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
  if (!__Pyx_RefNanny)
      Py_FatalError("failed to import 'refnanny' module");
}
#endif
  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_core(void)", 0);
  if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #ifdef __Pxy_PyFrame_Initialize_Offsets
  __Pxy_PyFrame_Initialize_Offsets();
  #endif
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(1, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  PyEval_InitThreads();
  #endif
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitConstants() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  stringtab_initialized = 1;
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_dearcygui__core) {
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(1, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "dearcygui.core")) {
      if (unlikely((PyDict_SetItemString(modules, "dearcygui.core", __pyx_m) < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code();
  (void)__Pyx_modinit_variable_export_code();
  if (unlikely((__Pyx_modinit_function_export_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_import_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  (void)__Pyx_modinit_variable_import_code();
  (void)__Pyx_modinit_function_import_code();
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif

  /* "EnumBase":10
 * cdef object __Pyx_OrderedDict
 * 
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 *     __Pyx_OrderedDict = dict
 * else:
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumBase":11
 * 
 * if PY_VERSION_HEX >= 0x03060000:
 *     __Pyx_OrderedDict = dict             # <<<<<<<<<<<<<<
 * else:
 *     from collections import OrderedDict as __Pyx_OrderedDict
 */
    __Pyx_INCREF((PyObject *)(&PyDict_Type));
    __Pyx_XGOTREF(__Pyx_OrderedDict);
    __Pyx_DECREF_SET(__Pyx_OrderedDict, ((PyObject *)(&PyDict_Type)));
    __Pyx_GIVEREF((PyObject *)(&PyDict_Type));

    /* "EnumBase":10
 * cdef object __Pyx_OrderedDict
 * 
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 *     __Pyx_OrderedDict = dict
 * else:
 */
    goto __pyx_L2;
  }

  /* "EnumBase":13
 *     __Pyx_OrderedDict = dict
 * else:
 *     from collections import OrderedDict as __Pyx_OrderedDict             # <<<<<<<<<<<<<<
 * 
 * @cython.internal
 */
  /*else*/ {
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_OrderedDict);
    __Pyx_GIVEREF(__pyx_n_s_OrderedDict);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrderedDict)) __PYX_ERR(2, 13, __pyx_L1_error);
    __pyx_t_4 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_3, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_OrderedDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XGOTREF(__Pyx_OrderedDict);
    __Pyx_DECREF_SET(__Pyx_OrderedDict, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L2:;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___reduce_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_reduce_cython, __pyx_t_4) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype___Pyx_EnumMeta);

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle___Pyx_EnumMeta__set_state(self, __pyx_state)
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___setstate_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_setstate_cython, __pyx_t_4) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype___Pyx_EnumMeta);

  /* "EnumBase":27
 * 
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):             # <<<<<<<<<<<<<<
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 */
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF((PyObject *)(&PyInt_Type));
  __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(2, 27, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_Py3MetaclassPrepare(((PyObject *)__pyx_ptype___Pyx_EnumMeta), __pyx_t_3, __pyx_n_s_Pyx_EnumBase, __pyx_n_s_Pyx_EnumBase, __pyx_t_5, __pyx_n_s_EnumBase, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (__pyx_t_3 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(2, 27, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumBase":28
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumBase_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_Pyx_EnumBase___new, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__82);
  if (__Pyx_SetNewInClass(__pyx_t_6, __pyx_n_s_new, __pyx_t_4) < 0) __PYX_ERR(2, 28, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumBase":39
 *         cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumBase_3__repr__, 0, __pyx_n_s_Pyx_EnumBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_repr, __pyx_t_4) < 0) __PYX_ERR(2, 39, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumBase":41
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumBase_5__str__, 0, __pyx_n_s_Pyx_EnumBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_str, __pyx_t_4) < 0) __PYX_ERR(2, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumBase":27
 * 
 * cdef object __Pyx_EnumBase
 * class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):             # <<<<<<<<<<<<<<
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(((PyObject *)__pyx_ptype___Pyx_EnumMeta), __pyx_n_s_Pyx_EnumBase, __pyx_t_3, __pyx_t_6, __pyx_t_5, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(__Pyx_EnumBase);
  __Pyx_DECREF_SET(__Pyx_EnumBase, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "EnumBase":44
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 * if PY_VERSION_HEX >= 0x03040000:             # <<<<<<<<<<<<<<
 *     from enum import IntEnum as __Pyx_EnumBase
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03040000);
  if (__pyx_t_2) {

    /* "EnumBase":45
 * 
 * if PY_VERSION_HEX >= 0x03040000:
 *     from enum import IntEnum as __Pyx_EnumBase             # <<<<<<<<<<<<<<
 * 
 * cdef object __Pyx_FlagBase
 */
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_IntEnum);
    __Pyx_GIVEREF(__pyx_n_s_IntEnum);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum)) __PYX_ERR(2, 45, __pyx_L1_error);
    __pyx_t_5 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XGOTREF(__Pyx_EnumBase);
    __Pyx_DECREF_SET(__Pyx_EnumBase, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumBase":44
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 * if PY_VERSION_HEX >= 0x03040000:             # <<<<<<<<<<<<<<
 *     from enum import IntEnum as __Pyx_EnumBase
 * 
 */
  }

  /* "EnumBase":48
 * 
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):             # <<<<<<<<<<<<<<
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 */
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF((PyObject *)(&PyInt_Type));
  __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(2, 48, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(((PyObject *)__pyx_ptype___Pyx_EnumMeta), __pyx_t_3, __pyx_n_s_Pyx_FlagBase, __pyx_n_s_Pyx_FlagBase, __pyx_t_6, __pyx_n_s_EnumBase, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_3 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(2, 48, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "EnumBase":49
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
 *     def __new__(cls, value, name=None):             # <<<<<<<<<<<<<<
 *         for v in cls:
 *             if v == value:
 */
  __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_Pyx_FlagBase___new, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__86)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__82);
  if (__Pyx_SetNewInClass(__pyx_t_4, __pyx_n_s_new, __pyx_t_5) < 0) __PYX_ERR(2, 49, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "EnumBase":62
 *             cls.__members__[name] = res
 *         return res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):
 */
  __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__, 0, __pyx_n_s_Pyx_FlagBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_repr, __pyx_t_5) < 0) __PYX_ERR(2, 62, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "EnumBase":64
 *     def __repr__(self):
 *         return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 */
  __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__, 0, __pyx_n_s_Pyx_FlagBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__88)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_str, __pyx_t_5) < 0) __PYX_ERR(2, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "EnumBase":48
 * 
 * cdef object __Pyx_FlagBase
 * class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):             # <<<<<<<<<<<<<<
 *     def __new__(cls, value, name=None):
 *         for v in cls:
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(((PyObject *)__pyx_ptype___Pyx_EnumMeta), __pyx_n_s_Pyx_FlagBase, __pyx_t_3, __pyx_t_4, __pyx_t_6, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XGOTREF(__Pyx_FlagBase);
  __Pyx_DECREF_SET(__Pyx_FlagBase, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "EnumBase":67
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 *     from enum import IntFlag as __Pyx_FlagBase
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumBase":68
 * 
 * if PY_VERSION_HEX >= 0x03060000:
 *     from enum import IntFlag as __Pyx_FlagBase             # <<<<<<<<<<<<<<
 * 
 */
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_IntFlag);
    __Pyx_GIVEREF(__pyx_n_s_IntFlag);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntFlag)) __PYX_ERR(2, 68, __pyx_L1_error);
    __pyx_t_6 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_IntFlag); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XGOTREF(__Pyx_FlagBase);
    __Pyx_DECREF_SET(__Pyx_FlagBase, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "EnumBase":67
 *         return "%s.%s" % (self.__class__.__name__, self.name)
 * 
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 *     from enum import IntFlag as __Pyx_FlagBase
 * 
 */
  }

  /* "(tree fragment)":1
 * def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, 0, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__90)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, __pyx_t_6) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "View.MemoryView":99
 * 
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:             # <<<<<<<<<<<<<<
 *     if __import__("sys").version_info >= (3, 3):
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_7, &__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    /*try:*/ {

      /* "View.MemoryView":100
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:
 *     if __import__("sys").version_info >= (3, 3):             # <<<<<<<<<<<<<<
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 *     else:
 */
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 100, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_version_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 100, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_tuple__92, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 100, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 100, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_2) {

        /* "View.MemoryView":101
 * try:
 *     if __import__("sys").version_info >= (3, 3):
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence             # <<<<<<<<<<<<<<
 *     else:
 *         __pyx_collections_abc_Sequence = __import__("collections").Sequence
 */
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 101, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_abc); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 101, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Sequence); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 101, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
        __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, __pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_6);
        __pyx_t_6 = 0;

        /* "View.MemoryView":100
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:
 *     if __import__("sys").version_info >= (3, 3):             # <<<<<<<<<<<<<<
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 *     else:
 */
        goto __pyx_L11;
      }

      /* "View.MemoryView":103
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 *     else:
 *         __pyx_collections_abc_Sequence = __import__("collections").Sequence             # <<<<<<<<<<<<<<
 * except:
 * 
 */
      /*else*/ {
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__94, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 103, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Sequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 103, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
        __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_3);
        __pyx_t_3 = 0;
      }
      __pyx_L11:;

      /* "View.MemoryView":99
 * 
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:             # <<<<<<<<<<<<<<
 *     if __import__("sys").version_info >= (3, 3):
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L10_try_end;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "View.MemoryView":104
 *     else:
 *         __pyx_collections_abc_Sequence = __import__("collections").Sequence
 * except:             # <<<<<<<<<<<<<<
 * 
 *     __pyx_collections_abc_Sequence = None
 */
    /*except:*/ {
      __Pyx_AddTraceback("View.MemoryView", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(2, 104, __pyx_L7_except_error)
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);

      /* "View.MemoryView":106
 * except:
 * 
 *     __pyx_collections_abc_Sequence = None             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __Pyx_INCREF(Py_None);
      __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
      __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, Py_None);
      __Pyx_GIVEREF(Py_None);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L6_exception_handled;
    }

    /* "View.MemoryView":99
 * 
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:             # <<<<<<<<<<<<<<
 *     if __import__("sys").version_info >= (3, 3):
 *         __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 */
    __pyx_L7_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_7, __pyx_t_8);
    goto __pyx_L1_error;
    __pyx_L6_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_7, __pyx_t_8);
    __pyx_L10_try_end:;
  }

  /* "View.MemoryView":241
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_1);
    /*try:*/ {

      /* "View.MemoryView":242
 * 
 *     try:
 *         count = __pyx_collections_abc_Sequence.count             # <<<<<<<<<<<<<<
 *         index = __pyx_collections_abc_Sequence.index
 *     except:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 242, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_array_type, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(2, 242, __pyx_L14_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      PyType_Modified(__pyx_array_type);

      /* "View.MemoryView":243
 *     try:
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index             # <<<<<<<<<<<<<<
 *     except:
 *         pass
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 243, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_array_type, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(2, 243, __pyx_L14_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      PyType_Modified(__pyx_array_type);

      /* "View.MemoryView":241
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 */
    }
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L19_try_end;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "View.MemoryView":244
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 *     except:             # <<<<<<<<<<<<<<
 *         pass
 * 
 */
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L15_exception_handled;
    }
    __pyx_L15_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_1);
    __pyx_L19_try_end:;
  }

  /* "View.MemoryView":309
 *         return self.name
 * 
 * cdef generic = Enum("<strided and direct or indirect>")             # <<<<<<<<<<<<<<
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")
 */
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(generic);
  __Pyx_DECREF_SET(generic, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":310
 * 
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default             # <<<<<<<<<<<<<<
 * cdef indirect = Enum("<strided and indirect>")
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(strided);
  __Pyx_DECREF_SET(strided, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":311
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(indirect);
  __Pyx_DECREF_SET(indirect, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":314
 * 
 * 
 * cdef contiguous = Enum("<contiguous and direct>")             # <<<<<<<<<<<<<<
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(contiguous);
  __Pyx_DECREF_SET(contiguous, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":315
 * 
 * cdef contiguous = Enum("<contiguous and direct>")
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_XGOTREF(indirect_contiguous);
  __Pyx_DECREF_SET(indirect_contiguous, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":323
 * 
 * 
 * cdef int __pyx_memoryview_thread_locks_used = 0             # <<<<<<<<<<<<<<
 * cdef PyThread_type_lock[8] __pyx_memoryview_thread_locks = [
 *     PyThread_allocate_lock(),
 */
  __pyx_memoryview_thread_locks_used = 0;

  /* "View.MemoryView":324
 * 
 * cdef int __pyx_memoryview_thread_locks_used = 0
 * cdef PyThread_type_lock[8] __pyx_memoryview_thread_locks = [             # <<<<<<<<<<<<<<
 *     PyThread_allocate_lock(),
 *     PyThread_allocate_lock(),
 */
  __pyx_t_9[0] = PyThread_allocate_lock();
  __pyx_t_9[1] = PyThread_allocate_lock();
  __pyx_t_9[2] = PyThread_allocate_lock();
  __pyx_t_9[3] = PyThread_allocate_lock();
  __pyx_t_9[4] = PyThread_allocate_lock();
  __pyx_t_9[5] = PyThread_allocate_lock();
  __pyx_t_9[6] = PyThread_allocate_lock();
  __pyx_t_9[7] = PyThread_allocate_lock();
  memcpy(&(__pyx_memoryview_thread_locks[0]), __pyx_t_9, sizeof(__pyx_memoryview_thread_locks[0]) * (8));

  /* "View.MemoryView":982
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_7, &__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    /*try:*/ {

      /* "View.MemoryView":983
 * 
 *     try:
 *         count = __pyx_collections_abc_Sequence.count             # <<<<<<<<<<<<<<
 *         index = __pyx_collections_abc_Sequence.index
 *     except:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 983, __pyx_L20_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_memoryviewslice_type, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(2, 983, __pyx_L20_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      PyType_Modified(__pyx_memoryviewslice_type);

      /* "View.MemoryView":984
 *     try:
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index             # <<<<<<<<<<<<<<
 *     except:
 *         pass
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 984, __pyx_L20_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_memoryviewslice_type, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(2, 984, __pyx_L20_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      PyType_Modified(__pyx_memoryviewslice_type);

      /* "View.MemoryView":982
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L25_try_end;
    __pyx_L20_error:;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "View.MemoryView":985
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 *     except:             # <<<<<<<<<<<<<<
 *         pass
 * 
 */
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L21_exception_handled;
    }
    __pyx_L21_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_7, __pyx_t_8);
    __pyx_L25_try_end:;
  }

  /* "View.MemoryView":988
 *         pass
 * 
 * try:             # <<<<<<<<<<<<<<
 *     if __pyx_collections_abc_Sequence:
 * 
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_1);
    /*try:*/ {

      /* "View.MemoryView":989
 * 
 * try:
 *     if __pyx_collections_abc_Sequence:             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_collections_abc_Sequence); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 989, __pyx_L26_error)
      if (__pyx_t_2) {

        /* "View.MemoryView":993
 * 
 * 
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)             # <<<<<<<<<<<<<<
 *         __pyx_collections_abc_Sequence.register(array)
 * except:
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_register); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 993, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_memoryviewslice_type)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 993, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "View.MemoryView":994
 * 
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)
 *         __pyx_collections_abc_Sequence.register(array)             # <<<<<<<<<<<<<<
 * except:
 *     pass  # ignore failure, it's a minor issue
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_register); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 994, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_array_type)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 994, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "View.MemoryView":989
 * 
 * try:
 *     if __pyx_collections_abc_Sequence:             # <<<<<<<<<<<<<<
 * 
 * 
 */
      }

      /* "View.MemoryView":988
 *         pass
 * 
 * try:             # <<<<<<<<<<<<<<
 *     if __pyx_collections_abc_Sequence:
 * 
 */
    }
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L31_try_end;
    __pyx_L26_error:;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "View.MemoryView":995
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)
 *         __pyx_collections_abc_Sequence.register(array)
 * except:             # <<<<<<<<<<<<<<
 *     pass  # ignore failure, it's a minor issue
 * 
 */
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L27_exception_handled;
    }
    __pyx_L27_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_1);
    __pyx_L31_try_end:;
  }

  /* "(tree fragment)":1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum, NULL, __pyx_n_s_View_MemoryView); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Enum, __pyx_t_4) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Axis value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_4 = __Pyx_Globals(); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (!(likely(PyDict_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_4))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_4));
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     Axis = __Pyx_FlagBase('Axis', [
 *         ('X1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1)),             # <<<<<<<<<<<<<<
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),
 *         ('X3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3)),
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_n_s_X1);
    __Pyx_GIVEREF(__pyx_n_s_X1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_X1)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":82
 *     Axis = __Pyx_FlagBase('Axis', [
 *         ('X1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1)),
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),             # <<<<<<<<<<<<<<
 *         ('X3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3)),
 *         ('Y1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1)),
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_X2);
    __Pyx_GIVEREF(__pyx_n_s_X2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_X2)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":83
 *         ('X1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1)),
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),
 *         ('X3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3)),             # <<<<<<<<<<<<<<
 *         ('Y1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1)),
 *         ('Y2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2)),
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_n_s_X3);
    __Pyx_GIVEREF(__pyx_n_s_X3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_X3)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":84
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),
 *         ('X3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3)),
 *         ('Y1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1)),             # <<<<<<<<<<<<<<
 *         ('Y2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2)),
 *         ('Y3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3)),
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_Y1);
    __Pyx_GIVEREF(__pyx_n_s_Y1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_Y1)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":85
 *         ('X3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3)),
 *         ('Y1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1)),
 *         ('Y2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2)),             # <<<<<<<<<<<<<<
 *         ('Y3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3)),
 * 
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_Y2);
    __Pyx_GIVEREF(__pyx_n_s_Y2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_Y2)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":86
 *         ('Y1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1)),
 *         ('Y2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2)),
 *         ('Y3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_Y3);
    __Pyx_GIVEREF(__pyx_n_s_Y3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_Y3)) __PYX_ERR(2, 86, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_4)) __PYX_ERR(2, 86, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":80
 * 
 * 
 *     Axis = __Pyx_FlagBase('Axis', [             # <<<<<<<<<<<<<<
 *         ('X1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1)),
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),
 */
    __pyx_t_4 = PyList_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 4, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 5, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    __pyx_t_10 = 0;
    __pyx_t_11 = 0;
    __pyx_t_12 = 0;
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_Axis);
    __Pyx_GIVEREF(__pyx_n_s_Axis);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_Axis)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_4 = 0;

    /* "EnumType":88
 *         ('Y3', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 88, __pyx_L1_error)
    }
    __pyx_t_11 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_module_2, __pyx_t_11) < 0) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":80
 * 
 * 
 *     Axis = __Pyx_FlagBase('Axis', [             # <<<<<<<<<<<<<<
 *         ('X1', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1)),
 *         ('X2', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2)),
 */
    __pyx_t_11 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_12, __pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_Axis, __pyx_t_11) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":90
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":95
 * 
 * 
 *         Axis._member_names_ = list(Axis.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['X1'] = Axis.X1
 */
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_members); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PySequence_ListKeepNew(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Axis); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_member_names, __pyx_t_11) < 0) __PYX_ERR(2, 95, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "EnumType":90
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":97
 *         Axis._member_names_ = list(Axis.__members__)
 * 
 *     __Pyx_globals['X1'] = Axis.X1             # <<<<<<<<<<<<<<
 *     __Pyx_globals['X2'] = Axis.X2
 *     __Pyx_globals['X3'] = Axis.X3
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Axis); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_X1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 97, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X1, __pyx_t_11) < 0))) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":98
 * 
 *     __Pyx_globals['X1'] = Axis.X1
 *     __Pyx_globals['X2'] = Axis.X2             # <<<<<<<<<<<<<<
 *     __Pyx_globals['X3'] = Axis.X3
 *     __Pyx_globals['Y1'] = Axis.Y1
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 98, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X2, __pyx_t_4) < 0))) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":99
 *     __Pyx_globals['X1'] = Axis.X1
 *     __Pyx_globals['X2'] = Axis.X2
 *     __Pyx_globals['X3'] = Axis.X3             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y1'] = Axis.Y1
 *     __Pyx_globals['Y2'] = Axis.Y2
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Axis); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_X3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 99, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X3, __pyx_t_11) < 0))) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":100
 *     __Pyx_globals['X2'] = Axis.X2
 *     __Pyx_globals['X3'] = Axis.X3
 *     __Pyx_globals['Y1'] = Axis.Y1             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y2'] = Axis.Y2
 *     __Pyx_globals['Y3'] = Axis.Y3
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_Y1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 100, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y1, __pyx_t_4) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":101
 *     __Pyx_globals['X3'] = Axis.X3
 *     __Pyx_globals['Y1'] = Axis.Y1
 *     __Pyx_globals['Y2'] = Axis.Y2             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y3'] = Axis.Y3
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Axis); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Y2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 101, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y2, __pyx_t_11) < 0))) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":102
 *     __Pyx_globals['Y1'] = Axis.Y1
 *     __Pyx_globals['Y2'] = Axis.Y2
 *     __Pyx_globals['Y3'] = Axis.Y3             # <<<<<<<<<<<<<<
 * else:
 *     class Axis(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_Y3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y3, __pyx_t_4) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L33;
  }

  /* "EnumType":104
 *     __Pyx_globals['Y3'] = Axis.Y3
 * else:
 *     class Axis(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['X1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1), 'X1')
 */
  /*else*/ {
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __Pyx_FlagBase)) __PYX_ERR(2, 104, __pyx_L1_error);
    __pyx_t_11 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_CalculateMetaclass(NULL, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = __Pyx_Py3MetaclassPrepare(__pyx_t_12, __pyx_t_11, __pyx_n_s_Axis, __pyx_n_s_Axis, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (__pyx_t_11 != __pyx_t_4) {
      if (unlikely((PyDict_SetItemString(__pyx_t_10, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_12, __pyx_n_s_Axis, __pyx_t_11, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_Axis, __pyx_t_4) < 0) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":106
 *     class Axis(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['X1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1), 'X1')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['X2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2), 'X2')
 *     __Pyx_globals['X3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3), 'X3')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X1); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12)) __PYX_ERR(2, 106, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_X1);
    __Pyx_GIVEREF(__pyx_n_s_X1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_X1)) __PYX_ERR(2, 106, __pyx_L1_error);
    __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 106, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X1, __pyx_t_12) < 0))) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":107
 *         pass
 *     __Pyx_globals['X1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1), 'X1')
 *     __Pyx_globals['X2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2), 'X2')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['X3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3), 'X3')
 *     __Pyx_globals['Y1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1), 'Y1')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_Axis); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10)) __PYX_ERR(2, 107, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_X2);
    __Pyx_GIVEREF(__pyx_n_s_X2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_X2)) __PYX_ERR(2, 107, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 107, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X2, __pyx_t_10) < 0))) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":108
 *     __Pyx_globals['X1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X1), 'X1')
 *     __Pyx_globals['X2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2), 'X2')
 *     __Pyx_globals['X3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3), 'X3')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1), 'Y1')
 *     __Pyx_globals['Y2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2), 'Y2')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Axis); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_X3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_X3);
    __Pyx_GIVEREF(__pyx_n_s_X3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_n_s_X3)) __PYX_ERR(2, 108, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 108, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_X3, __pyx_t_11) < 0))) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":109
 *     __Pyx_globals['X2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X2), 'X2')
 *     __Pyx_globals['X3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3), 'X3')
 *     __Pyx_globals['Y1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1), 'Y1')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2), 'Y2')
 *     __Pyx_globals['Y3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3), 'Y3')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Axis); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y1); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12)) __PYX_ERR(2, 109, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_Y1);
    __Pyx_GIVEREF(__pyx_n_s_Y1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_Y1)) __PYX_ERR(2, 109, __pyx_L1_error);
    __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 109, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y1, __pyx_t_12) < 0))) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":110
 *     __Pyx_globals['X3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(X3), 'X3')
 *     __Pyx_globals['Y1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1), 'Y1')
 *     __Pyx_globals['Y2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2), 'Y2')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Y3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3), 'Y3')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_Axis); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10)) __PYX_ERR(2, 110, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_Y2);
    __Pyx_GIVEREF(__pyx_n_s_Y2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_Y2)) __PYX_ERR(2, 110, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 110, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y2, __pyx_t_10) < 0))) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":111
 *     __Pyx_globals['Y1'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y1), 'Y1')
 *     __Pyx_globals['Y2'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y2), 'Y2')
 *     __Pyx_globals['Y3'] = Axis(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(Y3), 'Y3')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Axis); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(__pyx_e_9dearcygui_4core_Y3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_Y3);
    __Pyx_GIVEREF(__pyx_n_s_Y3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_n_s_Y3)) __PYX_ERR(2, 111, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 111, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Y3, __pyx_t_11) < 0))) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  }
  __pyx_L33:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(AxisScale value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_11 = __Pyx_Globals(); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (!(likely(PyDict_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_11))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_11));
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     AxisScale = __Pyx_FlagBase('AxisScale', [
 *         ('linear', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear)),             # <<<<<<<<<<<<<<
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),
 *         ('log10', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_linear); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_linear);
    __Pyx_GIVEREF(__pyx_n_s_linear);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_linear)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":82
 *     AxisScale = __Pyx_FlagBase('AxisScale', [
 *         ('linear', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear)),
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),             # <<<<<<<<<<<<<<
 *         ('log10', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10)),
 *         ('symlog', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_time); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_time);
    __Pyx_GIVEREF(__pyx_n_s_time);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_time)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":83
 *         ('linear', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear)),
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),
 *         ('log10', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10)),             # <<<<<<<<<<<<<<
 *         ('symlog', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog)),
 * 
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_log10); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_n_s_log10);
    __Pyx_GIVEREF(__pyx_n_s_log10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_log10)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":84
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),
 *         ('log10', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10)),
 *         ('symlog', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_symlog); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_n_s_symlog);
    __Pyx_GIVEREF(__pyx_n_s_symlog);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_symlog)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":80
 * 
 * 
 *     AxisScale = __Pyx_FlagBase('AxisScale', [             # <<<<<<<<<<<<<<
 *         ('linear', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear)),
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),
 */
    __pyx_t_11 = PyList_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 3, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_12 = 0;
    __pyx_t_10 = 0;
    __pyx_t_4 = 0;
    __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_n_s_AxisScale);
    __Pyx_GIVEREF(__pyx_n_s_AxisScale);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_AxisScale)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":86
 *         ('symlog', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 86, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_module_2, __pyx_t_4) < 0) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":80
 * 
 * 
 *     AxisScale = __Pyx_FlagBase('AxisScale', [             # <<<<<<<<<<<<<<
 *         ('linear', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear)),
 *         ('time', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time)),
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_5, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_AxisScale, __pyx_t_4) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":88
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":93
 * 
 * 
 *         AxisScale._member_names_ = list(AxisScale.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['linear'] = AxisScale.linear
 */
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_members); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PySequence_ListKeepNew(__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_member_names, __pyx_t_4) < 0) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "EnumType":88
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":95
 *         AxisScale._member_names_ = list(AxisScale.__members__)
 * 
 *     __Pyx_globals['linear'] = AxisScale.linear             # <<<<<<<<<<<<<<
 *     __Pyx_globals['time'] = AxisScale.time
 *     __Pyx_globals['log10'] = AxisScale.log10
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_linear); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 95, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_linear, __pyx_t_4) < 0))) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":96
 * 
 *     __Pyx_globals['linear'] = AxisScale.linear
 *     __Pyx_globals['time'] = AxisScale.time             # <<<<<<<<<<<<<<
 *     __Pyx_globals['log10'] = AxisScale.log10
 *     __Pyx_globals['symlog'] = AxisScale.symlog
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 96, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_time, __pyx_t_11) < 0))) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":97
 *     __Pyx_globals['linear'] = AxisScale.linear
 *     __Pyx_globals['time'] = AxisScale.time
 *     __Pyx_globals['log10'] = AxisScale.log10             # <<<<<<<<<<<<<<
 *     __Pyx_globals['symlog'] = AxisScale.symlog
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_log10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 97, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_log10, __pyx_t_4) < 0))) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":98
 *     __Pyx_globals['time'] = AxisScale.time
 *     __Pyx_globals['log10'] = AxisScale.log10
 *     __Pyx_globals['symlog'] = AxisScale.symlog             # <<<<<<<<<<<<<<
 * else:
 *     class AxisScale(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_symlog); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 98, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_symlog, __pyx_t_11) < 0))) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L35;
  }

  /* "EnumType":100
 *     __Pyx_globals['symlog'] = AxisScale.symlog
 * else:
 *     class AxisScale(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['linear'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear), 'linear')
 */
  /*else*/ {
    __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __Pyx_FlagBase)) __PYX_ERR(2, 100, __pyx_L1_error);
    __pyx_t_4 = __Pyx_PEP560_update_bases(__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_4, __pyx_n_s_AxisScale, __pyx_n_s_AxisScale, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (__pyx_t_4 != __pyx_t_11) {
      if (unlikely((PyDict_SetItemString(__pyx_t_10, "__orig_bases__", __pyx_t_11) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_AxisScale, __pyx_t_4, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_AxisScale, __pyx_t_11) < 0) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":102
 *     class AxisScale(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['linear'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear), 'linear')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['time'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time), 'time')
 *     __Pyx_globals['log10'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10), 'log10')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_linear); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5)) __PYX_ERR(2, 102, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_linear);
    __Pyx_GIVEREF(__pyx_n_s_linear);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_linear)) __PYX_ERR(2, 102, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_linear, __pyx_t_5) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":103
 *         pass
 *     __Pyx_globals['linear'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear), 'linear')
 *     __Pyx_globals['time'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time), 'time')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['log10'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10), 'log10')
 *     __Pyx_globals['symlog'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog), 'symlog')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_time); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_10)) __PYX_ERR(2, 103, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_time);
    __Pyx_GIVEREF(__pyx_n_s_time);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_time)) __PYX_ERR(2, 103, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 103, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_time, __pyx_t_10) < 0))) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":104
 *     __Pyx_globals['linear'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(linear), 'linear')
 *     __Pyx_globals['time'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time), 'time')
 *     __Pyx_globals['log10'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10), 'log10')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['symlog'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog), 'symlog')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_log10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4)) __PYX_ERR(2, 104, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_log10);
    __Pyx_GIVEREF(__pyx_n_s_log10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_log10)) __PYX_ERR(2, 104, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_log10, __pyx_t_4) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":105
 *     __Pyx_globals['time'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(time), 'time')
 *     __Pyx_globals['log10'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(log10), 'log10')
 *     __Pyx_globals['symlog'] = AxisScale(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(symlog), 'symlog')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AxisScale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(__pyx_e_9dearcygui_4core_symlog); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5)) __PYX_ERR(2, 105, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_symlog);
    __Pyx_GIVEREF(__pyx_n_s_symlog);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_symlog)) __PYX_ERR(2, 105, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 105, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_symlog, __pyx_t_5) < 0))) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_L35:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(LegendLocation value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_5 = __Pyx_Globals(); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (!(likely(PyDict_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_5))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_5));
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     LegendLocation = __Pyx_FlagBase('LegendLocation', [
 *         ('center', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center)),             # <<<<<<<<<<<<<<
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),
 *         ('south', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_center); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_center);
    __Pyx_GIVEREF(__pyx_n_s_center);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_center)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_5)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":82
 *     LegendLocation = __Pyx_FlagBase('LegendLocation', [
 *         ('center', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center)),
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),             # <<<<<<<<<<<<<<
 *         ('south', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south)),
 *         ('west', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_north); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_n_s_north);
    __Pyx_GIVEREF(__pyx_n_s_north);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_north)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":83
 *         ('center', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center)),
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),
 *         ('south', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south)),             # <<<<<<<<<<<<<<
 *         ('west', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west)),
 *         ('east', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_south); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_south);
    __Pyx_GIVEREF(__pyx_n_s_south);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_south)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":84
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),
 *         ('south', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south)),
 *         ('west', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west)),             # <<<<<<<<<<<<<<
 *         ('east', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east)),
 *         ('northwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_west); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_west);
    __Pyx_GIVEREF(__pyx_n_s_west);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_west)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_5)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":85
 *         ('south', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south)),
 *         ('west', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west)),
 *         ('east', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east)),             # <<<<<<<<<<<<<<
 *         ('northwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest)),
 *         ('northeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_east); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_east);
    __Pyx_GIVEREF(__pyx_n_s_east);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_east)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":86
 *         ('west', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west)),
 *         ('east', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east)),
 *         ('northwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest)),             # <<<<<<<<<<<<<<
 *         ('northeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast)),
 *         ('southwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_northwest); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_n_s_northwest);
    __Pyx_GIVEREF(__pyx_n_s_northwest);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_northwest)) __PYX_ERR(2, 86, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5)) __PYX_ERR(2, 86, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":87
 *         ('east', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east)),
 *         ('northwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest)),
 *         ('northeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast)),             # <<<<<<<<<<<<<<
 *         ('southwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest)),
 *         ('southeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_northeast); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_northeast);
    __Pyx_GIVEREF(__pyx_n_s_northeast);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_northeast)) __PYX_ERR(2, 87, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_5)) __PYX_ERR(2, 87, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":88
 *         ('northwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest)),
 *         ('northeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast)),
 *         ('southwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest)),             # <<<<<<<<<<<<<<
 *         ('southeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast)),
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_southwest); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_INCREF(__pyx_n_s_southwest);
    __Pyx_GIVEREF(__pyx_n_s_southwest);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_n_s_southwest)) __PYX_ERR(2, 88, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_5)) __PYX_ERR(2, 88, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":89
 *         ('northeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast)),
 *         ('southwest', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest)),
 *         ('southeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_southeast); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_southeast);
    __Pyx_GIVEREF(__pyx_n_s_southeast);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_southeast)) __PYX_ERR(2, 89, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_5)) __PYX_ERR(2, 89, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":80
 * 
 * 
 *     LegendLocation = __Pyx_FlagBase('LegendLocation', [             # <<<<<<<<<<<<<<
 *         ('center', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center)),
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),
 */
    __pyx_t_5 = PyList_New(9); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 3, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 4, __pyx_t_3)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 5, __pyx_t_6)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 6, __pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_14);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 7, __pyx_t_14)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 8, __pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_4 = 0;
    __pyx_t_11 = 0;
    __pyx_t_12 = 0;
    __pyx_t_3 = 0;
    __pyx_t_6 = 0;
    __pyx_t_13 = 0;
    __pyx_t_14 = 0;
    __pyx_t_15 = 0;
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_LegendLocation);
    __Pyx_GIVEREF(__pyx_n_s_LegendLocation);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_LegendLocation)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":91
 *         ('southeast', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 91, __pyx_L1_error)
    }
    __pyx_t_14 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_module_2, __pyx_t_14) < 0) __PYX_ERR(2, 91, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":80
 * 
 * 
 *     LegendLocation = __Pyx_FlagBase('LegendLocation', [             # <<<<<<<<<<<<<<
 *         ('center', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center)),
 *         ('north', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north)),
 */
    __pyx_t_14 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_15, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_LegendLocation, __pyx_t_14) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":93
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":98
 * 
 * 
 *         LegendLocation._member_names_ = list(LegendLocation.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['center'] = LegendLocation.center
 */
      __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_members); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __pyx_t_14 = __Pyx_PySequence_ListKeepNew(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_member_names, __pyx_t_14) < 0) __PYX_ERR(2, 98, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "EnumType":93
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":100
 *         LegendLocation._member_names_ = list(LegendLocation.__members__)
 * 
 *     __Pyx_globals['center'] = LegendLocation.center             # <<<<<<<<<<<<<<
 *     __Pyx_globals['north'] = LegendLocation.north
 *     __Pyx_globals['south'] = LegendLocation.south
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_center); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 100, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_center, __pyx_t_14) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":101
 * 
 *     __Pyx_globals['center'] = LegendLocation.center
 *     __Pyx_globals['north'] = LegendLocation.north             # <<<<<<<<<<<<<<
 *     __Pyx_globals['south'] = LegendLocation.south
 *     __Pyx_globals['west'] = LegendLocation.west
 */
    __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_north); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 101, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_north, __pyx_t_5) < 0))) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":102
 *     __Pyx_globals['center'] = LegendLocation.center
 *     __Pyx_globals['north'] = LegendLocation.north
 *     __Pyx_globals['south'] = LegendLocation.south             # <<<<<<<<<<<<<<
 *     __Pyx_globals['west'] = LegendLocation.west
 *     __Pyx_globals['east'] = LegendLocation.east
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_south); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_south, __pyx_t_14) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":103
 *     __Pyx_globals['north'] = LegendLocation.north
 *     __Pyx_globals['south'] = LegendLocation.south
 *     __Pyx_globals['west'] = LegendLocation.west             # <<<<<<<<<<<<<<
 *     __Pyx_globals['east'] = LegendLocation.east
 *     __Pyx_globals['northwest'] = LegendLocation.northwest
 */
    __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_west); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 103, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_west, __pyx_t_5) < 0))) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":104
 *     __Pyx_globals['south'] = LegendLocation.south
 *     __Pyx_globals['west'] = LegendLocation.west
 *     __Pyx_globals['east'] = LegendLocation.east             # <<<<<<<<<<<<<<
 *     __Pyx_globals['northwest'] = LegendLocation.northwest
 *     __Pyx_globals['northeast'] = LegendLocation.northeast
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_east); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_east, __pyx_t_14) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":105
 *     __Pyx_globals['west'] = LegendLocation.west
 *     __Pyx_globals['east'] = LegendLocation.east
 *     __Pyx_globals['northwest'] = LegendLocation.northwest             # <<<<<<<<<<<<<<
 *     __Pyx_globals['northeast'] = LegendLocation.northeast
 *     __Pyx_globals['southwest'] = LegendLocation.southwest
 */
    __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_northwest); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 105, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_northwest, __pyx_t_5) < 0))) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":106
 *     __Pyx_globals['east'] = LegendLocation.east
 *     __Pyx_globals['northwest'] = LegendLocation.northwest
 *     __Pyx_globals['northeast'] = LegendLocation.northeast             # <<<<<<<<<<<<<<
 *     __Pyx_globals['southwest'] = LegendLocation.southwest
 *     __Pyx_globals['southeast'] = LegendLocation.southeast
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_northeast); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 106, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_northeast, __pyx_t_14) < 0))) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":107
 *     __Pyx_globals['northwest'] = LegendLocation.northwest
 *     __Pyx_globals['northeast'] = LegendLocation.northeast
 *     __Pyx_globals['southwest'] = LegendLocation.southwest             # <<<<<<<<<<<<<<
 *     __Pyx_globals['southeast'] = LegendLocation.southeast
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_southwest); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 107, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_southwest, __pyx_t_5) < 0))) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":108
 *     __Pyx_globals['northeast'] = LegendLocation.northeast
 *     __Pyx_globals['southwest'] = LegendLocation.southwest
 *     __Pyx_globals['southeast'] = LegendLocation.southeast             # <<<<<<<<<<<<<<
 * else:
 *     class LegendLocation(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_southeast); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 108, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_southeast, __pyx_t_14) < 0))) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L37;
  }

  /* "EnumType":110
 *     __Pyx_globals['southeast'] = LegendLocation.southeast
 * else:
 *     class LegendLocation(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['center'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center), 'center')
 */
  /*else*/ {
    __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __Pyx_FlagBase)) __PYX_ERR(2, 110, __pyx_L1_error);
    __pyx_t_5 = __Pyx_PEP560_update_bases(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = __Pyx_Py3MetaclassPrepare(__pyx_t_15, __pyx_t_5, __pyx_n_s_LegendLocation, __pyx_n_s_LegendLocation, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    if (__pyx_t_5 != __pyx_t_14) {
      if (unlikely((PyDict_SetItemString(__pyx_t_13, "__orig_bases__", __pyx_t_14) < 0))) __PYX_ERR(2, 110, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __pyx_t_14 = __Pyx_Py3ClassCreate(__pyx_t_15, __pyx_n_s_LegendLocation, __pyx_t_5, __pyx_t_13, NULL, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_LegendLocation, __pyx_t_14) < 0) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":112
 *     class LegendLocation(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['center'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center), 'center')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['north'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north), 'north')
 *     __Pyx_globals['south'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south), 'south')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_center); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15)) __PYX_ERR(2, 112, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_center);
    __Pyx_GIVEREF(__pyx_n_s_center);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_n_s_center)) __PYX_ERR(2, 112, __pyx_L1_error);
    __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 112, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_center, __pyx_t_15) < 0))) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":113
 *         pass
 *     __Pyx_globals['center'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center), 'center')
 *     __Pyx_globals['north'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north), 'north')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['south'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south), 'south')
 *     __Pyx_globals['west'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west), 'west')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_north); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13)) __PYX_ERR(2, 113, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_north);
    __Pyx_GIVEREF(__pyx_n_s_north);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_north)) __PYX_ERR(2, 113, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 113, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_north, __pyx_t_13) < 0))) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "EnumType":114
 *     __Pyx_globals['center'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(center), 'center')
 *     __Pyx_globals['north'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north), 'north')
 *     __Pyx_globals['south'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south), 'south')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['west'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west), 'west')
 *     __Pyx_globals['east'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east), 'east')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_south); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5)) __PYX_ERR(2, 114, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_south);
    __Pyx_GIVEREF(__pyx_n_s_south);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_n_s_south)) __PYX_ERR(2, 114, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 114, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_south, __pyx_t_5) < 0))) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":115
 *     __Pyx_globals['north'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(north), 'north')
 *     __Pyx_globals['south'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south), 'south')
 *     __Pyx_globals['west'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west), 'west')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['east'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east), 'east')
 *     __Pyx_globals['northwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest), 'northwest')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_west); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15)) __PYX_ERR(2, 115, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_west);
    __Pyx_GIVEREF(__pyx_n_s_west);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_n_s_west)) __PYX_ERR(2, 115, __pyx_L1_error);
    __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 115, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_west, __pyx_t_15) < 0))) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":116
 *     __Pyx_globals['south'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(south), 'south')
 *     __Pyx_globals['west'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west), 'west')
 *     __Pyx_globals['east'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east), 'east')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['northwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest), 'northwest')
 *     __Pyx_globals['northeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast), 'northeast')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_east); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13)) __PYX_ERR(2, 116, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_east);
    __Pyx_GIVEREF(__pyx_n_s_east);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_east)) __PYX_ERR(2, 116, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 116, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_east, __pyx_t_13) < 0))) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "EnumType":117
 *     __Pyx_globals['west'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(west), 'west')
 *     __Pyx_globals['east'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east), 'east')
 *     __Pyx_globals['northwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest), 'northwest')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['northeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast), 'northeast')
 *     __Pyx_globals['southwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest), 'southwest')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_northwest); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5)) __PYX_ERR(2, 117, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_northwest);
    __Pyx_GIVEREF(__pyx_n_s_northwest);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_n_s_northwest)) __PYX_ERR(2, 117, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 117, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_northwest, __pyx_t_5) < 0))) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":118
 *     __Pyx_globals['east'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(east), 'east')
 *     __Pyx_globals['northwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest), 'northwest')
 *     __Pyx_globals['northeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast), 'northeast')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['southwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest), 'southwest')
 *     __Pyx_globals['southeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast), 'southeast')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_northeast); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15)) __PYX_ERR(2, 118, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_northeast);
    __Pyx_GIVEREF(__pyx_n_s_northeast);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_n_s_northeast)) __PYX_ERR(2, 118, __pyx_L1_error);
    __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 118, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_northeast, __pyx_t_15) < 0))) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":119
 *     __Pyx_globals['northwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northwest), 'northwest')
 *     __Pyx_globals['northeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast), 'northeast')
 *     __Pyx_globals['southwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest), 'southwest')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['southeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast), 'southeast')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_southwest); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13)) __PYX_ERR(2, 119, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_southwest);
    __Pyx_GIVEREF(__pyx_n_s_southwest);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_southwest)) __PYX_ERR(2, 119, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 119, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_southwest, __pyx_t_13) < 0))) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "EnumType":120
 *     __Pyx_globals['northeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(northeast), 'northeast')
 *     __Pyx_globals['southwest'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southwest), 'southwest')
 *     __Pyx_globals['southeast'] = LegendLocation(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(southeast), 'southeast')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_LegendLocation); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(__pyx_e_9dearcygui_4core_southeast); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5)) __PYX_ERR(2, 120, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_southeast);
    __Pyx_GIVEREF(__pyx_n_s_southeast);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_n_s_southeast)) __PYX_ERR(2, 120, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 120, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_southeast, __pyx_t_5) < 0))) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_L37:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(alignment value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_5 = __Pyx_Globals(); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (!(likely(PyDict_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_5))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_5));
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     alignment = __Pyx_FlagBase('alignment', [
 *         ('LEFT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT)),             # <<<<<<<<<<<<<<
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),
 *         ('RIGHT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_LEFT); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_LEFT);
    __Pyx_GIVEREF(__pyx_n_s_LEFT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_LEFT)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_5)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":82
 *     alignment = __Pyx_FlagBase('alignment', [
 *         ('LEFT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT)),
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),             # <<<<<<<<<<<<<<
 *         ('RIGHT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT)),
 *         ('BOTTOM', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_TOP); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_TOP);
    __Pyx_GIVEREF(__pyx_n_s_TOP);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_TOP)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_5)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":83
 *         ('LEFT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT)),
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),
 *         ('RIGHT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT)),             # <<<<<<<<<<<<<<
 *         ('BOTTOM', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM)),
 *         ('CENTER', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_RIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_INCREF(__pyx_n_s_RIGHT);
    __Pyx_GIVEREF(__pyx_n_s_RIGHT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_n_s_RIGHT)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_5)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":84
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),
 *         ('RIGHT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT)),
 *         ('BOTTOM', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM)),             # <<<<<<<<<<<<<<
 *         ('CENTER', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER)),
 *         ('JUSTIFIED', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_BOTTOM); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_n_s_BOTTOM);
    __Pyx_GIVEREF(__pyx_n_s_BOTTOM);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_BOTTOM)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":85
 *         ('RIGHT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT)),
 *         ('BOTTOM', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM)),
 *         ('CENTER', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER)),             # <<<<<<<<<<<<<<
 *         ('JUSTIFIED', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED)),
 *         ('MANUAL', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL)),
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_CENTER); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_CENTER);
    __Pyx_GIVEREF(__pyx_n_s_CENTER);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_CENTER)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":86
 *         ('BOTTOM', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM)),
 *         ('CENTER', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER)),
 *         ('JUSTIFIED', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED)),             # <<<<<<<<<<<<<<
 *         ('MANUAL', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL)),
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_JUSTIFIED); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_JUSTIFIED);
    __Pyx_GIVEREF(__pyx_n_s_JUSTIFIED);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_JUSTIFIED)) __PYX_ERR(2, 86, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_5)) __PYX_ERR(2, 86, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":87
 *         ('CENTER', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER)),
 *         ('JUSTIFIED', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED)),
 *         ('MANUAL', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_MANUAL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_MANUAL);
    __Pyx_GIVEREF(__pyx_n_s_MANUAL);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_MANUAL)) __PYX_ERR(2, 87, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5)) __PYX_ERR(2, 87, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":80
 * 
 * 
 *     alignment = __Pyx_FlagBase('alignment', [             # <<<<<<<<<<<<<<
 *         ('LEFT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT)),
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),
 */
    __pyx_t_5 = PyList_New(7); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_14);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_14)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 3, __pyx_t_6)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 4, __pyx_t_3)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 5, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 6, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_15 = 0;
    __pyx_t_13 = 0;
    __pyx_t_14 = 0;
    __pyx_t_6 = 0;
    __pyx_t_3 = 0;
    __pyx_t_12 = 0;
    __pyx_t_11 = 0;
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_alignment);
    __Pyx_GIVEREF(__pyx_n_s_alignment);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_alignment)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_5 = 0;

    /* "EnumType":89
 *         ('MANUAL', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 89, __pyx_L1_error)
    }
    __pyx_t_12 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_module_2, __pyx_t_12) < 0) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":80
 * 
 * 
 *     alignment = __Pyx_FlagBase('alignment', [             # <<<<<<<<<<<<<<
 *         ('LEFT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT)),
 *         ('TOP', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP)),
 */
    __pyx_t_12 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_11, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_alignment, __pyx_t_12) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":91
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":96
 * 
 * 
 *         alignment._member_names_ = list(alignment.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['LEFT'] = alignment.LEFT
 */
      __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_alignment); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_members); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PySequence_ListKeepNew(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_member_names, __pyx_t_12) < 0) __PYX_ERR(2, 96, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "EnumType":91
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":98
 *         alignment._member_names_ = list(alignment.__members__)
 * 
 *     __Pyx_globals['LEFT'] = alignment.LEFT             # <<<<<<<<<<<<<<
 *     __Pyx_globals['TOP'] = alignment.TOP
 *     __Pyx_globals['RIGHT'] = alignment.RIGHT
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_LEFT); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 98, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_LEFT, __pyx_t_12) < 0))) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":99
 * 
 *     __Pyx_globals['LEFT'] = alignment.LEFT
 *     __Pyx_globals['TOP'] = alignment.TOP             # <<<<<<<<<<<<<<
 *     __Pyx_globals['RIGHT'] = alignment.RIGHT
 *     __Pyx_globals['BOTTOM'] = alignment.BOTTOM
 */
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_alignment); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_TOP); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 99, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_TOP, __pyx_t_5) < 0))) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":100
 *     __Pyx_globals['LEFT'] = alignment.LEFT
 *     __Pyx_globals['TOP'] = alignment.TOP
 *     __Pyx_globals['RIGHT'] = alignment.RIGHT             # <<<<<<<<<<<<<<
 *     __Pyx_globals['BOTTOM'] = alignment.BOTTOM
 *     __Pyx_globals['CENTER'] = alignment.CENTER
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_RIGHT); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 100, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_RIGHT, __pyx_t_12) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":101
 *     __Pyx_globals['TOP'] = alignment.TOP
 *     __Pyx_globals['RIGHT'] = alignment.RIGHT
 *     __Pyx_globals['BOTTOM'] = alignment.BOTTOM             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CENTER'] = alignment.CENTER
 *     __Pyx_globals['JUSTIFIED'] = alignment.JUSTIFIED
 */
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_alignment); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_BOTTOM); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 101, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_BOTTOM, __pyx_t_5) < 0))) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":102
 *     __Pyx_globals['RIGHT'] = alignment.RIGHT
 *     __Pyx_globals['BOTTOM'] = alignment.BOTTOM
 *     __Pyx_globals['CENTER'] = alignment.CENTER             # <<<<<<<<<<<<<<
 *     __Pyx_globals['JUSTIFIED'] = alignment.JUSTIFIED
 *     __Pyx_globals['MANUAL'] = alignment.MANUAL
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_CENTER); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CENTER, __pyx_t_12) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":103
 *     __Pyx_globals['BOTTOM'] = alignment.BOTTOM
 *     __Pyx_globals['CENTER'] = alignment.CENTER
 *     __Pyx_globals['JUSTIFIED'] = alignment.JUSTIFIED             # <<<<<<<<<<<<<<
 *     __Pyx_globals['MANUAL'] = alignment.MANUAL
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_alignment); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_JUSTIFIED); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 103, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_JUSTIFIED, __pyx_t_5) < 0))) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":104
 *     __Pyx_globals['CENTER'] = alignment.CENTER
 *     __Pyx_globals['JUSTIFIED'] = alignment.JUSTIFIED
 *     __Pyx_globals['MANUAL'] = alignment.MANUAL             # <<<<<<<<<<<<<<
 * else:
 *     class alignment(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_MANUAL); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_MANUAL, __pyx_t_12) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L39;
  }

  /* "EnumType":106
 *     __Pyx_globals['MANUAL'] = alignment.MANUAL
 * else:
 *     class alignment(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['LEFT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT), 'LEFT')
 */
  /*else*/ {
    __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __Pyx_FlagBase)) __PYX_ERR(2, 106, __pyx_L1_error);
    __pyx_t_5 = __Pyx_PEP560_update_bases(__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_11, __pyx_t_5, __pyx_n_s_alignment, __pyx_n_s_alignment, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__pyx_t_5 != __pyx_t_12) {
      if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_12) < 0))) __PYX_ERR(2, 106, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_Py3ClassCreate(__pyx_t_11, __pyx_n_s_alignment, __pyx_t_5, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_alignment, __pyx_t_12) < 0) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":108
 *     class alignment(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['LEFT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT), 'LEFT')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['TOP'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP), 'TOP')
 *     __Pyx_globals['RIGHT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT), 'RIGHT')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_LEFT); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_LEFT);
    __Pyx_GIVEREF(__pyx_n_s_LEFT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_LEFT)) __PYX_ERR(2, 108, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 108, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_LEFT, __pyx_t_11) < 0))) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":109
 *         pass
 *     __Pyx_globals['LEFT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT), 'LEFT')
 *     __Pyx_globals['TOP'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP), 'TOP')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['RIGHT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT), 'RIGHT')
 *     __Pyx_globals['BOTTOM'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM), 'BOTTOM')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_alignment); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_TOP); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(2, 109, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_TOP);
    __Pyx_GIVEREF(__pyx_n_s_TOP);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_TOP)) __PYX_ERR(2, 109, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 109, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_TOP, __pyx_t_3) < 0))) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "EnumType":110
 *     __Pyx_globals['LEFT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(LEFT), 'LEFT')
 *     __Pyx_globals['TOP'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP), 'TOP')
 *     __Pyx_globals['RIGHT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT), 'RIGHT')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['BOTTOM'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM), 'BOTTOM')
 *     __Pyx_globals['CENTER'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER), 'CENTER')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_alignment); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_RIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5)) __PYX_ERR(2, 110, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_RIGHT);
    __Pyx_GIVEREF(__pyx_n_s_RIGHT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_RIGHT)) __PYX_ERR(2, 110, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 110, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_RIGHT, __pyx_t_5) < 0))) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":111
 *     __Pyx_globals['TOP'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(TOP), 'TOP')
 *     __Pyx_globals['RIGHT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT), 'RIGHT')
 *     __Pyx_globals['BOTTOM'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM), 'BOTTOM')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CENTER'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER), 'CENTER')
 *     __Pyx_globals['JUSTIFIED'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED), 'JUSTIFIED')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_BOTTOM); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_BOTTOM);
    __Pyx_GIVEREF(__pyx_n_s_BOTTOM);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_BOTTOM)) __PYX_ERR(2, 111, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 111, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_BOTTOM, __pyx_t_11) < 0))) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":112
 *     __Pyx_globals['RIGHT'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(RIGHT), 'RIGHT')
 *     __Pyx_globals['BOTTOM'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM), 'BOTTOM')
 *     __Pyx_globals['CENTER'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER), 'CENTER')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['JUSTIFIED'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED), 'JUSTIFIED')
 *     __Pyx_globals['MANUAL'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL), 'MANUAL')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_alignment); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_CENTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(2, 112, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_CENTER);
    __Pyx_GIVEREF(__pyx_n_s_CENTER);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_CENTER)) __PYX_ERR(2, 112, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 112, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CENTER, __pyx_t_3) < 0))) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "EnumType":113
 *     __Pyx_globals['BOTTOM'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(BOTTOM), 'BOTTOM')
 *     __Pyx_globals['CENTER'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER), 'CENTER')
 *     __Pyx_globals['JUSTIFIED'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED), 'JUSTIFIED')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['MANUAL'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL), 'MANUAL')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_alignment); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_JUSTIFIED); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5)) __PYX_ERR(2, 113, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_JUSTIFIED);
    __Pyx_GIVEREF(__pyx_n_s_JUSTIFIED);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_JUSTIFIED)) __PYX_ERR(2, 113, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 113, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_JUSTIFIED, __pyx_t_5) < 0))) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "EnumType":114
 *     __Pyx_globals['CENTER'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(CENTER), 'CENTER')
 *     __Pyx_globals['JUSTIFIED'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(JUSTIFIED), 'JUSTIFIED')
 *     __Pyx_globals['MANUAL'] = alignment(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(MANUAL), 'MANUAL')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_alignment); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(__pyx_e_9dearcygui_4core_MANUAL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(2, 114, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_MANUAL);
    __Pyx_GIVEREF(__pyx_n_s_MANUAL);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_MANUAL)) __PYX_ERR(2, 114, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 114, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_MANUAL, __pyx_t_11) < 0))) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  }
  __pyx_L39:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(mouse_cursor value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_11 = __Pyx_Globals(); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (!(likely(PyDict_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_11))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_11));
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     mouse_cursor = __Pyx_FlagBase('mouse_cursor', [
 *         ('CursorNone', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone)),             # <<<<<<<<<<<<<<
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),
 *         ('CursorTextInput', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorNone); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_CursorNone);
    __Pyx_GIVEREF(__pyx_n_s_CursorNone);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_CursorNone)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":82
 *     mouse_cursor = __Pyx_FlagBase('mouse_cursor', [
 *         ('CursorNone', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone)),
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),             # <<<<<<<<<<<<<<
 *         ('CursorTextInput', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput)),
 *         ('ResizeAll', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorArrow); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_n_s_CursorArrow);
    __Pyx_GIVEREF(__pyx_n_s_CursorArrow);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_CursorArrow)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":83
 *         ('CursorNone', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone)),
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),
 *         ('CursorTextInput', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput)),             # <<<<<<<<<<<<<<
 *         ('ResizeAll', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll)),
 *         ('ResizeNS', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorTextInput); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_CursorTextInput);
    __Pyx_GIVEREF(__pyx_n_s_CursorTextInput);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_CursorTextInput)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":84
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),
 *         ('CursorTextInput', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput)),
 *         ('ResizeAll', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll)),             # <<<<<<<<<<<<<<
 *         ('ResizeNS', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS)),
 *         ('ResizeEW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeAll); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_n_s_ResizeAll);
    __Pyx_GIVEREF(__pyx_n_s_ResizeAll);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_ResizeAll)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":85
 *         ('CursorTextInput', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput)),
 *         ('ResizeAll', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll)),
 *         ('ResizeNS', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS)),             # <<<<<<<<<<<<<<
 *         ('ResizeEW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW)),
 *         ('ResizeNESW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNS); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_INCREF(__pyx_n_s_ResizeNS);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNS);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_n_s_ResizeNS)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_11)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":86
 *         ('ResizeAll', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll)),
 *         ('ResizeNS', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS)),
 *         ('ResizeEW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW)),             # <<<<<<<<<<<<<<
 *         ('ResizeNESW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW)),
 *         ('ResizeNWSE', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeEW); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_ResizeEW);
    __Pyx_GIVEREF(__pyx_n_s_ResizeEW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_ResizeEW)) __PYX_ERR(2, 86, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_11)) __PYX_ERR(2, 86, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":87
 *         ('ResizeNS', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS)),
 *         ('ResizeEW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW)),
 *         ('ResizeNESW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW)),             # <<<<<<<<<<<<<<
 *         ('ResizeNWSE', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE)),
 *         ('Hand', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNESW); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_ResizeNESW);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNESW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_ResizeNESW)) __PYX_ERR(2, 87, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_11)) __PYX_ERR(2, 87, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":88
 *         ('ResizeEW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW)),
 *         ('ResizeNESW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW)),
 *         ('ResizeNWSE', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE)),             # <<<<<<<<<<<<<<
 *         ('Hand', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand)),
 *         ('NotAllowed', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNWSE); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_n_s_ResizeNWSE);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNWSE);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_ResizeNWSE)) __PYX_ERR(2, 88, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_11)) __PYX_ERR(2, 88, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":89
 *         ('ResizeNESW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW)),
 *         ('ResizeNWSE', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE)),
 *         ('Hand', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand)),             # <<<<<<<<<<<<<<
 *         ('NotAllowed', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed)),
 * 
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_Hand); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_Hand);
    __Pyx_GIVEREF(__pyx_n_s_Hand);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_Hand)) __PYX_ERR(2, 89, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11)) __PYX_ERR(2, 89, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":90
 *         ('ResizeNWSE', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE)),
 *         ('Hand', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand)),
 *         ('NotAllowed', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_NotAllowed); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_INCREF(__pyx_n_s_NotAllowed);
    __Pyx_GIVEREF(__pyx_n_s_NotAllowed);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_n_s_NotAllowed)) __PYX_ERR(2, 90, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_11)) __PYX_ERR(2, 90, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":80
 * 
 * 
 *     mouse_cursor = __Pyx_FlagBase('mouse_cursor', [             # <<<<<<<<<<<<<<
 *         ('CursorNone', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone)),
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),
 */
    __pyx_t_11 = PyList_New(10); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_3)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 3, __pyx_t_6)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_14);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 4, __pyx_t_14)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 5, __pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 6, __pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 7, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 8, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 9, __pyx_t_16)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    __pyx_t_12 = 0;
    __pyx_t_6 = 0;
    __pyx_t_14 = 0;
    __pyx_t_13 = 0;
    __pyx_t_15 = 0;
    __pyx_t_4 = 0;
    __pyx_t_10 = 0;
    __pyx_t_16 = 0;
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_INCREF(__pyx_n_s_mouse_cursor);
    __Pyx_GIVEREF(__pyx_n_s_mouse_cursor);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_n_s_mouse_cursor)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":92
 *         ('NotAllowed', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 92, __pyx_L1_error)
    }
    __pyx_t_10 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_module_2, __pyx_t_10) < 0) __PYX_ERR(2, 92, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":80
 * 
 * 
 *     mouse_cursor = __Pyx_FlagBase('mouse_cursor', [             # <<<<<<<<<<<<<<
 *         ('CursorNone', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone)),
 *         ('CursorArrow', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow)),
 */
    __pyx_t_10 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_16, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_mouse_cursor, __pyx_t_10) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":94
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":99
 * 
 * 
 *         mouse_cursor._member_names_ = list(mouse_cursor.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['CursorNone'] = mouse_cursor.CursorNone
 */
      __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_members); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PySequence_ListKeepNew(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_member_names, __pyx_t_10) < 0) __PYX_ERR(2, 99, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "EnumType":94
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":101
 *         mouse_cursor._member_names_ = list(mouse_cursor.__members__)
 * 
 *     __Pyx_globals['CursorNone'] = mouse_cursor.CursorNone             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CursorArrow'] = mouse_cursor.CursorArrow
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor.CursorTextInput
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_CursorNone); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 101, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorNone, __pyx_t_10) < 0))) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":102
 * 
 *     __Pyx_globals['CursorNone'] = mouse_cursor.CursorNone
 *     __Pyx_globals['CursorArrow'] = mouse_cursor.CursorArrow             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor.CursorTextInput
 *     __Pyx_globals['ResizeAll'] = mouse_cursor.ResizeAll
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_CursorArrow); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorArrow, __pyx_t_11) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":103
 *     __Pyx_globals['CursorNone'] = mouse_cursor.CursorNone
 *     __Pyx_globals['CursorArrow'] = mouse_cursor.CursorArrow
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor.CursorTextInput             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeAll'] = mouse_cursor.ResizeAll
 *     __Pyx_globals['ResizeNS'] = mouse_cursor.ResizeNS
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_CursorTextInput); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 103, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorTextInput, __pyx_t_10) < 0))) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":104
 *     __Pyx_globals['CursorArrow'] = mouse_cursor.CursorArrow
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor.CursorTextInput
 *     __Pyx_globals['ResizeAll'] = mouse_cursor.ResizeAll             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNS'] = mouse_cursor.ResizeNS
 *     __Pyx_globals['ResizeEW'] = mouse_cursor.ResizeEW
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ResizeAll); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeAll, __pyx_t_11) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":105
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor.CursorTextInput
 *     __Pyx_globals['ResizeAll'] = mouse_cursor.ResizeAll
 *     __Pyx_globals['ResizeNS'] = mouse_cursor.ResizeNS             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeEW'] = mouse_cursor.ResizeEW
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor.ResizeNESW
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ResizeNS); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 105, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNS, __pyx_t_10) < 0))) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":106
 *     __Pyx_globals['ResizeAll'] = mouse_cursor.ResizeAll
 *     __Pyx_globals['ResizeNS'] = mouse_cursor.ResizeNS
 *     __Pyx_globals['ResizeEW'] = mouse_cursor.ResizeEW             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor.ResizeNESW
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor.ResizeNWSE
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ResizeEW); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 106, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeEW, __pyx_t_11) < 0))) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":107
 *     __Pyx_globals['ResizeNS'] = mouse_cursor.ResizeNS
 *     __Pyx_globals['ResizeEW'] = mouse_cursor.ResizeEW
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor.ResizeNESW             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor.ResizeNWSE
 *     __Pyx_globals['Hand'] = mouse_cursor.Hand
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ResizeNESW); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 107, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNESW, __pyx_t_10) < 0))) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":108
 *     __Pyx_globals['ResizeEW'] = mouse_cursor.ResizeEW
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor.ResizeNESW
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor.ResizeNWSE             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Hand'] = mouse_cursor.Hand
 *     __Pyx_globals['NotAllowed'] = mouse_cursor.NotAllowed
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ResizeNWSE); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 108, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNWSE, __pyx_t_11) < 0))) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":109
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor.ResizeNESW
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor.ResizeNWSE
 *     __Pyx_globals['Hand'] = mouse_cursor.Hand             # <<<<<<<<<<<<<<
 *     __Pyx_globals['NotAllowed'] = mouse_cursor.NotAllowed
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_Hand); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 109, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Hand, __pyx_t_10) < 0))) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":110
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor.ResizeNWSE
 *     __Pyx_globals['Hand'] = mouse_cursor.Hand
 *     __Pyx_globals['NotAllowed'] = mouse_cursor.NotAllowed             # <<<<<<<<<<<<<<
 * else:
 *     class mouse_cursor(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_NotAllowed); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 110, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_NotAllowed, __pyx_t_11) < 0))) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L41;
  }

  /* "EnumType":112
 *     __Pyx_globals['NotAllowed'] = mouse_cursor.NotAllowed
 * else:
 *     class mouse_cursor(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['CursorNone'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone), 'CursorNone')
 */
  /*else*/ {
    __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __Pyx_FlagBase)) __PYX_ERR(2, 112, __pyx_L1_error);
    __pyx_t_10 = __Pyx_PEP560_update_bases(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = __Pyx_CalculateMetaclass(NULL, __pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_16, __pyx_t_10, __pyx_n_s_mouse_cursor, __pyx_n_s_mouse_cursor, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__pyx_t_10 != __pyx_t_11) {
      if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_11) < 0))) __PYX_ERR(2, 112, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_Py3ClassCreate(__pyx_t_16, __pyx_n_s_mouse_cursor, __pyx_t_10, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_mouse_cursor, __pyx_t_11) < 0) __PYX_ERR(2, 112, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":114
 *     class mouse_cursor(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['CursorNone'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone), 'CursorNone')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CursorArrow'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow), 'CursorArrow')
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput), 'CursorTextInput')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorNone); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_16)) __PYX_ERR(2, 114, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_CursorNone);
    __Pyx_GIVEREF(__pyx_n_s_CursorNone);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_CursorNone)) __PYX_ERR(2, 114, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_4, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 114, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorNone, __pyx_t_16) < 0))) __PYX_ERR(2, 114, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":115
 *         pass
 *     __Pyx_globals['CursorNone'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone), 'CursorNone')
 *     __Pyx_globals['CursorArrow'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow), 'CursorArrow')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput), 'CursorTextInput')
 *     __Pyx_globals['ResizeAll'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll), 'ResizeAll')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorArrow); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4)) __PYX_ERR(2, 115, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_CursorArrow);
    __Pyx_GIVEREF(__pyx_n_s_CursorArrow);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_CursorArrow)) __PYX_ERR(2, 115, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 115, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorArrow, __pyx_t_4) < 0))) __PYX_ERR(2, 115, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":116
 *     __Pyx_globals['CursorNone'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorNone), 'CursorNone')
 *     __Pyx_globals['CursorArrow'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow), 'CursorArrow')
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput), 'CursorTextInput')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeAll'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll), 'ResizeAll')
 *     __Pyx_globals['ResizeNS'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS), 'ResizeNS')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_CursorTextInput); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_10)) __PYX_ERR(2, 116, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_CursorTextInput);
    __Pyx_GIVEREF(__pyx_n_s_CursorTextInput);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_n_s_CursorTextInput)) __PYX_ERR(2, 116, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_16, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 116, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CursorTextInput, __pyx_t_10) < 0))) __PYX_ERR(2, 116, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":117
 *     __Pyx_globals['CursorArrow'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorArrow), 'CursorArrow')
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput), 'CursorTextInput')
 *     __Pyx_globals['ResizeAll'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll), 'ResizeAll')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNS'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS), 'ResizeNS')
 *     __Pyx_globals['ResizeEW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW), 'ResizeEW')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeAll); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_16)) __PYX_ERR(2, 117, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_ResizeAll);
    __Pyx_GIVEREF(__pyx_n_s_ResizeAll);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_ResizeAll)) __PYX_ERR(2, 117, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_4, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 117, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeAll, __pyx_t_16) < 0))) __PYX_ERR(2, 117, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":118
 *     __Pyx_globals['CursorTextInput'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(CursorTextInput), 'CursorTextInput')
 *     __Pyx_globals['ResizeAll'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll), 'ResizeAll')
 *     __Pyx_globals['ResizeNS'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS), 'ResizeNS')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeEW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW), 'ResizeEW')
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW), 'ResizeNESW')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNS); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4)) __PYX_ERR(2, 118, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_ResizeNS);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNS);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_ResizeNS)) __PYX_ERR(2, 118, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 118, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNS, __pyx_t_4) < 0))) __PYX_ERR(2, 118, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":119
 *     __Pyx_globals['ResizeAll'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeAll), 'ResizeAll')
 *     __Pyx_globals['ResizeNS'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS), 'ResizeNS')
 *     __Pyx_globals['ResizeEW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW), 'ResizeEW')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW), 'ResizeNESW')
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE), 'ResizeNWSE')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeEW); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_10)) __PYX_ERR(2, 119, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_ResizeEW);
    __Pyx_GIVEREF(__pyx_n_s_ResizeEW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_n_s_ResizeEW)) __PYX_ERR(2, 119, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_16, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 119, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeEW, __pyx_t_10) < 0))) __PYX_ERR(2, 119, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":120
 *     __Pyx_globals['ResizeNS'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNS), 'ResizeNS')
 *     __Pyx_globals['ResizeEW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW), 'ResizeEW')
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW), 'ResizeNESW')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE), 'ResizeNWSE')
 *     __Pyx_globals['Hand'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand), 'Hand')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNESW); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_16)) __PYX_ERR(2, 120, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_ResizeNESW);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNESW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_ResizeNESW)) __PYX_ERR(2, 120, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_4, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 120, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNESW, __pyx_t_16) < 0))) __PYX_ERR(2, 120, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":121
 *     __Pyx_globals['ResizeEW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeEW), 'ResizeEW')
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW), 'ResizeNESW')
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE), 'ResizeNWSE')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['Hand'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand), 'Hand')
 *     __Pyx_globals['NotAllowed'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed), 'NotAllowed')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_ResizeNWSE); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4)) __PYX_ERR(2, 121, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_ResizeNWSE);
    __Pyx_GIVEREF(__pyx_n_s_ResizeNWSE);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_ResizeNWSE)) __PYX_ERR(2, 121, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 121, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ResizeNWSE, __pyx_t_4) < 0))) __PYX_ERR(2, 121, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "EnumType":122
 *     __Pyx_globals['ResizeNESW'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNESW), 'ResizeNESW')
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE), 'ResizeNWSE')
 *     __Pyx_globals['Hand'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand), 'Hand')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['NotAllowed'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed), 'NotAllowed')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_Hand); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_10)) __PYX_ERR(2, 122, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_Hand);
    __Pyx_GIVEREF(__pyx_n_s_Hand);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_n_s_Hand)) __PYX_ERR(2, 122, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_16, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 122, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_Hand, __pyx_t_10) < 0))) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "EnumType":123
 *     __Pyx_globals['ResizeNWSE'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(ResizeNWSE), 'ResizeNWSE')
 *     __Pyx_globals['Hand'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(Hand), 'Hand')
 *     __Pyx_globals['NotAllowed'] = mouse_cursor(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(NotAllowed), 'NotAllowed')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_mouse_cursor); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(__pyx_e_9dearcygui_4core_NotAllowed); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_16)) __PYX_ERR(2, 123, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_NotAllowed);
    __Pyx_GIVEREF(__pyx_n_s_NotAllowed);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_NotAllowed)) __PYX_ERR(2, 123, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_4, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 123, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_NotAllowed, __pyx_t_16) < 0))) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  }
  __pyx_L41:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(positioning value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_16 = __Pyx_Globals(); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (!(likely(PyDict_CheckExact(__pyx_t_16))||((__pyx_t_16) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_16))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_16));
  __Pyx_GIVEREF(__pyx_t_16);
  __pyx_t_16 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     positioning = __Pyx_FlagBase('positioning', [
 *         ('DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT)),             # <<<<<<<<<<<<<<
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),
 *         ('REL_PARENT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT)),
 */
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_DEFAULT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_n_s_DEFAULT);
    __Pyx_GIVEREF(__pyx_n_s_DEFAULT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_DEFAULT)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_16)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":82
 *     positioning = __Pyx_FlagBase('positioning', [
 *         ('DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT)),
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),             # <<<<<<<<<<<<<<
 *         ('REL_PARENT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT)),
 *         ('REL_WINDOW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW)),
 */
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_DEFAULT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_REL_DEFAULT);
    __Pyx_GIVEREF(__pyx_n_s_REL_DEFAULT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_REL_DEFAULT)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_16)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":83
 *         ('DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT)),
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),
 *         ('REL_PARENT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT)),             # <<<<<<<<<<<<<<
 *         ('REL_WINDOW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW)),
 *         ('REL_VIEWPORT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT)),
 */
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_PARENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_REL_PARENT);
    __Pyx_GIVEREF(__pyx_n_s_REL_PARENT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_REL_PARENT)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_16)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":84
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),
 *         ('REL_PARENT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT)),
 *         ('REL_WINDOW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW)),             # <<<<<<<<<<<<<<
 *         ('REL_VIEWPORT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT)),
 * 
 */
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_WINDOW); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_REL_WINDOW);
    __Pyx_GIVEREF(__pyx_n_s_REL_WINDOW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_REL_WINDOW)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_16)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":85
 *         ('REL_PARENT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT)),
 *         ('REL_WINDOW', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW)),
 *         ('REL_VIEWPORT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_VIEWPORT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_REL_VIEWPORT);
    __Pyx_GIVEREF(__pyx_n_s_REL_VIEWPORT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_REL_VIEWPORT)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_16)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":80
 * 
 * 
 *     positioning = __Pyx_FlagBase('positioning', [             # <<<<<<<<<<<<<<
 *         ('DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT)),
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),
 */
    __pyx_t_16 = PyList_New(5); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 0, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 1, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 2, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 3, __pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 4, __pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_10 = 0;
    __pyx_t_11 = 0;
    __pyx_t_15 = 0;
    __pyx_t_13 = 0;
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_positioning);
    __Pyx_GIVEREF(__pyx_n_s_positioning);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_positioning)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_16)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_16 = 0;

    /* "EnumType":87
 *         ('REL_VIEWPORT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_16 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 87, __pyx_L1_error)
    }
    __pyx_t_15 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_module_2, __pyx_t_15) < 0) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":80
 * 
 * 
 *     positioning = __Pyx_FlagBase('positioning', [             # <<<<<<<<<<<<<<
 *         ('DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT)),
 *         ('REL_DEFAULT', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT)),
 */
    __pyx_t_15 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_13, __pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_positioning, __pyx_t_15) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":89
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":94
 * 
 * 
 *         positioning._member_names_ = list(positioning.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['DEFAULT'] = positioning.DEFAULT
 */
      __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_positioning); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_15 = __Pyx_PySequence_ListKeepNew(__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_16, __pyx_n_s_member_names, __pyx_t_15) < 0) __PYX_ERR(2, 94, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

      /* "EnumType":89
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":96
 *         positioning._member_names_ = list(positioning.__members__)
 * 
 *     __Pyx_globals['DEFAULT'] = positioning.DEFAULT             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_DEFAULT'] = positioning.REL_DEFAULT
 *     __Pyx_globals['REL_PARENT'] = positioning.REL_PARENT
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_DEFAULT); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 96, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_DEFAULT, __pyx_t_15) < 0))) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":97
 * 
 *     __Pyx_globals['DEFAULT'] = positioning.DEFAULT
 *     __Pyx_globals['REL_DEFAULT'] = positioning.REL_DEFAULT             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_PARENT'] = positioning.REL_PARENT
 *     __Pyx_globals['REL_WINDOW'] = positioning.REL_WINDOW
 */
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_positioning); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_REL_DEFAULT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 97, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_DEFAULT, __pyx_t_16) < 0))) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":98
 *     __Pyx_globals['DEFAULT'] = positioning.DEFAULT
 *     __Pyx_globals['REL_DEFAULT'] = positioning.REL_DEFAULT
 *     __Pyx_globals['REL_PARENT'] = positioning.REL_PARENT             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_WINDOW'] = positioning.REL_WINDOW
 *     __Pyx_globals['REL_VIEWPORT'] = positioning.REL_VIEWPORT
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_REL_PARENT); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 98, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_PARENT, __pyx_t_15) < 0))) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":99
 *     __Pyx_globals['REL_DEFAULT'] = positioning.REL_DEFAULT
 *     __Pyx_globals['REL_PARENT'] = positioning.REL_PARENT
 *     __Pyx_globals['REL_WINDOW'] = positioning.REL_WINDOW             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_VIEWPORT'] = positioning.REL_VIEWPORT
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_positioning); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_REL_WINDOW); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 99, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_WINDOW, __pyx_t_16) < 0))) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":100
 *     __Pyx_globals['REL_PARENT'] = positioning.REL_PARENT
 *     __Pyx_globals['REL_WINDOW'] = positioning.REL_WINDOW
 *     __Pyx_globals['REL_VIEWPORT'] = positioning.REL_VIEWPORT             # <<<<<<<<<<<<<<
 * else:
 *     class positioning(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_REL_VIEWPORT); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 100, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_VIEWPORT, __pyx_t_15) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L43;
  }

  /* "EnumType":102
 *     __Pyx_globals['REL_VIEWPORT'] = positioning.REL_VIEWPORT
 * else:
 *     class positioning(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT), 'DEFAULT')
 */
  /*else*/ {
    __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __Pyx_FlagBase)) __PYX_ERR(2, 102, __pyx_L1_error);
    __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_13 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = __Pyx_Py3MetaclassPrepare(__pyx_t_13, __pyx_t_16, __pyx_n_s_positioning, __pyx_n_s_positioning, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (__pyx_t_16 != __pyx_t_15) {
      if (unlikely((PyDict_SetItemString(__pyx_t_11, "__orig_bases__", __pyx_t_15) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_Py3ClassCreate(__pyx_t_13, __pyx_n_s_positioning, __pyx_t_16, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_positioning, __pyx_t_15) < 0) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":104
 *     class positioning(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT), 'DEFAULT')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT), 'REL_DEFAULT')
 *     __Pyx_globals['REL_PARENT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT), 'REL_PARENT')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_DEFAULT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_13)) __PYX_ERR(2, 104, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_DEFAULT);
    __Pyx_GIVEREF(__pyx_n_s_DEFAULT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_DEFAULT)) __PYX_ERR(2, 104, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_11, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_DEFAULT, __pyx_t_13) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "EnumType":105
 *         pass
 *     __Pyx_globals['DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT), 'DEFAULT')
 *     __Pyx_globals['REL_DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT), 'REL_DEFAULT')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_PARENT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT), 'REL_PARENT')
 *     __Pyx_globals['REL_WINDOW'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW), 'REL_WINDOW')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_positioning); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_DEFAULT); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_REL_DEFAULT);
    __Pyx_GIVEREF(__pyx_n_s_REL_DEFAULT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_n_s_REL_DEFAULT)) __PYX_ERR(2, 105, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 105, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_DEFAULT, __pyx_t_11) < 0))) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":106
 *     __Pyx_globals['DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(DEFAULT), 'DEFAULT')
 *     __Pyx_globals['REL_DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT), 'REL_DEFAULT')
 *     __Pyx_globals['REL_PARENT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT), 'REL_PARENT')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_WINDOW'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW), 'REL_WINDOW')
 *     __Pyx_globals['REL_VIEWPORT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT), 'REL_VIEWPORT')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_positioning); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_PARENT); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_16)) __PYX_ERR(2, 106, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_REL_PARENT);
    __Pyx_GIVEREF(__pyx_n_s_REL_PARENT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_n_s_REL_PARENT)) __PYX_ERR(2, 106, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 106, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_PARENT, __pyx_t_16) < 0))) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "EnumType":107
 *     __Pyx_globals['REL_DEFAULT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_DEFAULT), 'REL_DEFAULT')
 *     __Pyx_globals['REL_PARENT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT), 'REL_PARENT')
 *     __Pyx_globals['REL_WINDOW'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW), 'REL_WINDOW')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['REL_VIEWPORT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT), 'REL_VIEWPORT')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_positioning); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_WINDOW); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_13)) __PYX_ERR(2, 107, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_REL_WINDOW);
    __Pyx_GIVEREF(__pyx_n_s_REL_WINDOW);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_REL_WINDOW)) __PYX_ERR(2, 107, __pyx_L1_error);
    __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_11, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 107, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_WINDOW, __pyx_t_13) < 0))) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "EnumType":108
 *     __Pyx_globals['REL_PARENT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_PARENT), 'REL_PARENT')
 *     __Pyx_globals['REL_WINDOW'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_WINDOW), 'REL_WINDOW')
 *     __Pyx_globals['REL_VIEWPORT'] = positioning(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(REL_VIEWPORT), 'REL_VIEWPORT')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_positioning); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(__pyx_e_9dearcygui_4core_REL_VIEWPORT); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_REL_VIEWPORT);
    __Pyx_GIVEREF(__pyx_n_s_REL_VIEWPORT);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_n_s_REL_VIEWPORT)) __PYX_ERR(2, 108, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 108, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_REL_VIEWPORT, __pyx_t_11) < 0))) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  }
  __pyx_L43:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(theme_categories value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_11 = __Pyx_Globals(); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (!(likely(PyDict_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_11))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_11));
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     theme_categories = __Pyx_FlagBase('theme_categories', [
 *         ('t_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any)),             # <<<<<<<<<<<<<<
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),
 *         ('t_button', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_any); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_INCREF(__pyx_n_s_t_any);
    __Pyx_GIVEREF(__pyx_n_s_t_any);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_n_s_t_any)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_11)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":82
 *     theme_categories = __Pyx_FlagBase('theme_categories', [
 *         ('t_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any)),
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),             # <<<<<<<<<<<<<<
 *         ('t_button', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button)),
 *         ('t_combo', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_simpleplot); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_n_s_t_simpleplot);
    __Pyx_GIVEREF(__pyx_n_s_t_simpleplot);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_t_simpleplot)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":83
 *         ('t_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any)),
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),
 *         ('t_button', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button)),             # <<<<<<<<<<<<<<
 *         ('t_combo', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo)),
 *         ('t_checkbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_button); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(__pyx_n_s_t_button);
    __Pyx_GIVEREF(__pyx_n_s_t_button);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_n_s_t_button)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_11)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":84
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),
 *         ('t_button', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button)),
 *         ('t_combo', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo)),             # <<<<<<<<<<<<<<
 *         ('t_checkbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox)),
 *         ('t_slider', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_combo); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_n_s_t_combo);
    __Pyx_GIVEREF(__pyx_n_s_t_combo);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_t_combo)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":85
 *         ('t_button', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button)),
 *         ('t_combo', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo)),
 *         ('t_checkbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox)),             # <<<<<<<<<<<<<<
 *         ('t_slider', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider)),
 *         ('t_listbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_checkbox); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_n_s_t_checkbox);
    __Pyx_GIVEREF(__pyx_n_s_t_checkbox);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_t_checkbox)) __PYX_ERR(2, 85, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_11)) __PYX_ERR(2, 85, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":86
 *         ('t_combo', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo)),
 *         ('t_checkbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox)),
 *         ('t_slider', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider)),             # <<<<<<<<<<<<<<
 *         ('t_listbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox)),
 *         ('t_radiobutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_slider); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_INCREF(__pyx_n_s_t_slider);
    __Pyx_GIVEREF(__pyx_n_s_t_slider);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_n_s_t_slider)) __PYX_ERR(2, 86, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_11)) __PYX_ERR(2, 86, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":87
 *         ('t_checkbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox)),
 *         ('t_slider', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider)),
 *         ('t_listbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox)),             # <<<<<<<<<<<<<<
 *         ('t_radiobutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton)),
 *         ('t_inputtext', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_listbox); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_n_s_t_listbox);
    __Pyx_GIVEREF(__pyx_n_s_t_listbox);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_t_listbox)) __PYX_ERR(2, 87, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_11)) __PYX_ERR(2, 87, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":88
 *         ('t_slider', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider)),
 *         ('t_listbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox)),
 *         ('t_radiobutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton)),             # <<<<<<<<<<<<<<
 *         ('t_inputtext', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext)),
 *         ('t_inputvalue', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_radiobutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_n_s_t_radiobutton);
    __Pyx_GIVEREF(__pyx_n_s_t_radiobutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_t_radiobutton)) __PYX_ERR(2, 88, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11)) __PYX_ERR(2, 88, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":89
 *         ('t_listbox', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox)),
 *         ('t_radiobutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton)),
 *         ('t_inputtext', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext)),             # <<<<<<<<<<<<<<
 *         ('t_inputvalue', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue)),
 *         ('t_text', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_inputtext); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_n_s_t_inputtext);
    __Pyx_GIVEREF(__pyx_n_s_t_inputtext);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_t_inputtext)) __PYX_ERR(2, 89, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11)) __PYX_ERR(2, 89, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":90
 *         ('t_radiobutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton)),
 *         ('t_inputtext', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext)),
 *         ('t_inputvalue', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue)),             # <<<<<<<<<<<<<<
 *         ('t_text', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text)),
 *         ('t_selectable', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_inputvalue); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_n_s_t_inputvalue);
    __Pyx_GIVEREF(__pyx_n_s_t_inputvalue);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_t_inputvalue)) __PYX_ERR(2, 90, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_11)) __PYX_ERR(2, 90, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":91
 *         ('t_inputtext', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext)),
 *         ('t_inputvalue', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue)),
 *         ('t_text', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text)),             # <<<<<<<<<<<<<<
 *         ('t_selectable', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable)),
 *         ('t_tab', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
    __Pyx_INCREF(__pyx_n_s_t_text);
    __Pyx_GIVEREF(__pyx_n_s_t_text);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_n_s_t_text)) __PYX_ERR(2, 91, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_11)) __PYX_ERR(2, 91, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":92
 *         ('t_inputvalue', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue)),
 *         ('t_text', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text)),
 *         ('t_selectable', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable)),             # <<<<<<<<<<<<<<
 *         ('t_tab', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab)),
 *         ('t_tabbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_selectable); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);
    __Pyx_INCREF(__pyx_n_s_t_selectable);
    __Pyx_GIVEREF(__pyx_n_s_t_selectable);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_n_s_t_selectable)) __PYX_ERR(2, 92, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_11)) __PYX_ERR(2, 92, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":93
 *         ('t_text', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text)),
 *         ('t_selectable', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable)),
 *         ('t_tab', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab)),             # <<<<<<<<<<<<<<
 *         ('t_tabbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar)),
 *         ('t_tabbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tab); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_19);
    __Pyx_INCREF(__pyx_n_s_t_tab);
    __Pyx_GIVEREF(__pyx_n_s_t_tab);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_n_s_t_tab)) __PYX_ERR(2, 93, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_19, 1, __pyx_t_11)) __PYX_ERR(2, 93, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":94
 *         ('t_selectable', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable)),
 *         ('t_tab', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab)),
 *         ('t_tabbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar)),             # <<<<<<<<<<<<<<
 *         ('t_tabbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton)),
 *         ('t_menuitem', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tabbar); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_20);
    __Pyx_INCREF(__pyx_n_s_t_tabbar);
    __Pyx_GIVEREF(__pyx_n_s_t_tabbar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_n_s_t_tabbar)) __PYX_ERR(2, 94, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_t_11)) __PYX_ERR(2, 94, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":95
 *         ('t_tab', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab)),
 *         ('t_tabbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar)),
 *         ('t_tabbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton)),             # <<<<<<<<<<<<<<
 *         ('t_menuitem', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem)),
 *         ('t_progressbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tabbutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
    __Pyx_INCREF(__pyx_n_s_t_tabbutton);
    __Pyx_GIVEREF(__pyx_n_s_t_tabbutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_n_s_t_tabbutton)) __PYX_ERR(2, 95, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_11)) __PYX_ERR(2, 95, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":96
 *         ('t_tabbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar)),
 *         ('t_tabbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton)),
 *         ('t_menuitem', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem)),             # <<<<<<<<<<<<<<
 *         ('t_progressbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar)),
 *         ('t_image', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menuitem); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_22);
    __Pyx_INCREF(__pyx_n_s_t_menuitem);
    __Pyx_GIVEREF(__pyx_n_s_t_menuitem);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_n_s_t_menuitem)) __PYX_ERR(2, 96, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_11)) __PYX_ERR(2, 96, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":97
 *         ('t_tabbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton)),
 *         ('t_menuitem', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem)),
 *         ('t_progressbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar)),             # <<<<<<<<<<<<<<
 *         ('t_image', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image)),
 *         ('t_imagebutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_progressbar); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_23 = PyTuple_New(2); if (unlikely(!__pyx_t_23)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_23);
    __Pyx_INCREF(__pyx_n_s_t_progressbar);
    __Pyx_GIVEREF(__pyx_n_s_t_progressbar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_n_s_t_progressbar)) __PYX_ERR(2, 97, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_11)) __PYX_ERR(2, 97, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":98
 *         ('t_menuitem', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem)),
 *         ('t_progressbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar)),
 *         ('t_image', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image)),             # <<<<<<<<<<<<<<
 *         ('t_imagebutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton)),
 *         ('t_menubar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_image); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_24 = PyTuple_New(2); if (unlikely(!__pyx_t_24)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_24);
    __Pyx_INCREF(__pyx_n_s_t_image);
    __Pyx_GIVEREF(__pyx_n_s_t_image);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_n_s_t_image)) __PYX_ERR(2, 98, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_11)) __PYX_ERR(2, 98, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":99
 *         ('t_progressbar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar)),
 *         ('t_image', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image)),
 *         ('t_imagebutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton)),             # <<<<<<<<<<<<<<
 *         ('t_menubar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar)),
 *         ('t_menu', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_imagebutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_25 = PyTuple_New(2); if (unlikely(!__pyx_t_25)) __PYX_ERR(2, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_25);
    __Pyx_INCREF(__pyx_n_s_t_imagebutton);
    __Pyx_GIVEREF(__pyx_n_s_t_imagebutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_n_s_t_imagebutton)) __PYX_ERR(2, 99, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_25, 1, __pyx_t_11)) __PYX_ERR(2, 99, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":100
 *         ('t_image', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image)),
 *         ('t_imagebutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton)),
 *         ('t_menubar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar)),             # <<<<<<<<<<<<<<
 *         ('t_menu', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu)),
 *         ('t_tooltip', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menubar); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_26 = PyTuple_New(2); if (unlikely(!__pyx_t_26)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_26);
    __Pyx_INCREF(__pyx_n_s_t_menubar);
    __Pyx_GIVEREF(__pyx_n_s_t_menubar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_n_s_t_menubar)) __PYX_ERR(2, 100, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":101
 *         ('t_imagebutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton)),
 *         ('t_menubar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar)),
 *         ('t_menu', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu)),             # <<<<<<<<<<<<<<
 *         ('t_tooltip', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip)),
 *         ('t_layout', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menu); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(2, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_27);
    __Pyx_INCREF(__pyx_n_s_t_menu);
    __Pyx_GIVEREF(__pyx_n_s_t_menu);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_n_s_t_menu)) __PYX_ERR(2, 101, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_11)) __PYX_ERR(2, 101, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":102
 *         ('t_menubar', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar)),
 *         ('t_menu', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu)),
 *         ('t_tooltip', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip)),             # <<<<<<<<<<<<<<
 *         ('t_layout', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout)),
 *         ('t_treenode', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tooltip); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_28);
    __Pyx_INCREF(__pyx_n_s_t_tooltip);
    __Pyx_GIVEREF(__pyx_n_s_t_tooltip);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_n_s_t_tooltip)) __PYX_ERR(2, 102, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":103
 *         ('t_menu', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu)),
 *         ('t_tooltip', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip)),
 *         ('t_layout', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout)),             # <<<<<<<<<<<<<<
 *         ('t_treenode', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode)),
 *         ('t_collapsingheader', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_layout); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_29 = PyTuple_New(2); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_29);
    __Pyx_INCREF(__pyx_n_s_t_layout);
    __Pyx_GIVEREF(__pyx_n_s_t_layout);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_n_s_t_layout)) __PYX_ERR(2, 103, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":104
 *         ('t_tooltip', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip)),
 *         ('t_layout', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout)),
 *         ('t_treenode', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode)),             # <<<<<<<<<<<<<<
 *         ('t_collapsingheader', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader)),
 *         ('t_child', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_treenode); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_30 = PyTuple_New(2); if (unlikely(!__pyx_t_30)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_30);
    __Pyx_INCREF(__pyx_n_s_t_treenode);
    __Pyx_GIVEREF(__pyx_n_s_t_treenode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_30, 0, __pyx_n_s_t_treenode)) __PYX_ERR(2, 104, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_30, 1, __pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":105
 *         ('t_layout', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout)),
 *         ('t_treenode', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode)),
 *         ('t_collapsingheader', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader)),             # <<<<<<<<<<<<<<
 *         ('t_child', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child)),
 *         ('t_colorbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_collapsingheader); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_31 = PyTuple_New(2); if (unlikely(!__pyx_t_31)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_31);
    __Pyx_INCREF(__pyx_n_s_t_collapsingheader);
    __Pyx_GIVEREF(__pyx_n_s_t_collapsingheader);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_n_s_t_collapsingheader)) __PYX_ERR(2, 105, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_31, 1, __pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":106
 *         ('t_treenode', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode)),
 *         ('t_collapsingheader', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader)),
 *         ('t_child', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child)),             # <<<<<<<<<<<<<<
 *         ('t_colorbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton)),
 *         ('t_coloredit', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_child); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_32 = PyTuple_New(2); if (unlikely(!__pyx_t_32)) __PYX_ERR(2, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_32);
    __Pyx_INCREF(__pyx_n_s_t_child);
    __Pyx_GIVEREF(__pyx_n_s_t_child);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_32, 0, __pyx_n_s_t_child)) __PYX_ERR(2, 106, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_32, 1, __pyx_t_11)) __PYX_ERR(2, 106, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":107
 *         ('t_collapsingheader', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader)),
 *         ('t_child', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child)),
 *         ('t_colorbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton)),             # <<<<<<<<<<<<<<
 *         ('t_coloredit', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit)),
 *         ('t_colorpicker', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_colorbutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_33 = PyTuple_New(2); if (unlikely(!__pyx_t_33)) __PYX_ERR(2, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_33);
    __Pyx_INCREF(__pyx_n_s_t_colorbutton);
    __Pyx_GIVEREF(__pyx_n_s_t_colorbutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_n_s_t_colorbutton)) __PYX_ERR(2, 107, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_33, 1, __pyx_t_11)) __PYX_ERR(2, 107, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":108
 *         ('t_child', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child)),
 *         ('t_colorbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton)),
 *         ('t_coloredit', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit)),             # <<<<<<<<<<<<<<
 *         ('t_colorpicker', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker)),
 *         ('t_window', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_coloredit); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_34 = PyTuple_New(2); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_INCREF(__pyx_n_s_t_coloredit);
    __Pyx_GIVEREF(__pyx_n_s_t_coloredit);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_n_s_t_coloredit)) __PYX_ERR(2, 108, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 1, __pyx_t_11)) __PYX_ERR(2, 108, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":109
 *         ('t_colorbutton', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton)),
 *         ('t_coloredit', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit)),
 *         ('t_colorpicker', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker)),             # <<<<<<<<<<<<<<
 *         ('t_window', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window)),
 *         ('t_plot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot)),
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_colorpicker); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_INCREF(__pyx_n_s_t_colorpicker);
    __Pyx_GIVEREF(__pyx_n_s_t_colorpicker);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_n_s_t_colorpicker)) __PYX_ERR(2, 109, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_t_11)) __PYX_ERR(2, 109, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":110
 *         ('t_coloredit', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit)),
 *         ('t_colorpicker', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker)),
 *         ('t_window', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window)),             # <<<<<<<<<<<<<<
 *         ('t_plot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot)),
 * 
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_window); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = PyTuple_New(2); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_INCREF(__pyx_n_s_t_window);
    __Pyx_GIVEREF(__pyx_n_s_t_window);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 0, __pyx_n_s_t_window)) __PYX_ERR(2, 110, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 1, __pyx_t_11)) __PYX_ERR(2, 110, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":111
 *         ('t_colorpicker', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker)),
 *         ('t_window', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window)),
 *         ('t_plot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_plot); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_INCREF(__pyx_n_s_t_plot);
    __Pyx_GIVEREF(__pyx_n_s_t_plot);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_n_s_t_plot)) __PYX_ERR(2, 111, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_t_11)) __PYX_ERR(2, 111, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":80
 * 
 * 
 *     theme_categories = __Pyx_FlagBase('theme_categories', [             # <<<<<<<<<<<<<<
 *         ('t_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any)),
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),
 */
    __pyx_t_11 = PyList_New(31); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_16);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_16)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_13);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_15);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_15)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 3, __pyx_t_10)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 4, __pyx_t_4)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_14);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 5, __pyx_t_14)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 6, __pyx_t_6)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_12);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 7, __pyx_t_12)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 8, __pyx_t_5)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 9, __pyx_t_3)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_17);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 10, __pyx_t_17)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_18);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 11, __pyx_t_18)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_19);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 12, __pyx_t_19)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_20);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 13, __pyx_t_20)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_21);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 14, __pyx_t_21)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_22);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 15, __pyx_t_22)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_23);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 16, __pyx_t_23)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_24);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 17, __pyx_t_24)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_25);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 18, __pyx_t_25)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_26);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 19, __pyx_t_26)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_27);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 20, __pyx_t_27)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_28);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 21, __pyx_t_28)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_29);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 22, __pyx_t_29)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_30);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 23, __pyx_t_30)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_31);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 24, __pyx_t_31)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_32);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 25, __pyx_t_32)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_33);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 26, __pyx_t_33)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_34);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 27, __pyx_t_34)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 28, __pyx_t_35)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_36);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 29, __pyx_t_36)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 30, __pyx_t_37)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_16 = 0;
    __pyx_t_13 = 0;
    __pyx_t_15 = 0;
    __pyx_t_10 = 0;
    __pyx_t_4 = 0;
    __pyx_t_14 = 0;
    __pyx_t_6 = 0;
    __pyx_t_12 = 0;
    __pyx_t_5 = 0;
    __pyx_t_3 = 0;
    __pyx_t_17 = 0;
    __pyx_t_18 = 0;
    __pyx_t_19 = 0;
    __pyx_t_20 = 0;
    __pyx_t_21 = 0;
    __pyx_t_22 = 0;
    __pyx_t_23 = 0;
    __pyx_t_24 = 0;
    __pyx_t_25 = 0;
    __pyx_t_26 = 0;
    __pyx_t_27 = 0;
    __pyx_t_28 = 0;
    __pyx_t_29 = 0;
    __pyx_t_30 = 0;
    __pyx_t_31 = 0;
    __pyx_t_32 = 0;
    __pyx_t_33 = 0;
    __pyx_t_34 = 0;
    __pyx_t_35 = 0;
    __pyx_t_36 = 0;
    __pyx_t_37 = 0;
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_INCREF(__pyx_n_s_theme_categories);
    __Pyx_GIVEREF(__pyx_n_s_theme_categories);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_n_s_theme_categories)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_11 = 0;

    /* "EnumType":113
 *         ('t_plot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 113, __pyx_L1_error)
    }
    __pyx_t_36 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_module_2, __pyx_t_36) < 0) __PYX_ERR(2, 113, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":80
 * 
 * 
 *     theme_categories = __Pyx_FlagBase('theme_categories', [             # <<<<<<<<<<<<<<
 *         ('t_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any)),
 *         ('t_simpleplot', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot)),
 */
    __pyx_t_36 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_37, __pyx_t_11); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_theme_categories, __pyx_t_36) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":115
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":120
 * 
 * 
 *         theme_categories._member_names_ = list(theme_categories.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['t_any'] = theme_categories.t_any
 */
      __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_36);
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_members); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
      __pyx_t_36 = __Pyx_PySequence_ListKeepNew(__pyx_t_11); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_36);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_member_names, __pyx_t_36) < 0) __PYX_ERR(2, 120, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "EnumType":115
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":122
 *         theme_categories._member_names_ = list(theme_categories.__members__)
 * 
 *     __Pyx_globals['t_any'] = theme_categories.t_any             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_simpleplot'] = theme_categories.t_simpleplot
 *     __Pyx_globals['t_button'] = theme_categories.t_button
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_any); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 122, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_any, __pyx_t_36) < 0))) __PYX_ERR(2, 122, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":123
 * 
 *     __Pyx_globals['t_any'] = theme_categories.t_any
 *     __Pyx_globals['t_simpleplot'] = theme_categories.t_simpleplot             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_button'] = theme_categories.t_button
 *     __Pyx_globals['t_combo'] = theme_categories.t_combo
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_simpleplot); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 123, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_simpleplot, __pyx_t_11) < 0))) __PYX_ERR(2, 123, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":124
 *     __Pyx_globals['t_any'] = theme_categories.t_any
 *     __Pyx_globals['t_simpleplot'] = theme_categories.t_simpleplot
 *     __Pyx_globals['t_button'] = theme_categories.t_button             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_combo'] = theme_categories.t_combo
 *     __Pyx_globals['t_checkbox'] = theme_categories.t_checkbox
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_button); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 124, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_button, __pyx_t_36) < 0))) __PYX_ERR(2, 124, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":125
 *     __Pyx_globals['t_simpleplot'] = theme_categories.t_simpleplot
 *     __Pyx_globals['t_button'] = theme_categories.t_button
 *     __Pyx_globals['t_combo'] = theme_categories.t_combo             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_checkbox'] = theme_categories.t_checkbox
 *     __Pyx_globals['t_slider'] = theme_categories.t_slider
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_combo); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 125, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_combo, __pyx_t_11) < 0))) __PYX_ERR(2, 125, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":126
 *     __Pyx_globals['t_button'] = theme_categories.t_button
 *     __Pyx_globals['t_combo'] = theme_categories.t_combo
 *     __Pyx_globals['t_checkbox'] = theme_categories.t_checkbox             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_slider'] = theme_categories.t_slider
 *     __Pyx_globals['t_listbox'] = theme_categories.t_listbox
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_checkbox); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 126, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_checkbox, __pyx_t_36) < 0))) __PYX_ERR(2, 126, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":127
 *     __Pyx_globals['t_combo'] = theme_categories.t_combo
 *     __Pyx_globals['t_checkbox'] = theme_categories.t_checkbox
 *     __Pyx_globals['t_slider'] = theme_categories.t_slider             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_listbox'] = theme_categories.t_listbox
 *     __Pyx_globals['t_radiobutton'] = theme_categories.t_radiobutton
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_slider); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 127, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_slider, __pyx_t_11) < 0))) __PYX_ERR(2, 127, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":128
 *     __Pyx_globals['t_checkbox'] = theme_categories.t_checkbox
 *     __Pyx_globals['t_slider'] = theme_categories.t_slider
 *     __Pyx_globals['t_listbox'] = theme_categories.t_listbox             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_radiobutton'] = theme_categories.t_radiobutton
 *     __Pyx_globals['t_inputtext'] = theme_categories.t_inputtext
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_listbox); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 128, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_listbox, __pyx_t_36) < 0))) __PYX_ERR(2, 128, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":129
 *     __Pyx_globals['t_slider'] = theme_categories.t_slider
 *     __Pyx_globals['t_listbox'] = theme_categories.t_listbox
 *     __Pyx_globals['t_radiobutton'] = theme_categories.t_radiobutton             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_inputtext'] = theme_categories.t_inputtext
 *     __Pyx_globals['t_inputvalue'] = theme_categories.t_inputvalue
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_radiobutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 129, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_radiobutton, __pyx_t_11) < 0))) __PYX_ERR(2, 129, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":130
 *     __Pyx_globals['t_listbox'] = theme_categories.t_listbox
 *     __Pyx_globals['t_radiobutton'] = theme_categories.t_radiobutton
 *     __Pyx_globals['t_inputtext'] = theme_categories.t_inputtext             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_inputvalue'] = theme_categories.t_inputvalue
 *     __Pyx_globals['t_text'] = theme_categories.t_text
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_inputtext); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 130, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_inputtext, __pyx_t_36) < 0))) __PYX_ERR(2, 130, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":131
 *     __Pyx_globals['t_radiobutton'] = theme_categories.t_radiobutton
 *     __Pyx_globals['t_inputtext'] = theme_categories.t_inputtext
 *     __Pyx_globals['t_inputvalue'] = theme_categories.t_inputvalue             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_text'] = theme_categories.t_text
 *     __Pyx_globals['t_selectable'] = theme_categories.t_selectable
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_inputvalue); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 131, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_inputvalue, __pyx_t_11) < 0))) __PYX_ERR(2, 131, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":132
 *     __Pyx_globals['t_inputtext'] = theme_categories.t_inputtext
 *     __Pyx_globals['t_inputvalue'] = theme_categories.t_inputvalue
 *     __Pyx_globals['t_text'] = theme_categories.t_text             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_selectable'] = theme_categories.t_selectable
 *     __Pyx_globals['t_tab'] = theme_categories.t_tab
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_text); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 132, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_text, __pyx_t_36) < 0))) __PYX_ERR(2, 132, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":133
 *     __Pyx_globals['t_inputvalue'] = theme_categories.t_inputvalue
 *     __Pyx_globals['t_text'] = theme_categories.t_text
 *     __Pyx_globals['t_selectable'] = theme_categories.t_selectable             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tab'] = theme_categories.t_tab
 *     __Pyx_globals['t_tabbar'] = theme_categories.t_tabbar
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_selectable); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 133, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_selectable, __pyx_t_11) < 0))) __PYX_ERR(2, 133, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":134
 *     __Pyx_globals['t_text'] = theme_categories.t_text
 *     __Pyx_globals['t_selectable'] = theme_categories.t_selectable
 *     __Pyx_globals['t_tab'] = theme_categories.t_tab             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tabbar'] = theme_categories.t_tabbar
 *     __Pyx_globals['t_tabbutton'] = theme_categories.t_tabbutton
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_tab); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 134, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tab, __pyx_t_36) < 0))) __PYX_ERR(2, 134, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":135
 *     __Pyx_globals['t_selectable'] = theme_categories.t_selectable
 *     __Pyx_globals['t_tab'] = theme_categories.t_tab
 *     __Pyx_globals['t_tabbar'] = theme_categories.t_tabbar             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tabbutton'] = theme_categories.t_tabbutton
 *     __Pyx_globals['t_menuitem'] = theme_categories.t_menuitem
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_tabbar); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 135, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tabbar, __pyx_t_11) < 0))) __PYX_ERR(2, 135, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":136
 *     __Pyx_globals['t_tab'] = theme_categories.t_tab
 *     __Pyx_globals['t_tabbar'] = theme_categories.t_tabbar
 *     __Pyx_globals['t_tabbutton'] = theme_categories.t_tabbutton             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menuitem'] = theme_categories.t_menuitem
 *     __Pyx_globals['t_progressbar'] = theme_categories.t_progressbar
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_tabbutton); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 136, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tabbutton, __pyx_t_36) < 0))) __PYX_ERR(2, 136, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":137
 *     __Pyx_globals['t_tabbar'] = theme_categories.t_tabbar
 *     __Pyx_globals['t_tabbutton'] = theme_categories.t_tabbutton
 *     __Pyx_globals['t_menuitem'] = theme_categories.t_menuitem             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_progressbar'] = theme_categories.t_progressbar
 *     __Pyx_globals['t_image'] = theme_categories.t_image
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_menuitem); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 137, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menuitem, __pyx_t_11) < 0))) __PYX_ERR(2, 137, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":138
 *     __Pyx_globals['t_tabbutton'] = theme_categories.t_tabbutton
 *     __Pyx_globals['t_menuitem'] = theme_categories.t_menuitem
 *     __Pyx_globals['t_progressbar'] = theme_categories.t_progressbar             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_image'] = theme_categories.t_image
 *     __Pyx_globals['t_imagebutton'] = theme_categories.t_imagebutton
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_progressbar); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 138, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_progressbar, __pyx_t_36) < 0))) __PYX_ERR(2, 138, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":139
 *     __Pyx_globals['t_menuitem'] = theme_categories.t_menuitem
 *     __Pyx_globals['t_progressbar'] = theme_categories.t_progressbar
 *     __Pyx_globals['t_image'] = theme_categories.t_image             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_imagebutton'] = theme_categories.t_imagebutton
 *     __Pyx_globals['t_menubar'] = theme_categories.t_menubar
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_image); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 139, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_image, __pyx_t_11) < 0))) __PYX_ERR(2, 139, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":140
 *     __Pyx_globals['t_progressbar'] = theme_categories.t_progressbar
 *     __Pyx_globals['t_image'] = theme_categories.t_image
 *     __Pyx_globals['t_imagebutton'] = theme_categories.t_imagebutton             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menubar'] = theme_categories.t_menubar
 *     __Pyx_globals['t_menu'] = theme_categories.t_menu
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_imagebutton); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 140, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_imagebutton, __pyx_t_36) < 0))) __PYX_ERR(2, 140, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":141
 *     __Pyx_globals['t_image'] = theme_categories.t_image
 *     __Pyx_globals['t_imagebutton'] = theme_categories.t_imagebutton
 *     __Pyx_globals['t_menubar'] = theme_categories.t_menubar             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menu'] = theme_categories.t_menu
 *     __Pyx_globals['t_tooltip'] = theme_categories.t_tooltip
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_menubar); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 141, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menubar, __pyx_t_11) < 0))) __PYX_ERR(2, 141, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":142
 *     __Pyx_globals['t_imagebutton'] = theme_categories.t_imagebutton
 *     __Pyx_globals['t_menubar'] = theme_categories.t_menubar
 *     __Pyx_globals['t_menu'] = theme_categories.t_menu             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tooltip'] = theme_categories.t_tooltip
 *     __Pyx_globals['t_layout'] = theme_categories.t_layout
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_menu); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 142, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menu, __pyx_t_36) < 0))) __PYX_ERR(2, 142, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":143
 *     __Pyx_globals['t_menubar'] = theme_categories.t_menubar
 *     __Pyx_globals['t_menu'] = theme_categories.t_menu
 *     __Pyx_globals['t_tooltip'] = theme_categories.t_tooltip             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_layout'] = theme_categories.t_layout
 *     __Pyx_globals['t_treenode'] = theme_categories.t_treenode
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_tooltip); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 143, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tooltip, __pyx_t_11) < 0))) __PYX_ERR(2, 143, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":144
 *     __Pyx_globals['t_menu'] = theme_categories.t_menu
 *     __Pyx_globals['t_tooltip'] = theme_categories.t_tooltip
 *     __Pyx_globals['t_layout'] = theme_categories.t_layout             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_treenode'] = theme_categories.t_treenode
 *     __Pyx_globals['t_collapsingheader'] = theme_categories.t_collapsingheader
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_layout); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 144, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_layout, __pyx_t_36) < 0))) __PYX_ERR(2, 144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":145
 *     __Pyx_globals['t_tooltip'] = theme_categories.t_tooltip
 *     __Pyx_globals['t_layout'] = theme_categories.t_layout
 *     __Pyx_globals['t_treenode'] = theme_categories.t_treenode             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_collapsingheader'] = theme_categories.t_collapsingheader
 *     __Pyx_globals['t_child'] = theme_categories.t_child
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_treenode); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 145, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_treenode, __pyx_t_11) < 0))) __PYX_ERR(2, 145, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":146
 *     __Pyx_globals['t_layout'] = theme_categories.t_layout
 *     __Pyx_globals['t_treenode'] = theme_categories.t_treenode
 *     __Pyx_globals['t_collapsingheader'] = theme_categories.t_collapsingheader             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_child'] = theme_categories.t_child
 *     __Pyx_globals['t_colorbutton'] = theme_categories.t_colorbutton
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_collapsingheader); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 146, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_collapsingheader, __pyx_t_36) < 0))) __PYX_ERR(2, 146, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":147
 *     __Pyx_globals['t_treenode'] = theme_categories.t_treenode
 *     __Pyx_globals['t_collapsingheader'] = theme_categories.t_collapsingheader
 *     __Pyx_globals['t_child'] = theme_categories.t_child             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_colorbutton'] = theme_categories.t_colorbutton
 *     __Pyx_globals['t_coloredit'] = theme_categories.t_coloredit
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_child); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 147, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_child, __pyx_t_11) < 0))) __PYX_ERR(2, 147, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":148
 *     __Pyx_globals['t_collapsingheader'] = theme_categories.t_collapsingheader
 *     __Pyx_globals['t_child'] = theme_categories.t_child
 *     __Pyx_globals['t_colorbutton'] = theme_categories.t_colorbutton             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_coloredit'] = theme_categories.t_coloredit
 *     __Pyx_globals['t_colorpicker'] = theme_categories.t_colorpicker
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_colorbutton); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 148, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_colorbutton, __pyx_t_36) < 0))) __PYX_ERR(2, 148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":149
 *     __Pyx_globals['t_child'] = theme_categories.t_child
 *     __Pyx_globals['t_colorbutton'] = theme_categories.t_colorbutton
 *     __Pyx_globals['t_coloredit'] = theme_categories.t_coloredit             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_colorpicker'] = theme_categories.t_colorpicker
 *     __Pyx_globals['t_window'] = theme_categories.t_window
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_coloredit); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 149, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_coloredit, __pyx_t_11) < 0))) __PYX_ERR(2, 149, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":150
 *     __Pyx_globals['t_colorbutton'] = theme_categories.t_colorbutton
 *     __Pyx_globals['t_coloredit'] = theme_categories.t_coloredit
 *     __Pyx_globals['t_colorpicker'] = theme_categories.t_colorpicker             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_window'] = theme_categories.t_window
 *     __Pyx_globals['t_plot'] = theme_categories.t_plot
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_colorpicker); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 150, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_colorpicker, __pyx_t_36) < 0))) __PYX_ERR(2, 150, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":151
 *     __Pyx_globals['t_coloredit'] = theme_categories.t_coloredit
 *     __Pyx_globals['t_colorpicker'] = theme_categories.t_colorpicker
 *     __Pyx_globals['t_window'] = theme_categories.t_window             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_plot'] = theme_categories.t_plot
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_window); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 151, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_window, __pyx_t_11) < 0))) __PYX_ERR(2, 151, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":152
 *     __Pyx_globals['t_colorpicker'] = theme_categories.t_colorpicker
 *     __Pyx_globals['t_window'] = theme_categories.t_window
 *     __Pyx_globals['t_plot'] = theme_categories.t_plot             # <<<<<<<<<<<<<<
 * else:
 *     class theme_categories(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_t_plot); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 152, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_plot, __pyx_t_36) < 0))) __PYX_ERR(2, 152, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L45;
  }

  /* "EnumType":154
 *     __Pyx_globals['t_plot'] = theme_categories.t_plot
 * else:
 *     class theme_categories(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['t_any'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any), 't_any')
 */
  /*else*/ {
    __pyx_t_36 = PyTuple_New(1); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 0, __Pyx_FlagBase)) __PYX_ERR(2, 154, __pyx_L1_error);
    __pyx_t_11 = __Pyx_PEP560_update_bases(__pyx_t_36); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_CalculateMetaclass(NULL, __pyx_t_11); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_Py3MetaclassPrepare(__pyx_t_37, __pyx_t_11, __pyx_n_s_theme_categories, __pyx_n_s_theme_categories, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    if (__pyx_t_11 != __pyx_t_36) {
      if (unlikely((PyDict_SetItemString(__pyx_t_35, "__orig_bases__", __pyx_t_36) < 0))) __PYX_ERR(2, 154, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    __pyx_t_36 = __Pyx_Py3ClassCreate(__pyx_t_37, __pyx_n_s_theme_categories, __pyx_t_11, __pyx_t_35, NULL, 0, 0); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_theme_categories, __pyx_t_36) < 0) __PYX_ERR(2, 154, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":156
 *     class theme_categories(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['t_any'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any), 't_any')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_simpleplot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot), 't_simpleplot')
 *     __Pyx_globals['t_button'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button), 't_button')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_any); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 156, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_any);
    __Pyx_GIVEREF(__pyx_n_s_t_any);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_any)) __PYX_ERR(2, 156, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 156, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_any, __pyx_t_37) < 0))) __PYX_ERR(2, 156, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":157
 *         pass
 *     __Pyx_globals['t_any'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any), 't_any')
 *     __Pyx_globals['t_simpleplot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot), 't_simpleplot')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_button'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button), 't_button')
 *     __Pyx_globals['t_combo'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo), 't_combo')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_simpleplot); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 157, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_simpleplot);
    __Pyx_GIVEREF(__pyx_n_s_t_simpleplot);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_simpleplot)) __PYX_ERR(2, 157, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 157, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_simpleplot, __pyx_t_35) < 0))) __PYX_ERR(2, 157, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":158
 *     __Pyx_globals['t_any'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_any), 't_any')
 *     __Pyx_globals['t_simpleplot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot), 't_simpleplot')
 *     __Pyx_globals['t_button'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button), 't_button')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_combo'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo), 't_combo')
 *     __Pyx_globals['t_checkbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox), 't_checkbox')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_button); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 158, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_button);
    __Pyx_GIVEREF(__pyx_n_s_t_button);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_button)) __PYX_ERR(2, 158, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 158, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_button, __pyx_t_11) < 0))) __PYX_ERR(2, 158, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":159
 *     __Pyx_globals['t_simpleplot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_simpleplot), 't_simpleplot')
 *     __Pyx_globals['t_button'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button), 't_button')
 *     __Pyx_globals['t_combo'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo), 't_combo')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_checkbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox), 't_checkbox')
 *     __Pyx_globals['t_slider'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider), 't_slider')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_combo); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 159, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_combo);
    __Pyx_GIVEREF(__pyx_n_s_t_combo);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_combo)) __PYX_ERR(2, 159, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 159, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_combo, __pyx_t_37) < 0))) __PYX_ERR(2, 159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":160
 *     __Pyx_globals['t_button'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_button), 't_button')
 *     __Pyx_globals['t_combo'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo), 't_combo')
 *     __Pyx_globals['t_checkbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox), 't_checkbox')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_slider'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider), 't_slider')
 *     __Pyx_globals['t_listbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox), 't_listbox')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_checkbox); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 160, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_checkbox);
    __Pyx_GIVEREF(__pyx_n_s_t_checkbox);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_checkbox)) __PYX_ERR(2, 160, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 160, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_checkbox, __pyx_t_35) < 0))) __PYX_ERR(2, 160, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":161
 *     __Pyx_globals['t_combo'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_combo), 't_combo')
 *     __Pyx_globals['t_checkbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox), 't_checkbox')
 *     __Pyx_globals['t_slider'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider), 't_slider')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_listbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox), 't_listbox')
 *     __Pyx_globals['t_radiobutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton), 't_radiobutton')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_slider); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 161, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_slider);
    __Pyx_GIVEREF(__pyx_n_s_t_slider);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_slider)) __PYX_ERR(2, 161, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 161, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_slider, __pyx_t_11) < 0))) __PYX_ERR(2, 161, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":162
 *     __Pyx_globals['t_checkbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_checkbox), 't_checkbox')
 *     __Pyx_globals['t_slider'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider), 't_slider')
 *     __Pyx_globals['t_listbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox), 't_listbox')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_radiobutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton), 't_radiobutton')
 *     __Pyx_globals['t_inputtext'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext), 't_inputtext')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_listbox); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 162, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_listbox);
    __Pyx_GIVEREF(__pyx_n_s_t_listbox);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_listbox)) __PYX_ERR(2, 162, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 162, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_listbox, __pyx_t_37) < 0))) __PYX_ERR(2, 162, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":163
 *     __Pyx_globals['t_slider'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_slider), 't_slider')
 *     __Pyx_globals['t_listbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox), 't_listbox')
 *     __Pyx_globals['t_radiobutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton), 't_radiobutton')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_inputtext'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext), 't_inputtext')
 *     __Pyx_globals['t_inputvalue'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue), 't_inputvalue')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_radiobutton); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 163, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_radiobutton);
    __Pyx_GIVEREF(__pyx_n_s_t_radiobutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_radiobutton)) __PYX_ERR(2, 163, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 163, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_radiobutton, __pyx_t_35) < 0))) __PYX_ERR(2, 163, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":164
 *     __Pyx_globals['t_listbox'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_listbox), 't_listbox')
 *     __Pyx_globals['t_radiobutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton), 't_radiobutton')
 *     __Pyx_globals['t_inputtext'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext), 't_inputtext')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_inputvalue'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue), 't_inputvalue')
 *     __Pyx_globals['t_text'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text), 't_text')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_inputtext); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 164, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_inputtext);
    __Pyx_GIVEREF(__pyx_n_s_t_inputtext);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_inputtext)) __PYX_ERR(2, 164, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 164, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_inputtext, __pyx_t_11) < 0))) __PYX_ERR(2, 164, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":165
 *     __Pyx_globals['t_radiobutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_radiobutton), 't_radiobutton')
 *     __Pyx_globals['t_inputtext'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext), 't_inputtext')
 *     __Pyx_globals['t_inputvalue'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue), 't_inputvalue')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_text'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text), 't_text')
 *     __Pyx_globals['t_selectable'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable), 't_selectable')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_inputvalue); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 165, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_inputvalue);
    __Pyx_GIVEREF(__pyx_n_s_t_inputvalue);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_inputvalue)) __PYX_ERR(2, 165, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 165, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_inputvalue, __pyx_t_37) < 0))) __PYX_ERR(2, 165, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":166
 *     __Pyx_globals['t_inputtext'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputtext), 't_inputtext')
 *     __Pyx_globals['t_inputvalue'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue), 't_inputvalue')
 *     __Pyx_globals['t_text'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text), 't_text')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_selectable'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable), 't_selectable')
 *     __Pyx_globals['t_tab'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab), 't_tab')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_text); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 166, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_text);
    __Pyx_GIVEREF(__pyx_n_s_t_text);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_text)) __PYX_ERR(2, 166, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 166, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_text, __pyx_t_35) < 0))) __PYX_ERR(2, 166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":167
 *     __Pyx_globals['t_inputvalue'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_inputvalue), 't_inputvalue')
 *     __Pyx_globals['t_text'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text), 't_text')
 *     __Pyx_globals['t_selectable'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable), 't_selectable')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tab'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab), 't_tab')
 *     __Pyx_globals['t_tabbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar), 't_tabbar')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_selectable); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 167, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_selectable);
    __Pyx_GIVEREF(__pyx_n_s_t_selectable);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_selectable)) __PYX_ERR(2, 167, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 167, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_selectable, __pyx_t_11) < 0))) __PYX_ERR(2, 167, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":168
 *     __Pyx_globals['t_text'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_text), 't_text')
 *     __Pyx_globals['t_selectable'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable), 't_selectable')
 *     __Pyx_globals['t_tab'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab), 't_tab')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tabbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar), 't_tabbar')
 *     __Pyx_globals['t_tabbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton), 't_tabbutton')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tab); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 168, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_tab);
    __Pyx_GIVEREF(__pyx_n_s_t_tab);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_tab)) __PYX_ERR(2, 168, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 168, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tab, __pyx_t_37) < 0))) __PYX_ERR(2, 168, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":169
 *     __Pyx_globals['t_selectable'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_selectable), 't_selectable')
 *     __Pyx_globals['t_tab'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab), 't_tab')
 *     __Pyx_globals['t_tabbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar), 't_tabbar')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tabbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton), 't_tabbutton')
 *     __Pyx_globals['t_menuitem'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem), 't_menuitem')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tabbar); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 169, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_tabbar);
    __Pyx_GIVEREF(__pyx_n_s_t_tabbar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_tabbar)) __PYX_ERR(2, 169, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 169, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tabbar, __pyx_t_35) < 0))) __PYX_ERR(2, 169, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":170
 *     __Pyx_globals['t_tab'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tab), 't_tab')
 *     __Pyx_globals['t_tabbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar), 't_tabbar')
 *     __Pyx_globals['t_tabbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton), 't_tabbutton')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menuitem'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem), 't_menuitem')
 *     __Pyx_globals['t_progressbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar), 't_progressbar')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tabbutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 170, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_tabbutton);
    __Pyx_GIVEREF(__pyx_n_s_t_tabbutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_tabbutton)) __PYX_ERR(2, 170, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 170, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tabbutton, __pyx_t_11) < 0))) __PYX_ERR(2, 170, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":171
 *     __Pyx_globals['t_tabbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbar), 't_tabbar')
 *     __Pyx_globals['t_tabbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton), 't_tabbutton')
 *     __Pyx_globals['t_menuitem'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem), 't_menuitem')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_progressbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar), 't_progressbar')
 *     __Pyx_globals['t_image'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image), 't_image')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menuitem); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 171, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_menuitem);
    __Pyx_GIVEREF(__pyx_n_s_t_menuitem);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_menuitem)) __PYX_ERR(2, 171, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 171, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menuitem, __pyx_t_37) < 0))) __PYX_ERR(2, 171, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":172
 *     __Pyx_globals['t_tabbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tabbutton), 't_tabbutton')
 *     __Pyx_globals['t_menuitem'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem), 't_menuitem')
 *     __Pyx_globals['t_progressbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar), 't_progressbar')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_image'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image), 't_image')
 *     __Pyx_globals['t_imagebutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton), 't_imagebutton')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_progressbar); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 172, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_progressbar);
    __Pyx_GIVEREF(__pyx_n_s_t_progressbar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_progressbar)) __PYX_ERR(2, 172, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 172, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_progressbar, __pyx_t_35) < 0))) __PYX_ERR(2, 172, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":173
 *     __Pyx_globals['t_menuitem'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menuitem), 't_menuitem')
 *     __Pyx_globals['t_progressbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar), 't_progressbar')
 *     __Pyx_globals['t_image'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image), 't_image')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_imagebutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton), 't_imagebutton')
 *     __Pyx_globals['t_menubar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar), 't_menubar')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_image); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 173, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_image);
    __Pyx_GIVEREF(__pyx_n_s_t_image);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_image)) __PYX_ERR(2, 173, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 173, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_image, __pyx_t_11) < 0))) __PYX_ERR(2, 173, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":174
 *     __Pyx_globals['t_progressbar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_progressbar), 't_progressbar')
 *     __Pyx_globals['t_image'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image), 't_image')
 *     __Pyx_globals['t_imagebutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton), 't_imagebutton')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menubar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar), 't_menubar')
 *     __Pyx_globals['t_menu'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu), 't_menu')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_imagebutton); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 174, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_imagebutton);
    __Pyx_GIVEREF(__pyx_n_s_t_imagebutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_imagebutton)) __PYX_ERR(2, 174, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 174, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_imagebutton, __pyx_t_37) < 0))) __PYX_ERR(2, 174, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":175
 *     __Pyx_globals['t_image'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_image), 't_image')
 *     __Pyx_globals['t_imagebutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton), 't_imagebutton')
 *     __Pyx_globals['t_menubar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar), 't_menubar')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_menu'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu), 't_menu')
 *     __Pyx_globals['t_tooltip'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip), 't_tooltip')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menubar); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 175, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_menubar);
    __Pyx_GIVEREF(__pyx_n_s_t_menubar);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_menubar)) __PYX_ERR(2, 175, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 175, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menubar, __pyx_t_35) < 0))) __PYX_ERR(2, 175, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":176
 *     __Pyx_globals['t_imagebutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_imagebutton), 't_imagebutton')
 *     __Pyx_globals['t_menubar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar), 't_menubar')
 *     __Pyx_globals['t_menu'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu), 't_menu')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_tooltip'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip), 't_tooltip')
 *     __Pyx_globals['t_layout'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout), 't_layout')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_menu); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 176, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_menu);
    __Pyx_GIVEREF(__pyx_n_s_t_menu);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_menu)) __PYX_ERR(2, 176, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 176, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_menu, __pyx_t_11) < 0))) __PYX_ERR(2, 176, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":177
 *     __Pyx_globals['t_menubar'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menubar), 't_menubar')
 *     __Pyx_globals['t_menu'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu), 't_menu')
 *     __Pyx_globals['t_tooltip'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip), 't_tooltip')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_layout'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout), 't_layout')
 *     __Pyx_globals['t_treenode'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode), 't_treenode')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_tooltip); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 177, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_tooltip);
    __Pyx_GIVEREF(__pyx_n_s_t_tooltip);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_tooltip)) __PYX_ERR(2, 177, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 177, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_tooltip, __pyx_t_37) < 0))) __PYX_ERR(2, 177, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":178
 *     __Pyx_globals['t_menu'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_menu), 't_menu')
 *     __Pyx_globals['t_tooltip'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip), 't_tooltip')
 *     __Pyx_globals['t_layout'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout), 't_layout')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_treenode'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode), 't_treenode')
 *     __Pyx_globals['t_collapsingheader'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader), 't_collapsingheader')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_layout); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 178, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_layout);
    __Pyx_GIVEREF(__pyx_n_s_t_layout);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_layout)) __PYX_ERR(2, 178, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 178, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_layout, __pyx_t_35) < 0))) __PYX_ERR(2, 178, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":179
 *     __Pyx_globals['t_tooltip'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_tooltip), 't_tooltip')
 *     __Pyx_globals['t_layout'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout), 't_layout')
 *     __Pyx_globals['t_treenode'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode), 't_treenode')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_collapsingheader'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader), 't_collapsingheader')
 *     __Pyx_globals['t_child'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child), 't_child')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_treenode); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 179, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_treenode);
    __Pyx_GIVEREF(__pyx_n_s_t_treenode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_treenode)) __PYX_ERR(2, 179, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 179, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_treenode, __pyx_t_11) < 0))) __PYX_ERR(2, 179, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":180
 *     __Pyx_globals['t_layout'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_layout), 't_layout')
 *     __Pyx_globals['t_treenode'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode), 't_treenode')
 *     __Pyx_globals['t_collapsingheader'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader), 't_collapsingheader')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_child'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child), 't_child')
 *     __Pyx_globals['t_colorbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton), 't_colorbutton')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_collapsingheader); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 180, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_collapsingheader);
    __Pyx_GIVEREF(__pyx_n_s_t_collapsingheader);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_collapsingheader)) __PYX_ERR(2, 180, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 180, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_collapsingheader, __pyx_t_37) < 0))) __PYX_ERR(2, 180, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":181
 *     __Pyx_globals['t_treenode'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_treenode), 't_treenode')
 *     __Pyx_globals['t_collapsingheader'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader), 't_collapsingheader')
 *     __Pyx_globals['t_child'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child), 't_child')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_colorbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton), 't_colorbutton')
 *     __Pyx_globals['t_coloredit'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit), 't_coloredit')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_child); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 181, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_child);
    __Pyx_GIVEREF(__pyx_n_s_t_child);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_child)) __PYX_ERR(2, 181, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 181, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_child, __pyx_t_35) < 0))) __PYX_ERR(2, 181, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":182
 *     __Pyx_globals['t_collapsingheader'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_collapsingheader), 't_collapsingheader')
 *     __Pyx_globals['t_child'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child), 't_child')
 *     __Pyx_globals['t_colorbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton), 't_colorbutton')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_coloredit'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit), 't_coloredit')
 *     __Pyx_globals['t_colorpicker'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker), 't_colorpicker')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_colorbutton); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 182, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_colorbutton);
    __Pyx_GIVEREF(__pyx_n_s_t_colorbutton);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_colorbutton)) __PYX_ERR(2, 182, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 182, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_colorbutton, __pyx_t_11) < 0))) __PYX_ERR(2, 182, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":183
 *     __Pyx_globals['t_child'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_child), 't_child')
 *     __Pyx_globals['t_colorbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton), 't_colorbutton')
 *     __Pyx_globals['t_coloredit'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit), 't_coloredit')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_colorpicker'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker), 't_colorpicker')
 *     __Pyx_globals['t_window'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window), 't_window')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_coloredit); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 183, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_coloredit);
    __Pyx_GIVEREF(__pyx_n_s_t_coloredit);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_coloredit)) __PYX_ERR(2, 183, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 183, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_coloredit, __pyx_t_37) < 0))) __PYX_ERR(2, 183, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":184
 *     __Pyx_globals['t_colorbutton'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorbutton), 't_colorbutton')
 *     __Pyx_globals['t_coloredit'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit), 't_coloredit')
 *     __Pyx_globals['t_colorpicker'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker), 't_colorpicker')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_window'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window), 't_window')
 *     __Pyx_globals['t_plot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot), 't_plot')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_colorpicker); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_35)) __PYX_ERR(2, 184, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_colorpicker);
    __Pyx_GIVEREF(__pyx_n_s_t_colorpicker);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_colorpicker)) __PYX_ERR(2, 184, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_35 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_11, NULL); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 184, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_colorpicker, __pyx_t_35) < 0))) __PYX_ERR(2, 184, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;

    /* "EnumType":185
 *     __Pyx_globals['t_coloredit'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_coloredit), 't_coloredit')
 *     __Pyx_globals['t_colorpicker'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker), 't_colorpicker')
 *     __Pyx_globals['t_window'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window), 't_window')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_plot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot), 't_plot')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_35, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_window); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_11)) __PYX_ERR(2, 185, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_window);
    __Pyx_GIVEREF(__pyx_n_s_t_window);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_n_s_t_window)) __PYX_ERR(2, 185, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_35, __pyx_t_37, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 185, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_window, __pyx_t_11) < 0))) __PYX_ERR(2, 185, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":186
 *     __Pyx_globals['t_colorpicker'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_colorpicker), 't_colorpicker')
 *     __Pyx_globals['t_window'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_window), 't_window')
 *     __Pyx_globals['t_plot'] = theme_categories(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(t_plot), 't_plot')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_categories); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(__pyx_e_9dearcygui_4core_t_plot); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_t_37)) __PYX_ERR(2, 186, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_plot);
    __Pyx_GIVEREF(__pyx_n_s_t_plot);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_n_s_t_plot)) __PYX_ERR(2, 186, __pyx_L1_error);
    __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_35, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_35); __pyx_t_35 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 186, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_plot, __pyx_t_37) < 0))) __PYX_ERR(2, 186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
  }
  __pyx_L45:;

  /* "EnumType":76
 *     object __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(theme_enablers value)
 * 
 * cdef dict __Pyx_globals = globals()             # <<<<<<<<<<<<<<
 * if PY_VERSION_HEX >= 0x03060000:
 * 
 */
  __pyx_t_37 = __Pyx_Globals(); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_37);
  if (!(likely(PyDict_CheckExact(__pyx_t_37))||((__pyx_t_37) == Py_None) || __Pyx_RaiseUnexpectedTypeError("dict", __pyx_t_37))) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_XGOTREF(__Pyx_globals);
  __Pyx_DECREF_SET(__Pyx_globals, ((PyObject*)__pyx_t_37));
  __Pyx_GIVEREF(__pyx_t_37);
  __pyx_t_37 = 0;

  /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = (PY_VERSION_HEX >= 0x03060000);
  if (__pyx_t_2) {

    /* "EnumType":81
 * 
 *     theme_enablers = __Pyx_FlagBase('theme_enablers', [
 *         ('t_enabled_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any)),             # <<<<<<<<<<<<<<
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),
 *         ('t_enabled_True', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True)),
 */
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_any); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_35 = PyTuple_New(2); if (unlikely(!__pyx_t_35)) __PYX_ERR(2, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_35);
    __Pyx_INCREF(__pyx_n_s_t_enabled_any);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_any);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 0, __pyx_n_s_t_enabled_any)) __PYX_ERR(2, 81, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_35, 1, __pyx_t_37)) __PYX_ERR(2, 81, __pyx_L1_error);
    __pyx_t_37 = 0;

    /* "EnumType":82
 *     theme_enablers = __Pyx_FlagBase('theme_enablers', [
 *         ('t_enabled_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any)),
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),             # <<<<<<<<<<<<<<
 *         ('t_enabled_True', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True)),
 *         ('t_discarded', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded)),
 */
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_False); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_INCREF(__pyx_n_s_t_enabled_False);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_False);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_t_enabled_False)) __PYX_ERR(2, 82, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_37)) __PYX_ERR(2, 82, __pyx_L1_error);
    __pyx_t_37 = 0;

    /* "EnumType":83
 *         ('t_enabled_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any)),
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),
 *         ('t_enabled_True', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True)),             # <<<<<<<<<<<<<<
 *         ('t_discarded', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded)),
 * 
 */
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_True); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_36 = PyTuple_New(2); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_INCREF(__pyx_n_s_t_enabled_True);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_True);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 0, __pyx_n_s_t_enabled_True)) __PYX_ERR(2, 83, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 1, __pyx_t_37)) __PYX_ERR(2, 83, __pyx_L1_error);
    __pyx_t_37 = 0;

    /* "EnumType":84
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),
 *         ('t_enabled_True', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True)),
 *         ('t_discarded', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded)),             # <<<<<<<<<<<<<<
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 */
    __pyx_t_37 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_discarded); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_34 = PyTuple_New(2); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_INCREF(__pyx_n_s_t_discarded);
    __Pyx_GIVEREF(__pyx_n_s_t_discarded);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_n_s_t_discarded)) __PYX_ERR(2, 84, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 1, __pyx_t_37)) __PYX_ERR(2, 84, __pyx_L1_error);
    __pyx_t_37 = 0;

    /* "EnumType":80
 * 
 * 
 *     theme_enablers = __Pyx_FlagBase('theme_enablers', [             # <<<<<<<<<<<<<<
 *         ('t_enabled_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any)),
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),
 */
    __pyx_t_37 = PyList_New(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_GIVEREF(__pyx_t_35);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_37, 0, __pyx_t_35)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_37, 1, __pyx_t_11)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_36);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_37, 2, __pyx_t_36)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_34);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_37, 3, __pyx_t_34)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_35 = 0;
    __pyx_t_11 = 0;
    __pyx_t_36 = 0;
    __pyx_t_34 = 0;
    __pyx_t_34 = PyTuple_New(2); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_INCREF(__pyx_n_s_theme_enablers);
    __Pyx_GIVEREF(__pyx_n_s_theme_enablers);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_n_s_theme_enablers)) __PYX_ERR(2, 80, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_37);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 1, __pyx_t_37)) __PYX_ERR(2, 80, __pyx_L1_error);
    __pyx_t_37 = 0;

    /* "EnumType":86
 *         ('t_discarded', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded)),
 * 
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))             # <<<<<<<<<<<<<<
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:
 */
    __pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(2, 86, __pyx_L1_error)
    }
    __pyx_t_36 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_dearcygui_core); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_module_2, __pyx_t_36) < 0) __PYX_ERR(2, 86, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":80
 * 
 * 
 *     theme_enablers = __Pyx_FlagBase('theme_enablers', [             # <<<<<<<<<<<<<<
 *         ('t_enabled_any', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any)),
 *         ('t_enabled_False', __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False)),
 */
    __pyx_t_36 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_34, __pyx_t_37); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_theme_enablers, __pyx_t_36) < 0) __PYX_ERR(2, 80, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":88
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
    if (__pyx_t_2) {

      /* "EnumType":93
 * 
 * 
 *         theme_enablers._member_names_ = list(theme_enablers.__members__)             # <<<<<<<<<<<<<<
 * 
 *     __Pyx_globals['t_enabled_any'] = theme_enablers.t_enabled_any
 */
      __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_36);
      __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_members); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_37);
      __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
      __pyx_t_36 = __Pyx_PySequence_ListKeepNew(__pyx_t_37); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_36);
      __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_37);
      if (__Pyx_PyObject_SetAttrStr(__pyx_t_37, __pyx_n_s_member_names, __pyx_t_36) < 0) __PYX_ERR(2, 93, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
      __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

      /* "EnumType":88
 *     ], module=__Pyx_globals.get("__module__", 'dearcygui.core'))
 * 
 *     if PY_VERSION_HEX >= 0x030B0000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    }

    /* "EnumType":95
 *         theme_enablers._member_names_ = list(theme_enablers.__members__)
 * 
 *     __Pyx_globals['t_enabled_any'] = theme_enablers.t_enabled_any             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_enabled_False'] = theme_enablers.t_enabled_False
 *     __Pyx_globals['t_enabled_True'] = theme_enablers.t_enabled_True
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_t_enabled_any); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 95, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_any, __pyx_t_36) < 0))) __PYX_ERR(2, 95, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":96
 * 
 *     __Pyx_globals['t_enabled_any'] = theme_enablers.t_enabled_any
 *     __Pyx_globals['t_enabled_False'] = theme_enablers.t_enabled_False             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_enabled_True'] = theme_enablers.t_enabled_True
 *     __Pyx_globals['t_discarded'] = theme_enablers.t_discarded
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_enabled_False); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 96, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_False, __pyx_t_37) < 0))) __PYX_ERR(2, 96, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":97
 *     __Pyx_globals['t_enabled_any'] = theme_enablers.t_enabled_any
 *     __Pyx_globals['t_enabled_False'] = theme_enablers.t_enabled_False
 *     __Pyx_globals['t_enabled_True'] = theme_enablers.t_enabled_True             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_discarded'] = theme_enablers.t_discarded
 * else:
 */
    __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_t_enabled_True); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 97, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_True, __pyx_t_36) < 0))) __PYX_ERR(2, 97, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":98
 *     __Pyx_globals['t_enabled_False'] = theme_enablers.t_enabled_False
 *     __Pyx_globals['t_enabled_True'] = theme_enablers.t_enabled_True
 *     __Pyx_globals['t_discarded'] = theme_enablers.t_discarded             # <<<<<<<<<<<<<<
 * else:
 *     class theme_enablers(__Pyx_FlagBase):
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_36, __pyx_n_s_t_discarded); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 98, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_discarded, __pyx_t_37) < 0))) __PYX_ERR(2, 98, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;

    /* "EnumType":77
 * 
 * cdef dict __Pyx_globals = globals()
 * if PY_VERSION_HEX >= 0x03060000:             # <<<<<<<<<<<<<<
 * 
 * 
 */
    goto __pyx_L47;
  }

  /* "EnumType":100
 *     __Pyx_globals['t_discarded'] = theme_enablers.t_discarded
 * else:
 *     class theme_enablers(__Pyx_FlagBase):             # <<<<<<<<<<<<<<
 *         pass
 *     __Pyx_globals['t_enabled_any'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any), 't_enabled_any')
 */
  /*else*/ {
    __pyx_t_37 = PyTuple_New(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    __Pyx_INCREF(__Pyx_FlagBase);
    __Pyx_GIVEREF(__Pyx_FlagBase);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_37, 0, __Pyx_FlagBase)) __PYX_ERR(2, 100, __pyx_L1_error);
    __pyx_t_36 = __Pyx_PEP560_update_bases(__pyx_t_37); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_34 = __Pyx_CalculateMetaclass(NULL, __pyx_t_36); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __pyx_t_11 = __Pyx_Py3MetaclassPrepare(__pyx_t_34, __pyx_t_36, __pyx_n_s_theme_enablers, __pyx_n_s_theme_enablers, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    if (__pyx_t_36 != __pyx_t_37) {
      if (unlikely((PyDict_SetItemString(__pyx_t_11, "__orig_bases__", __pyx_t_37) < 0))) __PYX_ERR(2, 100, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __pyx_t_37 = __Pyx_Py3ClassCreate(__pyx_t_34, __pyx_n_s_theme_enablers, __pyx_t_36, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_37)) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_37);
    if (PyDict_SetItem(__pyx_d, __pyx_n_s_theme_enablers, __pyx_t_37) < 0) __PYX_ERR(2, 100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":102
 *     class theme_enablers(__Pyx_FlagBase):
 *         pass
 *     __Pyx_globals['t_enabled_any'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any), 't_enabled_any')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_enabled_False'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False), 't_enabled_False')
 *     __Pyx_globals['t_enabled_True'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True), 't_enabled_True')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_34 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_any); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_34);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_34)) __PYX_ERR(2, 102, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_enabled_any);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_any);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_enabled_any)) __PYX_ERR(2, 102, __pyx_L1_error);
    __pyx_t_34 = 0;
    __pyx_t_34 = __Pyx_PyObject_Call(__pyx_t_36, __pyx_t_11, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 102, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_any, __pyx_t_34) < 0))) __PYX_ERR(2, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

    /* "EnumType":103
 *         pass
 *     __Pyx_globals['t_enabled_any'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any), 't_enabled_any')
 *     __Pyx_globals['t_enabled_False'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False), 't_enabled_False')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_enabled_True'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True), 't_enabled_True')
 *     __Pyx_globals['t_discarded'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded), 't_discarded')
 */
    __Pyx_GetModuleGlobalName(__pyx_t_34, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_False); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = PyTuple_New(2); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 0, __pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_enabled_False);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_False);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_36, 1, __pyx_n_s_t_enabled_False)) __PYX_ERR(2, 103, __pyx_L1_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_34, __pyx_t_36, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 103, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_False, __pyx_t_11) < 0))) __PYX_ERR(2, 103, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "EnumType":104
 *     __Pyx_globals['t_enabled_any'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_any), 't_enabled_any')
 *     __Pyx_globals['t_enabled_False'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False), 't_enabled_False')
 *     __Pyx_globals['t_enabled_True'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True), 't_enabled_True')             # <<<<<<<<<<<<<<
 *     __Pyx_globals['t_discarded'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded), 't_discarded')
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_36 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_enabled_True); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_34 = PyTuple_New(2); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_GIVEREF(__pyx_t_36);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_t_36)) __PYX_ERR(2, 104, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_enabled_True);
    __Pyx_GIVEREF(__pyx_n_s_t_enabled_True);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_34, 1, __pyx_n_s_t_enabled_True)) __PYX_ERR(2, 104, __pyx_L1_error);
    __pyx_t_36 = 0;
    __pyx_t_36 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_34, NULL); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 104, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_enabled_True, __pyx_t_36) < 0))) __PYX_ERR(2, 104, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;

    /* "EnumType":105
 *     __Pyx_globals['t_enabled_False'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_False), 't_enabled_False')
 *     __Pyx_globals['t_enabled_True'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_enabled_True), 't_enabled_True')
 *     __Pyx_globals['t_discarded'] = theme_enablers(__Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(t_discarded), 't_discarded')             # <<<<<<<<<<<<<<
 * 
 */
    __Pyx_GetModuleGlobalName(__pyx_t_36, __pyx_n_s_theme_enablers); if (unlikely(!__pyx_t_36)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_36);
    __pyx_t_34 = __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(__pyx_e_9dearcygui_4core_t_discarded); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_34);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_34)) __PYX_ERR(2, 105, __pyx_L1_error);
    __Pyx_INCREF(__pyx_n_s_t_discarded);
    __Pyx_GIVEREF(__pyx_n_s_t_discarded);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_n_s_t_discarded)) __PYX_ERR(2, 105, __pyx_L1_error);
    __pyx_t_34 = 0;
    __pyx_t_34 = __Pyx_PyObject_Call(__pyx_t_36, __pyx_t_11, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_34);
    __Pyx_DECREF(__pyx_t_36); __pyx_t_36 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(__Pyx_globals == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 105, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_t_discarded, __pyx_t_34) < 0))) __PYX_ERR(2, 105, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  }
  __pyx_L47:;

  /* "dearcygui/core.pyx":17
 * 
 * from libcpp cimport bool
 * import traceback             # <<<<<<<<<<<<<<
 * 
 * cimport cython
 */
  __pyx_t_34 = __Pyx_ImportDottedModule(__pyx_n_s_traceback, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_traceback, __pyx_t_34) < 0) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":35
 * from dearcygui.wrapper.mutex cimport recursive_mutex, unique_lock, defer_lock_t
 * 
 * from concurrent.futures import Executor, ThreadPoolExecutor             # <<<<<<<<<<<<<<
 * from libcpp.algorithm cimport swap
 * from libcpp.cmath cimport atan, sin, cos, trunc, floor
 */
  __pyx_t_34 = PyList_New(2); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  __Pyx_INCREF(__pyx_n_s_Executor);
  __Pyx_GIVEREF(__pyx_n_s_Executor);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_34, 0, __pyx_n_s_Executor)) __PYX_ERR(1, 35, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_ThreadPoolExecutor);
  __Pyx_GIVEREF(__pyx_n_s_ThreadPoolExecutor);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_34, 1, __pyx_n_s_ThreadPoolExecutor)) __PYX_ERR(1, 35, __pyx_L1_error);
  __pyx_t_11 = __Pyx_Import(__pyx_n_s_concurrent_futures, __pyx_t_34, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  __pyx_t_34 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_Executor); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Executor, __pyx_t_34) < 0) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  __pyx_t_34 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_ThreadPoolExecutor); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ThreadPoolExecutor, __pyx_t_34) < 0) __PYX_ERR(1, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":43
 * cimport dearcygui.backends.time as ctime
 * 
 * import os             # <<<<<<<<<<<<<<
 * import numpy as np
 * cimport numpy as cnp
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_os, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_11) < 0) __PYX_ERR(1, 43, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":44
 * 
 * import os
 * import numpy as np             # <<<<<<<<<<<<<<
 * cimport numpy as cnp
 * cnp.import_array()
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_numpy, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_11) < 0) __PYX_ERR(1, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":46
 * import numpy as np
 * cimport numpy as cnp
 * cnp.import_array()             # <<<<<<<<<<<<<<
 * 
 * import scipy
 */
  __pyx_t_38 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_38 == ((int)-1))) __PYX_ERR(1, 46, __pyx_L1_error)

  /* "dearcygui/core.pyx":48
 * cnp.import_array()
 * 
 * import scipy             # <<<<<<<<<<<<<<
 * import scipy.spatial
 * import time as python_time
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_scipy, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_scipy, __pyx_t_11) < 0) __PYX_ERR(1, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":49
 * 
 * import scipy
 * import scipy.spatial             # <<<<<<<<<<<<<<
 * import time as python_time
 * import threading
 */
  __pyx_t_11 = __Pyx_Import(__pyx_n_s_scipy_spatial, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_scipy, __pyx_t_11) < 0) __PYX_ERR(1, 49, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":50
 * import scipy
 * import scipy.spatial
 * import time as python_time             # <<<<<<<<<<<<<<
 * import threading
 * import weakref
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_time, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_python_time, __pyx_t_11) < 0) __PYX_ERR(1, 50, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":51
 * import scipy.spatial
 * import time as python_time
 * import threading             # <<<<<<<<<<<<<<
 * import weakref
 * 
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_threading, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_11) < 0) __PYX_ERR(1, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":52
 * import time as python_time
 * import threading
 * import weakref             # <<<<<<<<<<<<<<
 * 
 * cdef inline void clear_obj_vector(vector[PyObject *] &items):
 */
  __pyx_t_11 = __Pyx_ImportDottedModule(__pyx_n_s_weakref, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_weakref, __pyx_t_11) < 0) __PYX_ERR(1, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":106
 * 
 * # Placeholder global where the last created Context is stored.
 * C : Context = None             # <<<<<<<<<<<<<<
 * 
 * # The no gc clear flag enforces that in case
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_C, Py_None) < 0) __PYX_ERR(1, 106, __pyx_L1_error)

  /* "dearcygui/core.pyx":388
 *         return item
 * 
 *     cpdef void push_next_parent(self, baseItem next_parent):             # <<<<<<<<<<<<<<
 *         """
 *         Each time 'with' is used on an item, it is pushed
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_11push_next_parent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_push_next_parent, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__103)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_push_next_parent, __pyx_t_11) < 0) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":407
 *         self.threadlocal_data.parent_queue = parent_queue
 * 
 *     cpdef void pop_next_parent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Remove an item from the potential parent list.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_13pop_next_parent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_pop_next_parent, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_pop_next_parent, __pyx_t_11) < 0) __PYX_ERR(1, 407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":415
 *             parent_queue.pop()
 * 
 *     cpdef object fetch_parent_queue_back(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the last item from the potential parent list
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_15fetch_parent_queue_back, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_fetch_parent_queue_back, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__105)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_fetch_parent_queue_back, __pyx_t_11) < 0) __PYX_ERR(1, 415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":424
 *         return parent_queue[len(parent_queue)-1]
 * 
 *     cpdef object fetch_parent_queue_front(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the top item from the potential parent list
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_17fetch_parent_queue_front, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_fetch_parent_queue_front, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_fetch_parent_queue_front, __pyx_t_11) < 0) __PYX_ERR(1, 424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":433
 *         return parent_queue[0]
 * 
 *     cpdef object fetch_last_created_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item created in this thread.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_19fetch_last_created_item, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_fetch_last_created_item, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_fetch_last_created_item, __pyx_t_11) < 0) __PYX_ERR(1, 433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":442
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     cpdef object fetch_last_created_container(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the last item which can have children
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_21fetch_last_created_container, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_fetch_last_created_conta, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__108)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_fetch_last_created_container, __pyx_t_11) < 0) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":452
 *         return self.get_registered_item_from_uuid(last_uuid)
 * 
 *     def is_key_down(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Is key being held.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_23is_key_down, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_key_down, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__110)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__6);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_key_down, __pyx_t_11) < 0) __PYX_ERR(1, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":471
 *         return imgui.IsKeyDown(<imgui.ImGuiKey>key)
 * 
 *     def is_key_pressed(self, int key, int keymod=-1, bint repeat=True):             # <<<<<<<<<<<<<<
 *         """
 *         Was key pressed (went from !Down to Down)?
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_25is_key_pressed, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_key_pressed, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__113);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_key_pressed, __pyx_t_11) < 0) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":490
 *         return imgui.IsKeyPressed(<imgui.ImGuiKey>key, repeat)
 * 
 *     def is_key_released(self, int key, int keymod=-1):             # <<<<<<<<<<<<<<
 *         """
 *         Was key released (went from Down to !Down)?
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_27is_key_released, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_key_released, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__6);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_key_released, __pyx_t_11) < 0) __PYX_ERR(1, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":506
 *         return imgui.IsKeyReleased(<imgui.ImGuiKey>key)
 * 
 *     def is_mouse_down(self, int button):             # <<<<<<<<<<<<<<
 *         """is mouse button held?"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_29is_mouse_down, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_mouse_down, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_mouse_down, __pyx_t_11) < 0) __PYX_ERR(1, 506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":515
 *         return imgui.IsMouseDown(button)
 * 
 *     def is_mouse_clicked(self, int button, bint repeat=False):             # <<<<<<<<<<<<<<
 *         """did mouse button clicked? (went from !Down to Down). Same as get_mouse_clicked_count() >= 1."""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_31is_mouse_clicked, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_mouse_clicked, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__118)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__119);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_mouse_clicked, __pyx_t_11) < 0) __PYX_ERR(1, 515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":524
 *         return imgui.IsMouseClicked(button, repeat)
 * 
 *     def is_mouse_double_clicked(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button double-clicked?. Same as get_mouse_clicked_count() == 2."""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_33is_mouse_double_clicked, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_mouse_double_clicked, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_mouse_double_clicked, __pyx_t_11) < 0) __PYX_ERR(1, 524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":533
 *         return imgui.IsMouseDoubleClicked(button)
 * 
 *     def get_mouse_clicked_count(self, int button):             # <<<<<<<<<<<<<<
 *         """how many times a mouse button is clicked in a row"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_35get_mouse_clicked_count, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_get_mouse_clicked_count, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_get_mouse_clicked_count, __pyx_t_11) < 0) __PYX_ERR(1, 533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":542
 *         return imgui.GetMouseClickedCount(button)
 * 
 *     def is_mouse_released(self, int button):             # <<<<<<<<<<<<<<
 *         """did mouse button released? (went from Down to !Down)"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_37is_mouse_released, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_mouse_released, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_mouse_released, __pyx_t_11) < 0) __PYX_ERR(1, 542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":551
 *         return imgui.IsMouseReleased(button)
 * 
 *     def get_mouse_position(self):             # <<<<<<<<<<<<<<
 *         """Retrieves the mouse position (x, y). Raises KeyError if there is no mouse"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_39get_mouse_position, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_get_mouse_position, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_get_mouse_position, __pyx_t_11) < 0) __PYX_ERR(1, 551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":561
 *         return (pos.x, pos.y)
 * 
 *     def is_mouse_dragging(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """is mouse dragging? (uses default distance threshold if lock_threshold < 0.0f"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_41is_mouse_dragging, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_is_mouse_dragging, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__127);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_is_mouse_dragging, __pyx_t_11) < 0) __PYX_ERR(1, 561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":570
 *         return imgui.IsMouseDragging(button, lock_threshold)
 * 
 *     def get_mouse_drag_delta(self, int button, float lock_threshold=-1.):             # <<<<<<<<<<<<<<
 *         """
 *         Return the delta (dx, dy) from the initial clicking position while the mouse button is pressed or was just released.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_43get_mouse_drag_delta, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_get_mouse_drag_delta, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__127);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_get_mouse_drag_delta, __pyx_t_11) < 0) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "dearcygui/core.pyx":584
 *         return (delta.x, delta.y)
 * 
 *     def reset_mouse_drag_delta(self, int button):             # <<<<<<<<<<<<<<
 *         """Reset to 0 the drag delta for the target button"""
 *         cdef unique_lock[recursive_mutex] m
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_45reset_mouse_drag_delta, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_reset_mouse_drag_delta, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Context, __pyx_n_s_reset_mouse_drag_delta, __pyx_t_11) < 0) __PYX_ERR(1, 584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Context);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_47__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Context_49__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":857
 *         self.element_child_category = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Legacy DPG support: automatic attachement
 *         should_attach = kwargs.pop("attach", None)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_5configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__134)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1170
 *             already_attached.insert(uuid)
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         # Mutexes not needed
 *         if not(self.can_have_drawing_child or \
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_9__enter__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem___enter, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_enter, __pyx_t_11) < 0) __PYX_ERR(1, 1170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1185
 *         return self
 * 
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.context.pop_next_parent()
 *         return False # Do not catch exceptions
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_11__exit__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem___exit, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_exit, __pyx_t_11) < 0) __PYX_ERR(1, 1185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1265
 * 
 * 
 *     cpdef void attach_to_parent(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = target, but
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_13attach_to_parent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_attach_to_parent, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_attach_to_parent, __pyx_t_11) < 0) __PYX_ERR(1, 1265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1419
 *             self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void attach_before(self, target):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.next_sibling = target,
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_15attach_before, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_attach_before, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__140)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_attach_before, __pyx_t_11) < 0) __PYX_ERR(1, 1419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1530
 *         self._next_sibling = None
 * 
 *     cpdef void detach_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         Same as item.parent = None
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_17detach_item, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_detach_item, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_detach_item, __pyx_t_11) < 0) __PYX_ERR(1, 1530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1546
 *         self.set_hidden_and_propagate_to_siblings_no_handlers()
 * 
 *     cpdef void delete_item(self):             # <<<<<<<<<<<<<<
 *         """
 *         When an item is not referenced anywhere, it might
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_19delete_item, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_delete_item, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__142)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_delete_item, __pyx_t_11) < 0) __PYX_ERR(1, 1546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1791
 *             self.propagate_hidden_state_to_children_with_handlers()
 * 
 *     def lock_mutex(self, wait=False):             # <<<<<<<<<<<<<<
 *         """
 *         Lock the internal item mutex.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_21lock_mutex, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_lock_mutex, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__119);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_lock_mutex, __pyx_t_11) < 0) __PYX_ERR(1, 1791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "dearcygui/core.pyx":1845
 *         return True
 * 
 *     def unlock_mutex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Unlock a previously held mutex on this object by this thread.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_23unlock_mutex, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem_unlock_mutex, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__146)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseItem, __pyx_n_s_unlock_mutex, __pyx_t_11) < 0) __PYX_ERR(1, 1845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseItem);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_25__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8baseItem_27__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseItem___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__148)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":1904
 *         return wrap_this_and_parents_mutex(self)
 * 
 * class wrap_mutex:             # <<<<<<<<<<<<<<
 *     def __init__(self, target):
 *         self.target = target
 */
  __pyx_t_11 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_wrap_mutex, __pyx_n_s_wrap_mutex, (PyObject *) NULL, __pyx_kp_s_dearcygui_core, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "dearcygui/core.pyx":1905
 * 
 * class wrap_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *     def __enter__(self):
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10wrap_mutex_1__init__, 0, __pyx_n_s_wrap_mutex___init, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_init, __pyx_t_34) < 0) __PYX_ERR(1, 1905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1907
 *     def __init__(self, target):
 *         self.target = target
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10wrap_mutex_3__enter__, 0, __pyx_n_s_wrap_mutex___enter, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__150)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_enter, __pyx_t_34) < 0) __PYX_ERR(1, 1907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1909
 *     def __enter__(self):
 *         self.target.lock_mutex(wait=True)
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         self.target.unlock_mutex()
 *         return False # Do not catch exceptions
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10wrap_mutex_5__exit__, 0, __pyx_n_s_wrap_mutex___exit, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_exit, __pyx_t_34) < 0) __PYX_ERR(1, 1909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1904
 *         return wrap_this_and_parents_mutex(self)
 * 
 * class wrap_mutex:             # <<<<<<<<<<<<<<
 *     def __init__(self, target):
 *         self.target = target
 */
  __pyx_t_34 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_n_s_wrap_mutex, __pyx_empty_tuple, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_wrap_mutex, __pyx_t_34) < 0) __PYX_ERR(1, 1904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":1913
 *         return False # Do not catch exceptions
 * 
 * class wrap_this_and_parents_mutex:             # <<<<<<<<<<<<<<
 *     def __init__(self, target):
 *         self.target = target
 */
  __pyx_t_11 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_wrap_this_and_parents_mutex, __pyx_n_s_wrap_this_and_parents_mutex, (PyObject *) NULL, __pyx_kp_s_dearcygui_core, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "dearcygui/core.pyx":1914
 * 
 * class wrap_this_and_parents_mutex:
 *     def __init__(self, target):             # <<<<<<<<<<<<<<
 *         self.target = target
 *         self.locked = []
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_1__init__, 0, __pyx_n_s_wrap_this_and_parents_mutex___in, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__152)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_init, __pyx_t_34) < 0) __PYX_ERR(1, 1914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1919
 *         self.nlocked = []
 *         # TODO: Should we use thread-local here ?
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         while True:
 *             locked = []
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_3__enter__, 0, __pyx_n_s_wrap_this_and_parents_mutex___en, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_enter, __pyx_t_34) < 0) __PYX_ERR(1, 1919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1945
 *             # thread retaining the lock to run
 *             os.sched_yield()
 *     def __exit__(self, exc_type, exc_value, traceback):             # <<<<<<<<<<<<<<
 *         cdef int N = self.nlocked.pop()
 *         cdef int i
 */
  __pyx_t_34 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_27wrap_this_and_parents_mutex_5__exit__, 0, __pyx_n_s_wrap_this_and_parents_mutex___ex, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_n_s_exit, __pyx_t_34) < 0) __PYX_ERR(1, 1945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;

  /* "dearcygui/core.pyx":1913
 *         return False # Do not catch exceptions
 * 
 * class wrap_this_and_parents_mutex:             # <<<<<<<<<<<<<<
 *     def __init__(self, target):
 *         self.target = target
 */
  __pyx_t_34 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_n_s_wrap_this_and_parents_mutex, __pyx_empty_tuple, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(1, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_34);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_wrap_this_and_parents_mutex, __pyx_t_34) < 0) __PYX_ERR(1, 1913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":1998
 *             self.viewport = NULL
 * 
 *     def initialize(self, minimized=False, maximized=False, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Initialize the viewport for rendering and show it.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_5initialize, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport_initialize, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__158)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__159);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Viewport, __pyx_n_s_initialize, __pyx_t_11) < 0) __PYX_ERR(1, 1998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Viewport);

  /* "dearcygui/core.pyx":2546
 *         }
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         for (key, value) in kwargs.items():
 *             setattr(self, key, value)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_7configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Viewport, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 2546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Viewport);

  /* "dearcygui/core.pyx":2749
 * 
 * 
 *     def render_frame(self, bint can_skip_presenting=False):             # <<<<<<<<<<<<<<
 *         """
 *         Render one frame.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_9render_frame, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport_render_frame, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__163)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__119);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Viewport, __pyx_n_s_render_frame, __pyx_t_11) < 0) __PYX_ERR(1, 2749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Viewport);

  /* "dearcygui/core.pyx":2840
 *         return should_present
 * 
 *     def wake(self):             # <<<<<<<<<<<<<<
 *         """
 *         In case rendering is waiting for an input (waitForInputs),
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_11wake, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport_wake, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Viewport, __pyx_n_s_wake, __pyx_t_11) < 0) __PYX_ERR(1, 2840, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Viewport);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__166)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Viewport_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Viewport___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Callback_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Callback___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__168)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Callback_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Callback___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DPGCallback_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DPGCallback___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__170)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DPGCallback_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DPGCallback___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17PlaceHolderParent_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlaceHolderParent___reduce_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__172)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17PlaceHolderParent_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlaceHolderParent___setstate_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11drawingItem_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_drawingItem___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__174)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11drawingItem_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_drawingItem___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DrawingList_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawingList___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__176)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DrawingList_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawingList___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16DrawingListScale_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawingListScale___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__178)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16DrawingListScale_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawingListScale___setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawArrow__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawArrow____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__180)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawArrow__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawArrow____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16DrawBezierCubic__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawBezierCubic____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__182)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16DrawBezierCubic__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawBezierCubic____setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_20DrawBezierQuadratic__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawBezierQuadratic____reduce_cy, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_20DrawBezierQuadratic__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawBezierQuadratic____setstate, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DrawCircle__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawCircle____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11DrawCircle__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawCircle____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawEllipse__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawEllipse____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__188)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawEllipse__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawEllipse____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawImage__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawImage____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__190)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawImage__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawImage____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14DrawImageQuad__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawImageQuad____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__192)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14DrawImageQuad__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawImageQuad____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawLine__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawLine____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__194)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawLine__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawLine____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13DrawPolyline__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawPolyline____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__196)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13DrawPolyline__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawPolyline____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawPolygon__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawPolygon____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__198)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawPolygon__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawPolygon____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawQuad__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawQuad____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__200)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawQuad__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawQuad____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawRect__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawRect____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawRect__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawRect____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__203)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawText__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawText____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9DrawText__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawText____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13DrawTriangle__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawTriangle____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__206)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13DrawTriangle__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawTriangle____setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_19DrawInvisibleButton_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInvisibleButton___reduce_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__208)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_19DrawInvisibleButton_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInvisibleButton___setstate_c, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawInWindow_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInWindow___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__210)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12DrawInWindow_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInWindow___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17ViewportDrawList__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ViewportDrawList____reduce_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__212)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17ViewportDrawList__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ViewportDrawList____setstate_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__213)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_15KeyDownHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyDownHandler____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__214)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_15KeyDownHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyDownHandler____setstate_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__215)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16KeyPressHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyPressHandler____reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__216)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16KeyPressHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyPressHandler____setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__217)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_18KeyReleaseHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyReleaseHandler____reduce_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__218)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_18KeyReleaseHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KeyReleaseHandler____setstate_cy, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__219)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_18MouseClickHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseClickHandler____reduce_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__220)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_18MouseClickHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseClickHandler____setstate_cy, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_24MouseDoubleClickHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDoubleClickHandler____reduc, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__222)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_24MouseDoubleClickHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDoubleClickHandler____setst, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__223)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseDownHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDownHandler____reduce_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__224)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseDownHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDownHandler____setstate_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__225)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseDragHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDragHandler____reduce_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__226)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseDragHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseDragHandler____setstate_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16MouseMoveHandler_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseMoveHandler___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__228)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16MouseMoveHandler_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseMoveHandler___setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_20MouseReleaseHandler__3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseReleaseHandler____reduce_cy, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__230)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_20MouseReleaseHandler__5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseReleaseHandler____setstate, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseWheelHandler_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseWheelHandler___reduce_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__232)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_17MouseWheelHandler_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MouseWheelHandler___setstate_cyt, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__233)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedValue_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedValue___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__234)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedValue_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedValue___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__235)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SharedBool_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedBool___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__236)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SharedBool_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedBool___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedFloat_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloat___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__238)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedFloat_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloat___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9SharedInt_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedInt___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__240)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9SharedInt_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedInt___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedColor_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedColor___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__242)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11SharedColor_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedColor___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__243)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12SharedDouble_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedDouble___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__244)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12SharedDouble_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedDouble___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__245)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9SharedStr_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedStr___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__246)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9SharedStr_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedStr___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__247)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12SharedFloat4_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloat4___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__248)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12SharedFloat4_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloat4___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SharedInt4_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedInt4___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__250)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SharedInt4_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedInt4___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13SharedDouble4_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedDouble4___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__252)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13SharedDouble4_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedDouble4___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__253)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_15SharedFloatVect_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloatVect___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__254)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_15SharedFloatVect_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SharedFloatVect___setstate_cytho, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__255)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11baseHandler_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseHandler___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__256)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11baseHandler_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseHandler___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":5299
 *         clear_obj_vector(self._callbacks)
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         if 'pos' in kwargs:
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6uiItem_5configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_uiItem_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_uiItem, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 5299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_uiItem);

  /* "dearcygui/core.pyx":5357
 * 
 *     # TODO: Find a better way to share all these attributes while avoiding AttributeError
 *     def __dir__(self):             # <<<<<<<<<<<<<<
 *         default_dir = dir(type(self))
 *         if hasattr(self, '__dict__'): # Can happen with python subclassing
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6uiItem_7__dir__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_uiItem___dir, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_uiItem, __pyx_n_s_dir, __pyx_t_11) < 0) __PYX_ERR(1, 5357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_uiItem);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6uiItem_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_uiItem___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__262)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6uiItem_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_uiItem___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":6329
 *         self.last_frame_autoscale_update = -1
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Map old attribute names (the new names are handled in uiItem)
 *         self._scale_min = kwargs.pop("scaleMin", self._scale_min)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SimplePlot_3configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SimplePlot_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__265)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 6329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_SimplePlot, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 6329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_SimplePlot);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SimplePlot_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SimplePlot___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__266)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10SimplePlot_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SimplePlot___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Button_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Button___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__268)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Button_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Button___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_5Combo_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Combo___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__270)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_5Combo_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Combo___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__271)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Checkbox_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Checkbox___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__272)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8Checkbox_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Checkbox___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__273)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":6786
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Slider_3configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Slider_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__274)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 6786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Slider, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 6786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Slider);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Slider_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Slider___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__275)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Slider_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Slider___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__276)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7ListBox_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ListBox___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__277)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7ListBox_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ListBox___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__278)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11RadioButton_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_RadioButton___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11RadioButton_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_RadioButton___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__280)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9InputText_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_InputText___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__281)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9InputText_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_InputText___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__282)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":7844
 *         self.state.cap.can_be_hovered = True
 * 
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         # Since some options cancel each other, one
 *         # must enable them in a specific order
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10InputValue_3configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_InputValue_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__283)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 7844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_InputValue, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 7844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_InputValue);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10InputValue_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_InputValue___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__284)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10InputValue_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_InputValue___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__285)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Text_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Text___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__286)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Text_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Text___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10Selectable_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Selectable___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__288)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10Selectable_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Selectable___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8MenuItem_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MenuItem___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__290)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8MenuItem_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MenuItem___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ProgressBar_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ProgressBar___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__292)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ProgressBar_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ProgressBar___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__293)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_5Image_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Image___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__294)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_5Image_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Image___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__295)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ImageButton_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ImageButton___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__296)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ImageButton_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ImageButton___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9Separator_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Separator___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__298)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9Separator_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Separator___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Spacer_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Spacer___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__300)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Spacer_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Spacer___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__301)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7MenuBar_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MenuBar___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__302)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7MenuBar_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MenuBar___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__303)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Menu_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Menu___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__304)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Menu_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Menu___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__305)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Tooltip_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Tooltip___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__306)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Tooltip_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Tooltip___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9TabButton_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TabButton___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__308)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9TabButton_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TabButton___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_3Tab_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Tab___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__310)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_3Tab_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Tab___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6TabBar_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TabBar___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__312)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6TabBar_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TabBar___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__313)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":9617
 *         self.previous_last_child = NULL
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Layout_3update_layout, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Layout_update_layout, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__315)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 9617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Layout, __pyx_n_s_update_layout, __pyx_t_11) < 0) __PYX_ERR(1, 9617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Layout);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Layout_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Layout___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__316)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Layout_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Layout___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":9743
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16HorizontalLayout_3update_layout, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HorizontalLayout_update_layout, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__318)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 9743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_HorizontalLayout, __pyx_n_s_update_layout, __pyx_t_11) < 0) __PYX_ERR(1, 9743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_HorizontalLayout);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16HorizontalLayout_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HorizontalLayout___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16HorizontalLayout_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HorizontalLayout___setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__320)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":9994
 *             self._positions.push_back(v)
 * 
 *     def update_layout(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] m
 *         lock_gil_friendly(m, self.mutex)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14VerticalLayout_3update_layout, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VerticalLayout_update_layout, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__321)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 9994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_VerticalLayout, __pyx_n_s_update_layout, __pyx_t_11) < 0) __PYX_ERR(1, 9994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_VerticalLayout);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14VerticalLayout_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VerticalLayout___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__322)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14VerticalLayout_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VerticalLayout___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__323)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8TreeNode_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TreeNode___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__324)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8TreeNode_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TreeNode___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__325)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16CollapsingHeader_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CollapsingHeader___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__326)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16CollapsingHeader_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CollapsingHeader___setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ChildWindow_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ChildWindow___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__328)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ChildWindow_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ChildWindow___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__329)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ColorButton_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorButton___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__330)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ColorButton_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorButton___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__331)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9ColorEdit_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorEdit___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9ColorEdit_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorEdit___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__333)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ColorPicker_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorPicker___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11ColorPicker_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ColorPicker___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__335)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11TimeWatcher_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TimeWatcher___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11TimeWatcher_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TimeWatcher___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__337)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Window_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Window___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__338)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_6Window_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Window___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__339)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":12030
 *         self.filtering_mode = 0
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         cdef unique_lock[recursive_mutex] imgui_m
 *         # Note: textures might be referenced during imgui rendering.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Texture_3__delalloc__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Texture___delalloc, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__341)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Texture, __pyx_n_s_delalloc, __pyx_t_11) < 0) __PYX_ERR(1, 12030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Texture);

  /* "dearcygui/core.pyx":12040
 *             mvReleaseUploadContext(dereference(self.context._viewport.viewport))
 * 
 *     def configure(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if len(args) == 1:
 *             self.set_content(np.ascontiguousarray(args[0]))
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Texture_5configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Texture_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__343)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Texture, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 12040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Texture);

  /* "dearcygui/core.pyx":12097
 *         return self._num_chans
 * 
 *     def set_value(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Pass an array as texture data.
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Texture_7set_value, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Texture_set_value, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__345)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_Texture, __pyx_n_s_set_value, __pyx_t_11) < 0) __PYX_ERR(1, 12097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_Texture);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Texture_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Texture___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__346)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7Texture_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Texture___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__347)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":12201
 *             raise MemoryError("Failed to upload target texture")
 * 
 * def get_system_fonts():             # <<<<<<<<<<<<<<
 *     """
 *     Returns a list of available fonts
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_1get_system_fonts, 0, __pyx_n_s_get_system_fonts, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__349)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_system_fonts, __pyx_t_11) < 0) __PYX_ERR(1, 12201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Font_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Font___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__350)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Font_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Font___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__351)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":12274
 *         self.fonts = []
 * 
 *     def __delalloc__(self):             # <<<<<<<<<<<<<<
 *         self.atlas.Clear() # Unsure if needed
 * 
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11FontTexture_3__delalloc__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FontTexture___delalloc, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__352)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_FontTexture, __pyx_n_s_delalloc, __pyx_t_11) < 0) __PYX_ERR(1, 12274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_FontTexture);

  /* "dearcygui/core.pyx":12277
 *         self.atlas.Clear() # Unsure if needed
 * 
 *     def add_font_file(self,             # <<<<<<<<<<<<<<
 *                       str path,
 *                       float size=13.,
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11FontTexture_5add_font_file, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FontTexture_add_font_file, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__354)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_tuple__355);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_FontTexture, __pyx_n_s_add_font_file, __pyx_t_11) < 0) __PYX_ERR(1, 12277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_FontTexture);

  /* "dearcygui/core.pyx":12347
 *         return self.fonts[index]
 * 
 *     def build(self):             # <<<<<<<<<<<<<<
 *         """
 *         Packs all the fonts appended with add_font_file
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11FontTexture_11build, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FontTexture_build, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__357)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_FontTexture, __pyx_n_s_build, __pyx_t_11) < 0) __PYX_ERR(1, 12347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_FontTexture);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11FontTexture_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FontTexture___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__358)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11FontTexture_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FontTexture___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__359)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":12392
 *         self.can_have_sibling = True
 *         self.enabled = True
 *     def configure(self, **kwargs):             # <<<<<<<<<<<<<<
 *         self.enabled = kwargs.pop("enabled", self.enabled)
 *         self.enabled = kwargs.pop("show", self.enabled)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9baseTheme_3configure, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseTheme_configure, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__360)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_baseTheme, __pyx_n_s_configure, __pyx_t_11) < 0) __PYX_ERR(1, 12392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_baseTheme);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9baseTheme_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseTheme___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__361)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9baseTheme_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_baseTheme___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__362)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":12962
 *         append_obj_vector(self._handlers, items)
 * 
 *     def fit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Request for a fit of min/max to the data the next time the plot is drawn
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14PlotAxisConfig_3fit, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotAxisConfig_fit, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__363)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_9dearcygui_4core_PlotAxisConfig, __pyx_n_s_fit, __pyx_t_11) < 0) __PYX_ERR(1, 12962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  PyType_Modified(__pyx_ptype_9dearcygui_4core_PlotAxisConfig);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14PlotAxisConfig_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotAxisConfig___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__364)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14PlotAxisConfig_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotAxisConfig___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__365)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16PlotLegendConfig_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotLegendConfig___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__366)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_16PlotLegendConfig_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotLegendConfig___setstate_cyth, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__367)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Plot_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Plot___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__368)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_4Plot_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Plot___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__369)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11plotElement_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElement___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__370)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11plotElement_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElement___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__371)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_21plotElementWithLegend_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementWithLegend___reduce_c, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__372)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_21plotElementWithLegend_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementWithLegend___setstate, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__373)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13plotElementXY_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementXY___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__374)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_13plotElementXY_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementXY___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__375)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8PlotLine_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotLine___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8PlotLine_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotLine___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__377)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14plotElementXYY_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementXYY___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__378)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14plotElementXYY_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementXYY___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__379)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14PlotShadedLine_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotShadedLine___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__380)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_14PlotShadedLine_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotShadedLine___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__381)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9PlotStems_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotStems___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__382)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_9PlotStems_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotStems___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__383)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8PlotBars_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotBars___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__384)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_8PlotBars_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotBars___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__385)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10PlotStairs_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotStairs___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__386)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10PlotStairs_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotStairs___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__387)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12plotElementX_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementX___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__388)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12plotElementX_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_plotElementX___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__389)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12PlotInfLines_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotInfLines___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__390)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_12PlotInfLines_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotInfLines___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__391)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11PlotScatter_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotScatter___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__392)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_11PlotScatter_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PlotScatter___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__393)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawInPlot_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInPlot___reduce_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__394)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_11) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_10DrawInPlot_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_DrawInPlot___setstate_cython, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__395)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_11) < 0) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":15376
 *     imgui.SetMouseCursor(<imgui.ImGuiMouseCursor>cursor)
 * 
 * def color_as_int(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     return int(color)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_3color_as_int, 0, __pyx_n_s_color_as_int, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 15376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_color_as_int, __pyx_t_11) < 0) __PYX_ERR(1, 15376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":15380
 *     return int(color)
 * 
 * def color_as_ints(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_5color_as_ints, 0, __pyx_n_s_color_as_ints, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 15380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_color_as_ints, __pyx_t_11) < 0) __PYX_ERR(1, 15380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":15388
 *             int(255. * color_vec.w))
 * 
 * def color_as_floats(val):             # <<<<<<<<<<<<<<
 *     cdef imgui.ImU32 color = parse_color(val)
 *     cdef imgui.ImVec4 color_vec = imgui.ColorConvertU32ToFloat4(color)
 */
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9dearcygui_4core_7color_as_floats, 0, __pyx_n_s_color_as_floats, NULL, __pyx_kp_s_dearcygui_core, __pyx_d, ((PyObject *)__pyx_codeobj__400)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 15388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_color_as_floats, __pyx_t_11) < 0) __PYX_ERR(1, 15388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "dearcygui/core.pyx":1
 * #!python             # <<<<<<<<<<<<<<
 * #cython: language_level=3
 * #cython: boundscheck=False
 */
  __pyx_t_11 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_11) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_XDECREF(__pyx_t_22);
  __Pyx_XDECREF(__pyx_t_23);
  __Pyx_XDECREF(__pyx_t_24);
  __Pyx_XDECREF(__pyx_t_25);
  __Pyx_XDECREF(__pyx_t_26);
  __Pyx_XDECREF(__pyx_t_27);
  __Pyx_XDECREF(__pyx_t_28);
  __Pyx_XDECREF(__pyx_t_29);
  __Pyx_XDECREF(__pyx_t_30);
  __Pyx_XDECREF(__pyx_t_31);
  __Pyx_XDECREF(__pyx_t_32);
  __Pyx_XDECREF(__pyx_t_33);
  __Pyx_XDECREF(__pyx_t_34);
  __Pyx_XDECREF(__pyx_t_35);
  __Pyx_XDECREF(__pyx_t_36);
  __Pyx_XDECREF(__pyx_t_37);
  if (__pyx_m) {
    if (__pyx_d && stringtab_initialized) {
      __Pyx_AddTraceback("init dearcygui.core", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    #if !CYTHON_USE_MODULE_STATE
    Py_CLEAR(__pyx_m);
    #else
    Py_DECREF(__pyx_m);
    if (pystate_addmodule_run) {
      PyObject *tp, *value, *tb;
      PyErr_Fetch(&tp, &value, &tb);
      PyState_RemoveModule(&__pyx_moduledef);
      PyErr_Restore(tp, value, tb);
    }
    #endif
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init dearcygui.core");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #elif PY_MAJOR_VERSION >= 3
  return __pyx_m;
  #else
  return;
  #endif
}
/* #### Code section: cleanup_globals ### */
/* #### Code section: cleanup_module ### */
/* #### Code section: main_method ### */
/* #### Code section: utility_code_pragmas ### */
#ifdef _MSC_VER
#pragma warning( push )
/* Warning 4127: conditional expression is constant
 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
 * compile-time, so this warning is not useful
 */
#pragma warning( disable : 4127 )
#endif



/* #### Code section: utility_code_def ### */

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    int result;
    PyObject *exc_type;
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *current_exception = tstate->current_exception;
    if (unlikely(!current_exception)) return 0;
    exc_type = (PyObject*) Py_TYPE(current_exception);
    if (exc_type == err) return 1;
#else
    exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
#endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(exc_type);
    #endif
    if (unlikely(PyTuple_Check(err))) {
        result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    } else {
        result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
    }
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(exc_type);
    #endif
    return result;
}
#endif

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *tmp_value;
    assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
    if (value) {
        #if CYTHON_COMPILING_IN_CPYTHON
        if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
        #endif
            PyException_SetTraceback(value, tb);
    }
    tmp_value = tstate->current_exception;
    tstate->current_exception = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
#else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject* exc_value;
    exc_value = tstate->current_exception;
    tstate->current_exception = 0;
    *value = exc_value;
    *type = NULL;
    *tb = NULL;
    if (exc_value) {
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        #if CYTHON_COMPILING_IN_CPYTHON
        *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
        Py_XINCREF(*tb);
        #else
        *tb = PyException_GetTraceback(exc_value);
        #endif
    }
#else
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#endif
}
#endif

/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError */
#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
    (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
    return result;
#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
#endif
}

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name);
    if (unlikely(!result) && !PyErr_Occurred()) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* PyDictVersioning */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    } else if (unlikely(PyErr_Occurred())) {
        return NULL;
    }
#elif CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!__pyx_m)) {
        return NULL;
    }
    result = PyObject_GetAttr(__pyx_m, name);
    if (likely(result)) {
        return result;
    }
#else
    result = PyDict_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
#endif
#else
    result = PyObject_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
        return NULL;
    }
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
        return NULL;
    }
    #endif
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    #endif
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
    self = __Pyx_CyOrPyCFunction_GET_SELF(func);
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    #endif
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectFastCall */
#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
    PyObject *argstuple;
    PyObject *result = 0;
    size_t i;
    argstuple = PyTuple_New((Py_ssize_t)nargs);
    if (unlikely(!argstuple)) return NULL;
    for (i = 0; i < nargs; i++) {
        Py_INCREF(args[i]);
        if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
    }
    result = __Pyx_PyObject_Call(func, argstuple, kwargs);
  bad:
    Py_DECREF(argstuple);
    return result;
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
    Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
    if (nargs == 0 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
            return __Pyx_PyObject_CallMethO(func, NULL);
    }
    else if (nargs == 1 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
            return __Pyx_PyObject_CallMethO(func, args[0]);
    }
#endif
    #if PY_VERSION_HEX < 0x030800B1
    #if CYTHON_FAST_PYCCALL
    if (PyCFunction_Check(func)) {
        if (kwargs) {
            return _PyCFunction_FastCallDict(func, args, nargs, kwargs);
        } else {
            return _PyCFunction_FastCallKeywords(func, args, nargs, NULL);
        }
    }
    #if PY_VERSION_HEX >= 0x030700A1
    if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) {
        return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL);
    }
    #endif
    #endif
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs);
    }
    #endif
    #endif
    if (kwargs == NULL) {
        #if CYTHON_VECTORCALL
        #if PY_VERSION_HEX < 0x03090000
        vectorcallfunc f = _PyVectorcall_Function(func);
        #else
        vectorcallfunc f = PyVectorcall_Function(func);
        #endif
        if (f) {
            return f(func, args, (size_t)nargs, NULL);
        }
        #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
        if (__Pyx_CyFunction_CheckExact(func)) {
            __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
            if (f) return f(func, args, (size_t)nargs, NULL);
        }
        #endif
    }
    if (nargs == 0) {
        return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
    }
    #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
    #else
    return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
    #endif
}

/* RaiseUnexpectedTypeError */
static int
__Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
{
    __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME,
                 expected, obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* TupleAndListFromArray */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
    PyObject *v;
    Py_ssize_t i;
    for (i = 0; i < length; i++) {
        v = dest[i] = src[i];
        Py_INCREF(v);
    }
}
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        Py_INCREF(__pyx_empty_tuple);
        return __pyx_empty_tuple;
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
    return res;
}
static CYTHON_INLINE PyObject *
__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return PyList_New(0);
    }
    res = PyList_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
    return res;
}
#endif

/* BytesEquals */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_RichCompareBool(s1, s2, equals);
#else
#if PY_MAJOR_VERSION < 3
    PyObject* owned_ref = NULL;
#endif
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
#if PY_MAJOR_VERSION < 3
    if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
        owned_ref = PyUnicode_FromObject(s2);
        if (unlikely(!owned_ref))
            return -1;
        s2 = owned_ref;
        s2_is_unicode = 1;
    } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
        owned_ref = PyUnicode_FromObject(s1);
        if (unlikely(!owned_ref))
            return -1;
        s1 = owned_ref;
        s1_is_unicode = 1;
    } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
        return __Pyx_PyBytes_Equals(s1, s2, equals);
    }
#endif
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length;
        int kind;
        void *data1, *data2;
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
        #if CYTHON_PEP393_ENABLED
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
        #else
            hash1 = ((PyUnicodeObject*)s1)->hash;
            hash2 = ((PyUnicodeObject*)s2)->hash;
        #endif
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            #if PY_MAJOR_VERSION < 3
            Py_XDECREF(owned_ref);
            #endif
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        #if PY_MAJOR_VERSION < 3
        Py_XDECREF(owned_ref);
        #endif
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_EQ);
return_ne:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_NE);
#endif
}

/* fastcall */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
{
    Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames);
    for (i = 0; i < n; i++)
    {
        if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i];
    }
    for (i = 0; i < n; i++)
    {
        int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ);
        if (unlikely(eq != 0)) {
            if (unlikely(eq < 0)) return NULL;
            return kwvalues[i];
        }
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
    Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
    PyObject *dict;
    dict = PyDict_New();
    if (unlikely(!dict))
        return NULL;
    for (i=0; i<nkwargs; i++) {
        PyObject *key = PyTuple_GET_ITEM(kwnames, i);
        if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
            goto bad;
    }
    return dict;
bad:
    Py_DECREF(dict);
    return NULL;
}
#endif
#endif

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* RaiseDoubleKeywords */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject *const *kwvalues,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds));
    while (1) {
        Py_XDECREF(key); key = NULL;
        Py_XDECREF(value); value = NULL;
        if (kwds_is_tuple) {
            Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(kwds);
#else
            size = PyTuple_Size(kwds);
            if (size < 0) goto bad;
#endif
            if (pos >= size) break;
#if CYTHON_AVOID_BORROWED_REFS
            key = __Pyx_PySequence_ITEM(kwds, pos);
            if (!key) goto bad;
#elif CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kwds, pos);
#else
            key = PyTuple_GetItem(kwds, pos);
            if (!key) goto bad;
#endif
            value = kwvalues[pos];
            pos++;
        }
        else
        {
            if (!PyDict_Next(kwds, &pos, &key, &value)) break;
#if CYTHON_AVOID_BORROWED_REFS
            Py_INCREF(key);
#endif
        }
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
            Py_INCREF(value);
            Py_DECREF(key);
#endif
            key = NULL;
            value = NULL;
            continue;
        }
#if !CYTHON_AVOID_BORROWED_REFS
        Py_INCREF(key);
#endif
        Py_INCREF(value);
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
                    value = NULL;
#endif
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key)
                );
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
                    value = NULL;
#endif
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    Py_XDECREF(key);
    Py_XDECREF(value);
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    #if PY_MAJOR_VERSION < 3
    PyErr_Format(PyExc_TypeError,
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    Py_XDECREF(key);
    Py_XDECREF(value);
    return -1;
}

/* PyObjectSetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_setattro))
        return tp->tp_setattro(obj, attr_name, value);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_setattr))
        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
    return PyObject_SetAttr(obj, attr_name, value);
}
#endif

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (unlikely(!j)) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (mm && mm->mp_subscript) {
            PyObject *r, *key = PyInt_FromSsize_t(i);
            if (unlikely(!key)) return NULL;
            r = mm->mp_subscript(o, key);
            Py_DECREF(key);
            return r;
        }
        if (likely(sm && sm->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return sm->sq_item(o, i);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* PyObjectCallOneArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *args[2] = {NULL, arg};
    return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* ObjectGetItem */
#if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
    PyObject *runerr = NULL;
    Py_ssize_t key_value;
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index));
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError,
            "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
        __Pyx_DECREF_TypeName(index_type_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
    __Pyx_TypeName obj_type_name;
    if (likely(PyType_Check(obj))) {
        PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
        if (!meth) {
            PyErr_Clear();
        } else {
            PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
            Py_DECREF(meth);
            return result;
        }
    }
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
    PyTypeObject *tp = Py_TYPE(obj);
    PyMappingMethods *mm = tp->tp_as_mapping;
    PySequenceMethods *sm = tp->tp_as_sequence;
    if (likely(mm && mm->mp_subscript)) {
        return mm->mp_subscript(obj, key);
    }
    if (likely(sm && sm->sq_item)) {
        return __Pyx_PyObject_GetIndex(obj, key);
    }
    return __Pyx_PyObject_GetItem_Slow(obj, key);
}
#endif

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    PyObject *kw,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kw, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
        Py_ssize_t kwsize;
#if CYTHON_ASSUME_SAFE_MACROS
        kwsize = PyTuple_GET_SIZE(kw);
#else
        kwsize = PyTuple_Size(kw);
        if (kwsize < 0) return 0;
#endif
        if (unlikely(kwsize == 0))
            return 1;
        if (!kw_allowed) {
#if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, 0);
#else
            key = PyTuple_GetItem(kw, pos);
            if (!key) return 0;
#endif
            goto invalid_keyword;
        }
#if PY_VERSION_HEX < 0x03090000
        for (pos = 0; pos < kwsize; pos++) {
#if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, pos);
#else
            key = PyTuple_GetItem(kw, pos);
            if (!key) return 0;
#endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
        }
#endif
        return 1;
    }
    while (PyDict_Next(kw, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if (!kw_allowed && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    #if PY_MAJOR_VERSION < 3
    PyErr_Format(PyExc_TypeError,
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* GetAttr3 */
#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
    int res = PyObject_GetOptionalAttr(o, n, &r);
    return (res != 0) ? r : __Pyx_NewRef(d);
#else
  #if CYTHON_USE_TYPE_SLOTS
    if (likely(PyString_Check(n))) {
        r = __Pyx_PyObject_GetAttrStrNoError(o, n);
        if (unlikely(!r) && likely(!PyErr_Occurred())) {
            r = __Pyx_NewRef(d);
        }
        return r;
    }
  #endif
    r = PyObject_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
#endif
}

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    __Pyx_PyThreadState_declare
    CYTHON_UNUSED_VAR(cause);
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
      #if PY_VERSION_HEX >= 0x030C00A6
        PyException_SetTraceback(value, tb);
      #elif CYTHON_FAST_THREAD_STATE
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#else
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *module = 0;
    PyObject *empty_dict = 0;
    PyObject *empty_list = 0;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (unlikely(!py_import))
        goto bad;
    if (!from_list) {
        empty_list = PyList_New(0);
        if (unlikely(!empty_list))
            goto bad;
        from_list = empty_list;
    }
    #endif
    empty_dict = PyDict_New();
    if (unlikely(!empty_dict))
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
                module = PyImport_ImportModuleLevelObject(
                    name, __pyx_d, empty_dict, from_list, 1);
                if (unlikely(!module)) {
                    if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_MAJOR_VERSION < 3
            PyObject *py_level = PyInt_FromLong(level);
            if (unlikely(!py_level))
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, __pyx_d, empty_dict, from_list, level);
            #endif
        }
    }
bad:
    Py_XDECREF(empty_dict);
    Py_XDECREF(empty_list);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    return module;
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        const char* module_name_str = 0;
        PyObject* module_name = 0;
        PyObject* module_dot = 0;
        PyObject* full_name = 0;
        PyErr_Clear();
        module_name_str = PyModule_GetName(module);
        if (unlikely(!module_name_str)) { goto modbad; }
        module_name = PyUnicode_FromString(module_name_str);
        if (unlikely(!module_name)) { goto modbad; }
        module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__3);
        if (unlikely(!module_dot)) { goto modbad; }
        full_name = PyUnicode_Concat(module_dot, name);
        if (unlikely(!full_name)) { goto modbad; }
        #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400)
        {
            PyObject *modules = PyImport_GetModuleDict();
            if (unlikely(!modules))
                goto modbad;
            value = PyObject_GetItem(modules, full_name);
        }
        #else
        value = PyImport_GetModule(full_name);
        #endif
      modbad:
        Py_XDECREF(full_name);
        Py_XDECREF(module_dot);
        Py_XDECREF(module_name);
    }
    if (unlikely(!value)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* HasAttr */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_GetAttr(o, n);
    if (!r) {
        PyErr_Clear();
        return 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    __Pyx_TypeName type_name;
    __Pyx_TypeName obj_type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (exact) {
        #if PY_MAJOR_VERSION == 2
        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
        #endif
    }
    else {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    }
    type_name = __Pyx_PyType_GetName(type);
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
        ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* CIntToDigits */
static const char DIGIT_PAIRS_10[2*10*10+1] = {
    "00010203040506070809"
    "10111213141516171819"
    "20212223242526272829"
    "30313233343536373839"
    "40414243444546474849"
    "50515253545556575859"
    "60616263646566676869"
    "70717273747576777879"
    "80818283848586878889"
    "90919293949596979899"
};
static const char DIGIT_PAIRS_8[2*8*8+1] = {
    "0001020304050607"
    "1011121314151617"
    "2021222324252627"
    "3031323334353637"
    "4041424344454647"
    "5051525354555657"
    "6061626364656667"
    "7071727374757677"
};
static const char DIGITS_HEX[2*16+1] = {
    "0123456789abcdef"
    "0123456789ABCDEF"
};

/* BuildPyUnicode */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength,
                                                int prepend_sign, char padding_char) {
    PyObject *uval;
    Py_ssize_t uoffset = ulength - clength;
#if CYTHON_USE_UNICODE_INTERNALS
    Py_ssize_t i;
#if CYTHON_PEP393_ENABLED
    void *udata;
    uval = PyUnicode_New(ulength, 127);
    if (unlikely(!uval)) return NULL;
    udata = PyUnicode_DATA(uval);
#else
    Py_UNICODE *udata;
    uval = PyUnicode_FromUnicode(NULL, ulength);
    if (unlikely(!uval)) return NULL;
    udata = PyUnicode_AS_UNICODE(uval);
#endif
    if (uoffset > 0) {
        i = 0;
        if (prepend_sign) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-');
            i++;
        }
        for (; i < uoffset; i++) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char);
        }
    }
    for (i=0; i < clength; i++) {
        __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]);
    }
#else
    {
        PyObject *sign = NULL, *padding = NULL;
        uval = NULL;
        if (uoffset > 0) {
            prepend_sign = !!prepend_sign;
            if (uoffset > prepend_sign) {
                padding = PyUnicode_FromOrdinal(padding_char);
                if (likely(padding) && uoffset > prepend_sign + 1) {
                    PyObject *tmp;
                    PyObject *repeat = PyInt_FromSsize_t(uoffset - prepend_sign);
                    if (unlikely(!repeat)) goto done_or_error;
                    tmp = PyNumber_Multiply(padding, repeat);
                    Py_DECREF(repeat);
                    Py_DECREF(padding);
                    padding = tmp;
                }
                if (unlikely(!padding)) goto done_or_error;
            }
            if (prepend_sign) {
                sign = PyUnicode_FromOrdinal('-');
                if (unlikely(!sign)) goto done_or_error;
            }
        }
        uval = PyUnicode_DecodeASCII(chars, clength, NULL);
        if (likely(uval) && padding) {
            PyObject *tmp = PyNumber_Add(padding, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
        if (likely(uval) && sign) {
            PyObject *tmp = PyNumber_Add(sign, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
done_or_error:
        Py_XDECREF(padding);
        Py_XDECREF(sign);
    }
#endif
    return uval;
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(int)*3+2];
    char *dpos, *end = digits + sizeof(int)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    int remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (int) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (int) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (int) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(Py_ssize_t)*3+2];
    char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    Py_ssize_t remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (Py_ssize_t) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (Py_ssize_t) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (Py_ssize_t) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* JoinPyUnicode */
static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char) {
#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    PyObject *result_uval;
    int result_ukind, kind_shift;
    Py_ssize_t i, char_pos;
    void *result_udata;
    CYTHON_MAYBE_UNUSED_VAR(max_char);
#if CYTHON_PEP393_ENABLED
    result_uval = PyUnicode_New(result_ulength, max_char);
    if (unlikely(!result_uval)) return NULL;
    result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND;
    kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1;
    result_udata = PyUnicode_DATA(result_uval);
#else
    result_uval = PyUnicode_FromUnicode(NULL, result_ulength);
    if (unlikely(!result_uval)) return NULL;
    result_ukind = sizeof(Py_UNICODE);
    kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1;
    result_udata = PyUnicode_AS_UNICODE(result_uval);
#endif
    assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0);
    char_pos = 0;
    for (i=0; i < value_count; i++) {
        int ukind;
        Py_ssize_t ulength;
        void *udata;
        PyObject *uval = PyTuple_GET_ITEM(value_tuple, i);
        if (unlikely(__Pyx_PyUnicode_READY(uval)))
            goto bad;
        ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
        if (unlikely(!ulength))
            continue;
        if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos))
            goto overflow;
        ukind = __Pyx_PyUnicode_KIND(uval);
        udata = __Pyx_PyUnicode_DATA(uval);
        if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
            memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
        } else {
            #if PY_VERSION_HEX >= 0x030d0000
            if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
            #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
            _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
            #else
            Py_ssize_t j;
            for (j=0; j < ulength; j++) {
                Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
                __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
            }
            #endif
        }
        char_pos += ulength;
    }
    return result_uval;
overflow:
    PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string");
bad:
    Py_DECREF(result_uval);
    return NULL;
#else
    CYTHON_UNUSED_VAR(max_char);
    CYTHON_UNUSED_VAR(result_ulength);
    CYTHON_UNUSED_VAR(value_count);
    return PyUnicode_Join(__pyx_empty_unicode, value_tuple);
#endif
}

/* DivInt[Py_ssize_t] */
static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) {
    Py_ssize_t q = a / b;
    Py_ssize_t r = a - q*b;
    q -= ((r != 0) & ((r ^ b) < 0));
    return q;
}

/* RaiseTooManyValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* RaiseNeedMoreValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* RaiseNoneIterError */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* ExtTypeTest */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    __Pyx_TypeName obj_type_name;
    __Pyx_TypeName type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(__Pyx_TypeCheck(obj, type)))
        return 1;
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    type_name = __Pyx_PyType_GetName(type);
    PyErr_Format(PyExc_TypeError,
                 "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME,
                 obj_type_name, type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
}

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    PyObject *exc_value = exc_info->exc_value;
    if (exc_value == NULL || exc_value == Py_None) {
        *value = NULL;
        *type = NULL;
        *tb = NULL;
    } else {
        *value = exc_value;
        Py_INCREF(*value);
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        *tb = PyException_GetTraceback(exc_value);
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #endif
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    PyObject *tmp_value = exc_info->exc_value;
    exc_info->exc_value = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
  #else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
  #endif
}
#endif

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type = NULL, *local_value, *local_tb = NULL;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if PY_VERSION_HEX >= 0x030C00A6
    local_value = tstate->current_exception;
    tstate->current_exception = 0;
    if (likely(local_value)) {
        local_type = (PyObject*) Py_TYPE(local_value);
        Py_INCREF(local_type);
        local_tb = PyException_GetTraceback(local_value);
    }
  #else
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
  #endif
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6
    if (unlikely(tstate->current_exception))
#elif CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    #if PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
      #if PY_VERSION_HEX >= 0x030B00a4
        tmp_value = exc_info->exc_value;
        exc_info->exc_value = local_value;
        tmp_type = NULL;
        tmp_tb = NULL;
        Py_XDECREF(local_type);
        Py_XDECREF(local_tb);
      #else
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
      #endif
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_value = exc_info->exc_value;
    exc_info->exc_value = *value;
    if (tmp_value == NULL || tmp_value == Py_None) {
        Py_XDECREF(tmp_value);
        tmp_value = NULL;
        tmp_type = NULL;
        tmp_tb = NULL;
    } else {
        tmp_type = (PyObject*) Py_TYPE(tmp_value);
        Py_INCREF(tmp_type);
        #if CYTHON_COMPILING_IN_CPYTHON
        tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
        Py_XINCREF(tmp_tb);
        #else
        tmp_tb = PyException_GetTraceback(tmp_value);
        #endif
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
  #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
  #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* ImportDottedModule */
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
    PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
    if (unlikely(PyErr_Occurred())) {
        PyErr_Clear();
    }
    if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) {
        partial_name = name;
    } else {
        slice = PySequence_GetSlice(parts_tuple, 0, count);
        if (unlikely(!slice))
            goto bad;
        sep = PyUnicode_FromStringAndSize(".", 1);
        if (unlikely(!sep))
            goto bad;
        partial_name = PyUnicode_Join(sep, slice);
    }
    PyErr_Format(
#if PY_MAJOR_VERSION < 3
        PyExc_ImportError,
        "No module named '%s'", PyString_AS_STRING(partial_name));
#else
#if PY_VERSION_HEX >= 0x030600B1
        PyExc_ModuleNotFoundError,
#else
        PyExc_ImportError,
#endif
        "No module named '%U'", partial_name);
#endif
bad:
    Py_XDECREF(sep);
    Py_XDECREF(slice);
    Py_XDECREF(partial_name);
    return NULL;
}
#endif
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
    PyObject *imported_module;
#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400)
    PyObject *modules = PyImport_GetModuleDict();
    if (unlikely(!modules))
        return NULL;
    imported_module = __Pyx_PyDict_GetItemStr(modules, name);
    Py_XINCREF(imported_module);
#else
    imported_module = PyImport_GetModule(name);
#endif
    return imported_module;
}
#endif
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
    Py_ssize_t i, nparts;
    nparts = PyTuple_GET_SIZE(parts_tuple);
    for (i=1; i < nparts && module; i++) {
        PyObject *part, *submodule;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        part = PyTuple_GET_ITEM(parts_tuple, i);
#else
        part = PySequence_ITEM(parts_tuple, i);
#endif
        submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
        Py_DECREF(part);
#endif
        Py_DECREF(module);
        module = submodule;
    }
    if (unlikely(!module)) {
        return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
    }
    return module;
}
#endif
static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if PY_MAJOR_VERSION < 3
    PyObject *module, *from_list, *star = __pyx_n_s__5;
    CYTHON_UNUSED_VAR(parts_tuple);
    from_list = PyList_New(1);
    if (unlikely(!from_list))
        return NULL;
    Py_INCREF(star);
    PyList_SET_ITEM(from_list, 0, star);
    module = __Pyx_Import(name, from_list, 0);
    Py_DECREF(from_list);
    return module;
#else
    PyObject *imported_module;
    PyObject *module = __Pyx_Import(name, NULL, 0);
    if (!parts_tuple || unlikely(!module))
        return module;
    imported_module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(imported_module)) {
        Py_DECREF(module);
        return imported_module;
    }
    PyErr_Clear();
    return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
#endif
}
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1
    PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(module)) {
        PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec);
        if (likely(spec)) {
            PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing);
            if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
                Py_DECREF(spec);
                spec = NULL;
            }
            Py_XDECREF(unsafe);
        }
        if (likely(!spec)) {
            PyErr_Clear();
            return module;
        }
        Py_DECREF(spec);
        Py_DECREF(module);
    } else if (PyErr_Occurred()) {
        PyErr_Clear();
    }
#endif
    return __Pyx__ImportDottedModule(name, parts_tuple);
}

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (cls == a || cls == b) return 1;
    mro = cls->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            PyObject *base = PyTuple_GET_ITEM(mro, i);
            if (base == (PyObject *)a || base == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
}
#if PY_MAJOR_VERSION == 2
static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
    PyObject *exception, *value, *tb;
    int res;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&exception, &value, &tb);
    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
    if (unlikely(res == -1)) {
        PyErr_WriteUnraisable(err);
        res = 0;
    }
    if (!res) {
        res = PyObject_IsSubclass(err, exc_type2);
        if (unlikely(res == -1)) {
            PyErr_WriteUnraisable(err);
            res = 0;
        }
    }
    __Pyx_ErrRestore(exception, value, tb);
    return res;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    if (exc_type1) {
        return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
    } else {
        return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
}
#endif
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* PySequenceMultiply */
static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
    PyObject *result, *pymul = PyInt_FromSsize_t(mul);
    if (unlikely(!pymul))
        return NULL;
    result = PyNumber_Multiply(seq, pymul);
    Py_DECREF(pymul);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
#if CYTHON_USE_TYPE_SLOTS
    PyTypeObject *type = Py_TYPE(seq);
    if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
        return type->tp_as_sequence->sq_repeat(seq, mul);
    } else
#endif
    {
        return __Pyx_PySequence_Multiply_Generic(seq, mul);
    }
}

/* SetItemInt */
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
    int r;
    if (unlikely(!j)) return -1;
    r = PyObject_SetItem(o, j, v);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list,
                                               CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
            PyObject* old = PyList_GET_ITEM(o, n);
            Py_INCREF(v);
            PyList_SET_ITEM(o, n, v);
            Py_DECREF(old);
            return 1;
        }
    } else {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (mm && mm->mp_ass_subscript) {
            int r;
            PyObject *key = PyInt_FromSsize_t(i);
            if (unlikely(!key)) return -1;
            r = mm->mp_ass_subscript(o, key, v);
            Py_DECREF(key);
            return r;
        }
        if (likely(sm && sm->sq_ass_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return -1;
                    PyErr_Clear();
                }
            }
            return sm->sq_ass_item(o, i, v);
        }
    }
#else
    if (is_list || !PyMapping_Check(o))
    {
        return PySequence_SetItem(o, i, v);
    }
#endif
    return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v);
}

/* RaiseUnboundLocalError */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* DivInt[long] */
static CYTHON_INLINE long __Pyx_div_long(long a, long b) {
    long q = a / b;
    long r = a - q*b;
    q -= ((r != 0) & ((r ^ b) < 0));
    return q;
}

/* ModInt[long] */
static CYTHON_INLINE long __Pyx_mod_long(long a, long b) {
    long r = a % b;
    r += ((r != 0) & ((r ^ b) < 0)) * b;
    return r;
}

/* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_PyThreadState_declare
#ifdef WITH_THREAD
    PyGILState_STATE state;
    if (nogil)
        state = PyGILState_Ensure();
    else state = (PyGILState_STATE)0;
#endif
    CYTHON_UNUSED_VAR(clineno);
    CYTHON_UNUSED_VAR(lineno);
    CYTHON_UNUSED_VAR(filename);
    CYTHON_MAYBE_UNUSED_VAR(nogil);
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
    if (full_traceback) {
        Py_XINCREF(old_exc);
        Py_XINCREF(old_val);
        Py_XINCREF(old_tb);
        __Pyx_ErrRestore(old_exc, old_val, old_tb);
        PyErr_PrintEx(0);
    }
    #if PY_MAJOR_VERSION < 3
    ctx = PyString_FromString(name);
    #else
    ctx = PyUnicode_FromString(name);
    #endif
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
#ifdef WITH_THREAD
    if (nogil)
        PyGILState_Release(state);
#endif
}

/* DelItemInt */
static int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
    int r;
    if (unlikely(!j)) return -1;
    r = PyObject_DelItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i,
                                               int is_list, CYTHON_NCP_UNUSED int wraparound) {
#if !CYTHON_USE_TYPE_SLOTS
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_DelItem(o, i);
    }
#else
    PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
    PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
    if ((!is_list) && mm && mm->mp_ass_subscript) {
        PyObject *key = PyInt_FromSsize_t(i);
        return likely(key) ? mm->mp_ass_subscript(o, key, (PyObject *)NULL) : -1;
    }
    if (likely(sm && sm->sq_ass_item)) {
        if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
            Py_ssize_t l = sm->sq_length(o);
            if (likely(l >= 0)) {
                i += l;
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    return -1;
                PyErr_Clear();
            }
        }
        return sm->sq_ass_item(o, i, (PyObject *)NULL);
    }
#endif
    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
}

/* DictGetItem */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (!PyErr_Occurred()) {
            if (unlikely(PyTuple_Check(key))) {
                PyObject* args = PyTuple_Pack(1, key);
                if (likely(args)) {
                    PyErr_SetObject(PyExc_KeyError, args);
                    Py_DECREF(args);
                }
            } else {
                PyErr_SetObject(PyExc_KeyError, key);
            }
        }
        return NULL;
    }
    Py_INCREF(value);
    return value;
}
#endif

/* UnpackUnboundCMethod */
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
    PyObject *result;
    PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
    if (unlikely(!selfless_args)) return NULL;
    result = PyObject_Call(method, selfless_args, kwargs);
    Py_DECREF(selfless_args);
    return result;
}
static PyMethodDef __Pyx_UnboundCMethod_Def = {
     "CythonUnboundCMethod",
     __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall),
     METH_VARARGS | METH_KEYWORDS,
     NULL
};
static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
    PyObject *method;
    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
    if (unlikely(!method))
        return -1;
    target->method = method;
#if CYTHON_COMPILING_IN_CPYTHON
    #if PY_MAJOR_VERSION >= 3
    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
    #else
    if (likely(!__Pyx_CyOrPyCFunction_Check(method)))
    #endif
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
        target->func = descr->d_method->ml_meth;
        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
    } else
#endif
#if CYTHON_COMPILING_IN_PYPY
#else
    if (PyCFunction_Check(method))
#endif
    {
        PyObject *self;
        int self_found;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        self = PyObject_GetAttrString(method, "__self__");
        if (!self) {
            PyErr_Clear();
        }
#else
        self = PyCFunction_GET_SELF(method);
#endif
        self_found = (self && self != Py_None);
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        Py_XDECREF(self);
#endif
        if (self_found) {
            PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method);
            if (unlikely(!unbound_method)) return -1;
            Py_DECREF(method);
            target->method = unbound_method;
        }
    }
    return 0;
}

/* CallUnboundCMethod1 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) {
    if (likely(cfunc->func)) {
        int flag = cfunc->flag;
        if (flag == METH_O) {
            return (*(cfunc->func))(self, arg);
        } else if ((PY_VERSION_HEX >= 0x030600B1) && flag == METH_FASTCALL) {
            #if PY_VERSION_HEX >= 0x030700A0
                return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1);
            #else
                return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
            #endif
        } else if ((PY_VERSION_HEX >= 0x030700A0) && flag == (METH_FASTCALL | METH_KEYWORDS)) {
            return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
        }
    }
    return __Pyx__CallUnboundCMethod1(cfunc, self, arg);
}
#endif
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){
    PyObject *args, *result = NULL;
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        args = PyTuple_New(1);
        if (unlikely(!args)) goto bad;
        Py_INCREF(arg);
        PyTuple_SET_ITEM(args, 0, arg);
        if (cfunc->flag & METH_KEYWORDS)
            result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL);
        else
            result = (*cfunc->func)(self, args);
    } else {
        args = PyTuple_New(2);
        if (unlikely(!args)) goto bad;
        Py_INCREF(self);
        PyTuple_SET_ITEM(args, 0, self);
        Py_INCREF(arg);
        PyTuple_SET_ITEM(args, 1, arg);
        result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
    }
#else
    args = PyTuple_Pack(2, self, arg);
    if (unlikely(!args)) goto bad;
    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
#endif
bad:
    Py_XDECREF(args);
    return result;
}

/* CallUnboundCMethod2 */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
    if (likely(cfunc->func)) {
        PyObject *args[2] = {arg1, arg2};
        if (cfunc->flag == METH_FASTCALL) {
            #if PY_VERSION_HEX >= 0x030700A0
            return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2);
            #else
            return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL);
            #endif
        }
        #if PY_VERSION_HEX >= 0x030700A0
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL);
        #endif
    }
    return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
}
#endif
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
    PyObject *args, *result = NULL;
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        args = PyTuple_New(2);
        if (unlikely(!args)) goto bad;
        Py_INCREF(arg1);
        PyTuple_SET_ITEM(args, 0, arg1);
        Py_INCREF(arg2);
        PyTuple_SET_ITEM(args, 1, arg2);
        if (cfunc->flag & METH_KEYWORDS)
            result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL);
        else
            result = (*cfunc->func)(self, args);
    } else {
        args = PyTuple_New(3);
        if (unlikely(!args)) goto bad;
        Py_INCREF(self);
        PyTuple_SET_ITEM(args, 0, self);
        Py_INCREF(arg1);
        PyTuple_SET_ITEM(args, 1, arg1);
        Py_INCREF(arg2);
        PyTuple_SET_ITEM(args, 2, arg2);
        result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
    }
#else
    args = PyTuple_Pack(3, self, arg1, arg2);
    if (unlikely(!args)) goto bad;
    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
#endif
bad:
    Py_XDECREF(args);
    return result;
}

/* dict_getitem_default */
static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
    PyObject* value;
#if PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000)
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (unlikely(PyErr_Occurred()))
            return NULL;
        value = default_value;
    }
    Py_INCREF(value);
    if ((1));
#else
    if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) {
        value = PyDict_GetItem(d, key);
        if (unlikely(!value)) {
            value = default_value;
        }
        Py_INCREF(value);
    }
#endif
    else {
        if (default_value == Py_None)
            value = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_get, d, key);
        else
            value = __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_get, d, key, default_value);
    }
    return value;
}

/* PyUnicode_Unicode */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) {
    if (unlikely(obj == Py_None))
        obj = __pyx_kp_u_None;
    return __Pyx_NewRef(obj);
}

/* UnicodeConcatInPlace */
# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
static int
__Pyx_unicode_modifiable(PyObject *unicode)
{
    if (Py_REFCNT(unicode) != 1)
        return 0;
    if (!PyUnicode_CheckExact(unicode))
        return 0;
    if (PyUnicode_CHECK_INTERNED(unicode))
        return 0;
    return 1;
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    ) {
    PyObject *left = *p_left;
    Py_ssize_t left_len, right_len, new_len;
    if (unlikely(__Pyx_PyUnicode_READY(left) == -1))
        return NULL;
    if (unlikely(__Pyx_PyUnicode_READY(right) == -1))
        return NULL;
    left_len = PyUnicode_GET_LENGTH(left);
    if (left_len == 0) {
        Py_INCREF(right);
        return right;
    }
    right_len = PyUnicode_GET_LENGTH(right);
    if (right_len == 0) {
        Py_INCREF(left);
        return left;
    }
    if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) {
        PyErr_SetString(PyExc_OverflowError,
                        "strings are too large to concat");
        return NULL;
    }
    new_len = left_len + right_len;
    if (__Pyx_unicode_modifiable(left)
            && PyUnicode_CheckExact(right)
            && PyUnicode_KIND(right) <= PyUnicode_KIND(left)
            && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) {
        int ret;
        __Pyx_GIVEREF(*p_left);
        ret = PyUnicode_Resize(p_left, new_len);
        __Pyx_GOTREF(*p_left);
        if (unlikely(ret != 0))
            return NULL;
        #if PY_VERSION_HEX >= 0x030d0000
        if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL;
        #else
        _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len);
        #endif
        __Pyx_INCREF(*p_left);
        __Pyx_GIVEREF(*p_left);
        return *p_left;
    } else {
        return __Pyx_PyUnicode_Concat(left, right);
    }
  }
#endif

/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
    PyObject *arg[2] = {NULL, NULL};
    return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectGetMethod */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
    PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
    __Pyx_TypeName type_name;
    PyTypeObject *tp = Py_TYPE(obj);
    PyObject *descr;
    descrgetfunc f = NULL;
    PyObject **dictptr, *dict;
    int meth_found = 0;
    assert (*method == NULL);
    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
        attr = __Pyx_PyObject_GetAttrStr(obj, name);
        goto try_unpack;
    }
    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
        return 0;
    }
    descr = _PyType_Lookup(tp, name);
    if (likely(descr != NULL)) {
        Py_INCREF(descr);
#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
        if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
#elif PY_MAJOR_VERSION >= 3
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
        #endif
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr)))
        #endif
#endif
        {
            meth_found = 1;
        } else {
            f = Py_TYPE(descr)->tp_descr_get;
            if (f != NULL && PyDescr_IsData(descr)) {
                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
                Py_DECREF(descr);
                goto try_unpack;
            }
        }
    }
    dictptr = _PyObject_GetDictPtr(obj);
    if (dictptr != NULL && (dict = *dictptr) != NULL) {
        Py_INCREF(dict);
        attr = __Pyx_PyDict_GetItemStr(dict, name);
        if (attr != NULL) {
            Py_INCREF(attr);
            Py_DECREF(dict);
            Py_XDECREF(descr);
            goto try_unpack;
        }
        Py_DECREF(dict);
    }
    if (meth_found) {
        *method = descr;
        return 1;
    }
    if (f != NULL) {
        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
        Py_DECREF(descr);
        goto try_unpack;
    }
    if (likely(descr != NULL)) {
        *method = descr;
        return 0;
    }
    type_name = __Pyx_PyType_GetName(tp);
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, name);
#else
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
                 type_name, PyString_AS_STRING(name));
#endif
    __Pyx_DECREF_TypeName(type_name);
    return 0;
#else
    attr = __Pyx_PyObject_GetAttrStr(obj, name);
    goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
        PyObject *function = PyMethod_GET_FUNCTION(attr);
        Py_INCREF(function);
        Py_DECREF(attr);
        *method = function;
        return 1;
    }
#endif
    *method = attr;
    return 0;
}

/* PyObjectCallMethod0 */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
    PyObject *method = NULL, *result = NULL;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_CallOneArg(method, obj);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) goto bad;
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
}

/* CallUnboundCMethod0 */
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    PyObject *args, *result = NULL;
    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_ASSUME_SAFE_MACROS
    args = PyTuple_New(1);
    if (unlikely(!args)) goto bad;
    Py_INCREF(self);
    PyTuple_SET_ITEM(args, 0, self);
#else
    args = PyTuple_Pack(1, self);
    if (unlikely(!args)) goto bad;
#endif
    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
    Py_DECREF(args);
bad:
    return result;
}

/* pop */
static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
    if (__Pyx_IS_TYPE(L, &PySet_Type)) {
        return PySet_Pop(L);
    }
    return __Pyx_PyObject_CallMethod0(L, __pyx_n_s_pop);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
    if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
        __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
        return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
    }
    return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
}
#endif

/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
    PyObject* exc_type;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    exc_type = __Pyx_PyErr_CurrentExceptionType();
    if (unlikely(exc_type)) {
        if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
            return -1;
        __Pyx_PyErr_Clear();
        return 0;
    }
    return 0;
}

/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    }
    return __Pyx_IterFinish();
}

/* UnpackTupleError */
static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else if (PyTuple_GET_SIZE(t) < index) {
      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
    } else {
      __Pyx_RaiseTooManyValuesError(index);
    }
}

/* UnpackTuple2 */
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
    PyObject *value1 = NULL, *value2 = NULL;
#if CYTHON_COMPILING_IN_PYPY
    value1 = PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
    value2 = PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
#else
    value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
    value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
#endif
    if (decref_tuple) {
        Py_DECREF(tuple);
    }
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
#if CYTHON_COMPILING_IN_PYPY
bad:
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
#endif
}
static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                       int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    iternextfunc iternext;
    iter = PyObject_GetIter(tuple);
    if (unlikely(!iter)) goto bad;
    if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
    iternext = __Pyx_PyObject_GetIterNextFunc(iter);
    value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
    value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
    if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
    Py_DECREF(iter);
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
unpacking_failed:
    if (!has_known_size && __Pyx_IterFinish() == 0)
        __Pyx_RaiseNeedMoreValuesError(index);
bad:
    Py_XDECREF(iter);
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
}

/* dict_iter */
#if CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
#include <string.h>
#endif
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
    *p_source_is_dict = is_dict;
    if (is_dict) {
#if !CYTHON_COMPILING_IN_PYPY
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
#elif PY_MAJOR_VERSION >= 3
        static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
        PyObject **pp = NULL;
        if (method_name) {
            const char *name = PyUnicode_AsUTF8(method_name);
            if (strcmp(name, "iteritems") == 0) pp = &py_items;
            else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
            else if (strcmp(name, "itervalues") == 0) pp = &py_values;
            if (pp) {
                if (!*pp) {
                    *pp = PyUnicode_FromString(name + 4);
                    if (!*pp)
                        return NULL;
                }
                method_name = *pp;
            }
        }
#endif
    }
    *p_orig_length = 0;
    if (method_name) {
        PyObject* iter;
        iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
        if (!iterable)
            return NULL;
#if !CYTHON_COMPILING_IN_PYPY
        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
            return iterable;
#endif
        iter = PyObject_GetIter(iterable);
        Py_DECREF(iterable);
        return iter;
    }
    return PyObject_GetIter(iterable);
}
static CYTHON_INLINE int __Pyx_dict_iter_next(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
    PyObject* next_item;
#if !CYTHON_COMPILING_IN_PYPY
    if (source_is_dict) {
        PyObject *key, *value;
        if (unlikely(orig_length != PyDict_Size(iter_obj))) {
            PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
            return -1;
        }
        if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
            return 0;
        }
        if (pitem) {
            PyObject* tuple = PyTuple_New(2);
            if (unlikely(!tuple)) {
                return -1;
            }
            Py_INCREF(key);
            Py_INCREF(value);
            PyTuple_SET_ITEM(tuple, 0, key);
            PyTuple_SET_ITEM(tuple, 1, value);
            *pitem = tuple;
        } else {
            if (pkey) {
                Py_INCREF(key);
                *pkey = key;
            }
            if (pvalue) {
                Py_INCREF(value);
                *pvalue = value;
            }
        }
        return 1;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyList_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else
#endif
    {
        next_item = PyIter_Next(iter_obj);
        if (unlikely(!next_item)) {
            return __Pyx_IterFinish();
        }
    }
    if (pitem) {
        *pitem = next_item;
    } else if (pkey && pvalue) {
        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
            return -1;
    } else if (pkey) {
        *pkey = next_item;
    } else {
        *pvalue = next_item;
    }
    return 1;
}

/* PyObjectCall2Args */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args[3] = {NULL, arg1, arg2};
    return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectCallMethod1 */
#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2)
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
#endif
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2
    PyObject *args[2] = {obj, arg};
    (void) __Pyx_PyObject_GetMethod;
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_Call2Args;
    return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_Call2Args(method, obj, arg);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) return NULL;
    return __Pyx__PyObject_CallMethod1(method, arg);
#endif
}

/* append */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
    if (likely(PyList_CheckExact(L))) {
        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
    } else {
        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
        if (unlikely(!retval))
            return -1;
        Py_DECREF(retval);
    }
    return 0;
}

/* PyIntCompare */
static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(inplace);
    if (op1 == op2) {
        return 1;
    }
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long a = PyInt_AS_LONG(op1);
        return (a == b);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        int unequal;
        unsigned long uintval;
        Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
        const digit* digits = __Pyx_PyLong_Digits(op1);
        if (intval == 0) {
            return (__Pyx_PyLong_IsZero(op1) == 1);
        } else if (intval < 0) {
            if (__Pyx_PyLong_IsNonNeg(op1))
                return 0;
            intval = -intval;
        } else {
            if (__Pyx_PyLong_IsNeg(op1))
                return 0;
        }
        uintval = (unsigned long) intval;
#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 4)) {
            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 3)) {
            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 2)) {
            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 1)) {
            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
        return (unequal == 0);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
#if CYTHON_COMPILING_IN_LIMITED_API
        double a = __pyx_PyFloat_AsDouble(op1);
#else
        double a = PyFloat_AS_DOUBLE(op1);
#endif
        return ((double)a == (double)b);
    }
    return __Pyx_PyObject_IsTrueAndDecref(
        PyObject_RichCompare(op1, op2, Py_EQ));
}

/* PyIntFromDouble */
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE PyObject* __Pyx_PyInt_FromDouble(double value) {
    if (value >= (double)LONG_MIN && value <= (double)LONG_MAX) {
        return PyInt_FromLong((long)value);
    }
    return PyLong_FromDouble(value);
}
#endif

/* PyObject_GenericGetAttrNoDict */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp);
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, attr_name);
#else
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
                 type_name, PyString_AS_STRING(attr_name));
#endif
    __Pyx_DECREF_TypeName(type_name);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
    PyObject *descr;
    PyTypeObject *tp = Py_TYPE(obj);
    if (unlikely(!PyString_Check(attr_name))) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    assert(!tp->tp_dictoffset);
    descr = _PyType_Lookup(tp, attr_name);
    if (unlikely(!descr)) {
        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
    }
    Py_INCREF(descr);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
    #endif
    {
        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
        if (unlikely(f)) {
            PyObject *res = f(descr, obj, (PyObject *)tp);
            Py_DECREF(descr);
            return res;
        }
    }
    return descr;
}
#endif

/* PyObject_GenericGetAttr */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
}
#endif

/* FixUpExtensionType */
#if CYTHON_USE_TYPE_SPECS
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED_VAR(spec);
    CYTHON_UNUSED_VAR(type);
#else
    const PyType_Slot *slot = spec->slots;
    while (slot && slot->slot && slot->slot != Py_tp_members)
        slot++;
    if (slot && slot->slot == Py_tp_members) {
        int changed = 0;
#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON)
        const
#endif
            PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
        while (memb && memb->name) {
            if (memb->name[0] == '_' && memb->name[1] == '_') {
#if PY_VERSION_HEX < 0x030900b1
                if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_weaklistoffset = memb->offset;
                    changed = 1;
                }
                else if (strcmp(memb->name, "__dictoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_dictoffset = memb->offset;
                    changed = 1;
                }
#if CYTHON_METH_FASTCALL
                else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
#if PY_VERSION_HEX >= 0x030800b4
                    type->tp_vectorcall_offset = memb->offset;
#else
                    type->tp_print = (printfunc) memb->offset;
#endif
                    changed = 1;
                }
#endif
#else
                if ((0));
#endif
#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON
                else if (strcmp(memb->name, "__module__") == 0) {
                    PyObject *descr;
                    assert(memb->type == T_OBJECT);
                    assert(memb->flags == 0 || memb->flags == READONLY);
                    descr = PyDescr_NewMember(type, memb);
                    if (unlikely(!descr))
                        return -1;
                    if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) {
                        Py_DECREF(descr);
                        return -1;
                    }
                    Py_DECREF(descr);
                    changed = 1;
                }
#endif
            }
            memb++;
        }
        if (changed)
            PyType_Modified(type);
    }
#endif
    return 0;
}
#endif

/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
    Py_ssize_t i, n;
#if CYTHON_ASSUME_SAFE_MACROS
    n = PyTuple_GET_SIZE(bases);
#else
    n = PyTuple_Size(bases);
    if (n < 0) return -1;
#endif
    for (i = 1; i < n; i++)
    {
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *b0 = PySequence_GetItem(bases, i);
        if (!b0) return -1;
#elif CYTHON_ASSUME_SAFE_MACROS
        PyObject *b0 = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *b0 = PyTuple_GetItem(bases, i);
        if (!b0) return -1;
#endif
        PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
        if (PyClass_Check(b0))
        {
            PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
                         PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
#endif
        b = (PyTypeObject*) b0;
        if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
        {
            __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
            PyErr_Format(PyExc_TypeError,
                "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
            __Pyx_DECREF_TypeName(b_name);
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
        if (dictoffset == 0)
        {
            Py_ssize_t b_dictoffset = 0;
#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
            b_dictoffset = b->tp_dictoffset;
#else
            PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
            if (!py_b_dictoffset) goto dictoffset_return;
            b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
            Py_DECREF(py_b_dictoffset);
            if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
#endif
            if (b_dictoffset) {
                {
                    __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
                    PyErr_Format(PyExc_TypeError,
                        "extension type '%.200s' has no __dict__ slot, "
                        "but base type '" __Pyx_FMT_TYPENAME "' has: "
                        "either add 'cdef dict __dict__' to the extension type "
                        "or add '__slots__ = [...]' to the base type",
                        type_name, b_name);
                    __Pyx_DECREF_TypeName(b_name);
                }
#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY)
              dictoffset_return:
#endif
#if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(b0);
#endif
                return -1;
            }
        }
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(b0);
#endif
    }
    return 0;
}
#endif

/* PyType_Ready */
static int __Pyx_PyType_Ready(PyTypeObject *t) {
#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION)
    (void)__Pyx_PyObject_CallMethod0;
#if CYTHON_USE_TYPE_SPECS
    (void)__Pyx_validate_bases_tuple;
#endif
    return PyType_Ready(t);
#else
    int r;
    PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
    if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
        return -1;
#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
    {
        int gc_was_enabled;
    #if PY_VERSION_HEX >= 0x030A00b1
        gc_was_enabled = PyGC_Disable();
        (void)__Pyx_PyObject_CallMethod0;
    #else
        PyObject *ret, *py_status;
        PyObject *gc = NULL;
        #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400)
        gc = PyImport_GetModule(__pyx_kp_u_gc);
        #endif
        if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc);
        if (unlikely(!gc)) return -1;
        py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled);
        if (unlikely(!py_status)) {
            Py_DECREF(gc);
            return -1;
        }
        gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
        Py_DECREF(py_status);
        if (gc_was_enabled > 0) {
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable);
            if (unlikely(!ret)) {
                Py_DECREF(gc);
                return -1;
            }
            Py_DECREF(ret);
        } else if (unlikely(gc_was_enabled == -1)) {
            Py_DECREF(gc);
            return -1;
        }
    #endif
        t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
#if PY_VERSION_HEX >= 0x030A0000
        t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
#endif
#else
        (void)__Pyx_PyObject_CallMethod0;
#endif
    r = PyType_Ready(t);
#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
        t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
    #if PY_VERSION_HEX >= 0x030A00b1
        if (gc_was_enabled)
            PyGC_Enable();
    #else
        if (gc_was_enabled) {
            PyObject *tp, *v, *tb;
            PyErr_Fetch(&tp, &v, &tb);
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable);
            if (likely(ret || r == -1)) {
                Py_XDECREF(ret);
                PyErr_Restore(tp, v, tb);
            } else {
                Py_XDECREF(tp);
                Py_XDECREF(v);
                Py_XDECREF(tb);
                r = -1;
            }
        }
        Py_DECREF(gc);
    #endif
    }
#endif
    return r;
#endif
}

/* SetVTable */
static int __Pyx_SetVtable(PyTypeObject *type, void *vtable) {
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
    if (unlikely(!ob))
        goto bad;
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_n_s_pyx_vtable, ob) < 0))
#else
    if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_n_s_pyx_vtable, ob) < 0))
#endif
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

/* GetVTable */
static void* __Pyx_GetVtable(PyTypeObject *type) {
    void* ptr;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_n_s_pyx_vtable);
#else
    PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_n_s_pyx_vtable);
#endif
    if (!ob)
        goto bad;
    ptr = PyCapsule_GetPointer(ob, 0);
    if (!ptr && !PyErr_Occurred())
        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
    Py_DECREF(ob);
    return ptr;
bad:
    Py_XDECREF(ob);
    return NULL;
}

/* MergeVTables */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_MergeVtables(PyTypeObject *type) {
    int i;
    void** base_vtables;
    __Pyx_TypeName tp_base_name;
    __Pyx_TypeName base_name;
    void* unknown = (void*)-1;
    PyObject* bases = type->tp_bases;
    int base_depth = 0;
    {
        PyTypeObject* base = type->tp_base;
        while (base) {
            base_depth += 1;
            base = base->tp_base;
        }
    }
    base_vtables = (void**) malloc(sizeof(void*) * (size_t)(base_depth + 1));
    base_vtables[0] = unknown;
    for (i = 1; i < PyTuple_GET_SIZE(bases); i++) {
        void* base_vtable = __Pyx_GetVtable(((PyTypeObject*)PyTuple_GET_ITEM(bases, i)));
        if (base_vtable != NULL) {
            int j;
            PyTypeObject* base = type->tp_base;
            for (j = 0; j < base_depth; j++) {
                if (base_vtables[j] == unknown) {
                    base_vtables[j] = __Pyx_GetVtable(base);
                    base_vtables[j + 1] = unknown;
                }
                if (base_vtables[j] == base_vtable) {
                    break;
                } else if (base_vtables[j] == NULL) {
                    goto bad;
                }
                base = base->tp_base;
            }
        }
    }
    PyErr_Clear();
    free(base_vtables);
    return 0;
bad:
    tp_base_name = __Pyx_PyType_GetName(type->tp_base);
    base_name = __Pyx_PyType_GetName((PyTypeObject*)PyTuple_GET_ITEM(bases, i));
    PyErr_Format(PyExc_TypeError,
        "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", tp_base_name, base_name);
    __Pyx_DECREF_TypeName(tp_base_name);
    __Pyx_DECREF_TypeName(base_name);
    free(base_vtables);
    return -1;
}
#endif

/* SetupReduce */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_n_s_name_2);
  if (likely(name_attr)) {
      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
  } else {
      ret = -1;
  }
  if (unlikely(ret < 0)) {
      PyErr_Clear();
      ret = 0;
  }
  Py_XDECREF(name_attr);
  return ret;
}
static int __Pyx_setup_reduce(PyObject* type_obj) {
    int ret = 0;
    PyObject *object_reduce = NULL;
    PyObject *object_getstate = NULL;
    PyObject *object_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
    PyObject *getstate = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate);
#else
    getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate);
    if (!getstate && PyErr_Occurred()) {
        goto __PYX_BAD;
    }
#endif
    if (getstate) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate);
#else
        object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate);
        if (!object_getstate && PyErr_Occurred()) {
            goto __PYX_BAD;
        }
#endif
        if (object_getstate != getstate) {
            goto __PYX_GOOD;
        }
    }
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
            if (likely(reduce_cython)) {
                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
            } else if (reduce == object_reduce || PyErr_Occurred()) {
                goto __PYX_BAD;
            }
            setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
                if (likely(setstate_cython)) {
                    ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                    ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                } else if (!setstate || PyErr_Occurred()) {
                    goto __PYX_BAD;
                }
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto __PYX_GOOD;
__PYX_BAD:
    if (!PyErr_Occurred()) {
        __Pyx_TypeName type_obj_name =
            __Pyx_PyType_GetName((PyTypeObject*)type_obj);
        PyErr_Format(PyExc_RuntimeError,
            "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, type_obj_name);
        __Pyx_DECREF_TypeName(type_obj_name);
    }
    ret = -1;
__PYX_GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
    Py_XDECREF(object_getstate);
    Py_XDECREF(getstate);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}
#endif

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType_3_0_11
#define __PYX_HAVE_RT_ImportType_3_0_11
static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject *module, const char *module_name, const char *class_name,
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_11 check_size)
{
    PyObject *result = 0;
    char warning[200];
    Py_ssize_t basicsize;
    Py_ssize_t itemsize;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    PyObject *py_itemsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#if !CYTHON_COMPILING_IN_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
    if (!py_itemsize)
        goto bad;
    itemsize = PyLong_AsSsize_t(py_itemsize);
    Py_DECREF(py_itemsize);
    py_itemsize = 0;
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (itemsize) {
        if (size % alignment) {
            alignment = size % alignment;
        }
        if (itemsize < (Py_ssize_t)alignment)
            itemsize = (Py_ssize_t)alignment;
    }
    if ((size_t)(basicsize + itemsize) < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize+itemsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_11 &&
            ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd-%zd from PyObject",
            module_name, class_name, size, basicsize, basicsize+itemsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_11 && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif

/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
    return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}

/* FetchCommonType */
static int __Pyx_VerifyCachedType(PyObject *cached_type,
                               const char *name,
                               Py_ssize_t basicsize,
                               Py_ssize_t expected_basicsize) {
    if (!PyType_Check(cached_type)) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s is not a type object", name);
        return -1;
    }
    if (basicsize != expected_basicsize) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s has the wrong size, try recompiling",
            name);
        return -1;
    }
    return 0;
}
#if !CYTHON_USE_TYPE_SPECS
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
    PyObject* abi_module;
    const char* object_name;
    PyTypeObject *cached_type = NULL;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) return NULL;
    object_name = strrchr(type->tp_name, '.');
    object_name = object_name ? object_name+1 : type->tp_name;
    cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
    if (cached_type) {
        if (__Pyx_VerifyCachedType(
              (PyObject *)cached_type,
              object_name,
              cached_type->tp_basicsize,
              type->tp_basicsize) < 0) {
            goto bad;
        }
        goto done;
    }
    if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
    PyErr_Clear();
    if (PyType_Ready(type) < 0) goto bad;
    if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
        goto bad;
    Py_INCREF(type);
    cached_type = type;
done:
    Py_DECREF(abi_module);
    return cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}
#else
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *abi_module, *cached_type = NULL;
    const char* object_name = strrchr(spec->name, '.');
    object_name = object_name ? object_name+1 : spec->name;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) return NULL;
    cached_type = PyObject_GetAttrString(abi_module, object_name);
    if (cached_type) {
        Py_ssize_t basicsize;
#if CYTHON_COMPILING_IN_LIMITED_API
        PyObject *py_basicsize;
        py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
        if (unlikely(!py_basicsize)) goto bad;
        basicsize = PyLong_AsSsize_t(py_basicsize);
        Py_DECREF(py_basicsize);
        py_basicsize = 0;
        if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
#else
        basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
#endif
        if (__Pyx_VerifyCachedType(
              cached_type,
              object_name,
              basicsize,
              spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    }
    if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
    PyErr_Clear();
    CYTHON_UNUSED_VAR(module);
    cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
    if (unlikely(!cached_type)) goto bad;
    if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
    if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
done:
    Py_DECREF(abi_module);
    assert(cached_type == NULL || PyType_Check(cached_type));
    return (PyTypeObject *) cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}
#endif

/* PyVectorcallFastCallDict */
#if CYTHON_METH_FASTCALL
static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    PyObject *res = NULL;
    PyObject *kwnames;
    PyObject **newargs;
    PyObject **kwvalues;
    Py_ssize_t i, pos;
    size_t j;
    PyObject *key, *value;
    unsigned long keys_are_strings;
    Py_ssize_t nkw = PyDict_GET_SIZE(kw);
    newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
    if (unlikely(newargs == NULL)) {
        PyErr_NoMemory();
        return NULL;
    }
    for (j = 0; j < nargs; j++) newargs[j] = args[j];
    kwnames = PyTuple_New(nkw);
    if (unlikely(kwnames == NULL)) {
        PyMem_Free(newargs);
        return NULL;
    }
    kwvalues = newargs + nargs;
    pos = i = 0;
    keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
    while (PyDict_Next(kw, &pos, &key, &value)) {
        keys_are_strings &= Py_TYPE(key)->tp_flags;
        Py_INCREF(key);
        Py_INCREF(value);
        PyTuple_SET_ITEM(kwnames, i, key);
        kwvalues[i] = value;
        i++;
    }
    if (unlikely(!keys_are_strings)) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        goto cleanup;
    }
    res = vc(func, newargs, nargs, kwnames);
cleanup:
    Py_DECREF(kwnames);
    for (i = 0; i < nkw; i++)
        Py_DECREF(kwvalues[i]);
    PyMem_Free(newargs);
    return res;
}
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
        return vc(func, args, nargs, NULL);
    }
    return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
}
#endif

/* CythonFunctionShared */
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
    if (__Pyx_CyFunction_Check(func)) {
        return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
    } else if (PyCFunction_Check(func)) {
        return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
    }
    return 0;
}
#else
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
    return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
}
#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    __Pyx_Py_XDECREF_SET(
        __Pyx_CyFunction_GetClassObj(f),
            ((classobj) ? __Pyx_NewRef(classobj) : NULL));
#else
    __Pyx_Py_XDECREF_SET(
        ((PyCMethodObject *) (f))->mm_class,
        (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
#endif
}
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
    CYTHON_UNUSED_VAR(closure);
    if (unlikely(op->func_doc == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
        if (unlikely(!op->func_doc)) return NULL;
#else
        if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
            op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
#else
            op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
#endif
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
#endif
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_doc, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_name == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_name = PyObject_GetAttrString(op->func, "__name__");
#elif PY_MAJOR_VERSION >= 3
        op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
        op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_name, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_qualname);
    return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_qualname, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_dict == NULL)) {
        op->func_dict = PyDict_New();
        if (unlikely(op->func_dict == NULL))
            return NULL;
    }
    Py_INCREF(op->func_dict);
    return op->func_dict;
}
static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL)) {
        PyErr_SetString(PyExc_TypeError,
               "function's dictionary may not be deleted");
        return -1;
    }
    if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
               "setting function's dictionary to a non-dict");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_dict, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(op);
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
    int result = 0;
    PyObject *res = op->defaults_getter((PyObject *) op);
    if (unlikely(!res))
        return -1;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
    Py_INCREF(op->defaults_tuple);
    op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
    Py_INCREF(op->defaults_kwdict);
    #else
    op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
        if (unlikely(!op->defaults_kwdict)) result = -1;
    }
    #endif
    Py_DECREF(res);
    return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->defaults_tuple;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->defaults_kwdict;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value || value == Py_None) {
        value = NULL;
    } else if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_annotations, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->func_annotations;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
    int is_coroutine;
    CYTHON_UNUSED_VAR(context);
    if (op->func_is_coroutine) {
        return __Pyx_NewRef(op->func_is_coroutine);
    }
    is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
#if PY_VERSION_HEX >= 0x03050000
    if (is_coroutine) {
        PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
        fromlist = PyList_New(1);
        if (unlikely(!fromlist)) return NULL;
        Py_INCREF(marker);
#if CYTHON_ASSUME_SAFE_MACROS
        PyList_SET_ITEM(fromlist, 0, marker);
#else
        if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
            Py_DECREF(marker);
            Py_DECREF(fromlist);
            return NULL;
        }
#endif
        module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
        if (unlikely(!module)) goto ignore;
        op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
        Py_DECREF(module);
        if (likely(op->func_is_coroutine)) {
            return __Pyx_NewRef(op->func_is_coroutine);
        }
ignore:
        PyErr_Clear();
    }
#endif
    op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
    return __Pyx_NewRef(op->func_is_coroutine);
}
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *
__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_GetAttrString(op->func, "__module__");
}
static int
__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_SetAttrString(op->func, "__module__", value);
}
#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
    {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
    {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
#if !CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
#endif
#if CYTHON_USE_TYPE_SPECS
    {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
    {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
#if !CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
#endif
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
    {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
#endif
#endif
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
{
    CYTHON_UNUSED_VAR(args);
#if PY_MAJOR_VERSION >= 3
    Py_INCREF(m->func_qualname);
    return m->func_qualname;
#else
    return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
#endif
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyCFunctionObject *cf = (PyCFunctionObject*) op;
#endif
    if (unlikely(op == NULL))
        return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
    if (unlikely(!op->func)) return NULL;
#endif
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
#if !CYTHON_COMPILING_IN_LIMITED_API
    cf->m_ml = ml;
    cf->m_self = (PyObject *) op;
#endif
    Py_XINCREF(closure);
    op->func_closure = closure;
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_XINCREF(module);
    cf->m_module = module;
#endif
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_classobj = NULL;
#else
    ((PyCMethodObject*)op)->mm_class = NULL;
#endif
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults_pyobjects = 0;
    op->defaults_size = 0;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    op->func_is_coroutine = NULL;
#if CYTHON_METH_FASTCALL
    switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
    case METH_NOARGS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
        break;
    case METH_O:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
        break;
    case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
        break;
    case METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
        break;
    case METH_VARARGS | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = NULL;
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        Py_DECREF(op);
        return NULL;
    }
#endif
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func);
#else
    Py_CLEAR(((PyCFunctionObject*)m)->m_module);
#endif
    Py_CLEAR(m->func_dict);
    Py_CLEAR(m->func_name);
    Py_CLEAR(m->func_qualname);
    Py_CLEAR(m->func_doc);
    Py_CLEAR(m->func_globals);
    Py_CLEAR(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
    Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
    {
        PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
        ((PyCMethodObject *) (m))->mm_class = NULL;
        Py_XDECREF(cls);
    }
#endif
#endif
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    Py_CLEAR(m->func_is_coroutine);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_XDECREF(pydefaults[i]);
        PyObject_Free(m->defaults);
        m->defaults = NULL;
    }
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    __Pyx_PyHeapTypeObject_GC_Del(m);
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    __Pyx__CyFunction_dealloc(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    Py_VISIT(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func);
#else
    Py_VISIT(((PyCFunctionObject*)m)->m_module);
#endif
    Py_VISIT(m->func_dict);
    Py_VISIT(m->func_name);
    Py_VISIT(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    Py_VISIT(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
#endif
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    Py_VISIT(m->func_is_coroutine);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_VISIT(pydefaults[i]);
    }
    return 0;
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
#else
    return PyString_FromFormat("<cyfunction %s at %p>",
                               PyString_AsString(op->func_qualname), (void *)op);
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
    PyObject *py_name = NULL;
    PyCFunction meth;
    int flags;
    meth = PyCFunction_GetFunction(f);
    if (unlikely(!meth)) return NULL;
    flags = PyCFunction_GetFlags(f);
    if (unlikely(flags < 0)) return NULL;
#else
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    int flags = f->m_ml->ml_flags;
#endif
    Py_ssize_t size;
    switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
    case METH_VARARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0))
            return (*meth)(self, arg);
        break;
    case METH_VARARGS | METH_KEYWORDS:
        return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 0))
                return (*meth)(self, NULL);
#if CYTHON_COMPILING_IN_LIMITED_API
            py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
            if (!py_name) return NULL;
            PyErr_Format(PyExc_TypeError,
                "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                py_name, size);
            Py_DECREF(py_name);
#else
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
#endif
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
                #endif
                result = (*meth)(self, arg0);
                #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
                Py_DECREF(arg0);
                #endif
                return result;
            }
#if CYTHON_COMPILING_IN_LIMITED_API
            py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
            if (!py_name) return NULL;
            PyErr_Format(PyExc_TypeError,
                "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                py_name, size);
            Py_DECREF(py_name);
#else
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
#endif
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        return NULL;
    }
#if CYTHON_COMPILING_IN_LIMITED_API
    py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
    if (!py_name) return NULL;
    PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
                 py_name);
    Py_DECREF(py_name);
#else
    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
                 f->m_ml->ml_name);
#endif
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *self, *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
    if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
    self = ((PyCFunctionObject*)func)->m_self;
#endif
    result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
    return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
#if CYTHON_METH_FASTCALL
     __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
    if (vc) {
#if CYTHON_ASSUME_SAFE_MACROS
        return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
#else
        (void) &__Pyx_PyVectorcall_FastCallDict;
        return PyVectorcall_Call(func, args, kw);
#endif
    }
#endif
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
#if CYTHON_ASSUME_SAFE_MACROS
        argc = PyTuple_GET_SIZE(args);
#else
        argc = PyTuple_Size(args);
        if (unlikely(!argc) < 0) return NULL;
#endif
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
#if PY_MAJOR_VERSION > 2
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
#else
            PyErr_SetString(PyExc_TypeError,
                            "unbound method needs an argument");
#endif
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
{
    int ret = 0;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        if (unlikely(nargs < 1)) {
            PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
                         ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
            return -1;
        }
        ret = 1;
    }
    if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
        PyErr_Format(PyExc_TypeError,
                     "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
        return -1;
    }
    return ret;
}
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 0)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
            def->ml_name, nargs);
        return NULL;
    }
    return def->ml_meth(self, NULL);
}
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 1)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
            def->ml_name, nargs);
        return NULL;
    }
    return def->ml_meth(self, args[0]);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
    PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
}
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_CyFunctionType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
    {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
    {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
    {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
    {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
    {Py_tp_methods, (void *)__pyx_CyFunction_methods},
    {Py_tp_members, (void *)__pyx_CyFunction_members},
    {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
    {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
    {0, 0},
};
static PyType_Spec __pyx_CyFunctionType_spec = {
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    __pyx_CyFunctionType_slots
};
#else
static PyTypeObject __pyx_CyFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
    (destructor) __Pyx_CyFunction_dealloc,
#if !CYTHON_METH_FASTCALL
    0,
#elif CYTHON_BACKPORT_VECTORCALL
    (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
#else
    offsetof(PyCFunctionObject, vectorcall),
#endif
    0,
    0,
#if PY_MAJOR_VERSION < 3
    0,
#else
    0,
#endif
    (reprfunc) __Pyx_CyFunction_repr,
    0,
    0,
    0,
    0,
    __Pyx_CyFunction_CallAsMethod,
    0,
    0,
    0,
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    0,
    (traverseproc) __Pyx_CyFunction_traverse,
    (inquiry) __Pyx_CyFunction_clear,
    0,
#if PY_VERSION_HEX < 0x030500A0
    offsetof(__pyx_CyFunctionObject, func_weakreflist),
#else
    offsetof(PyCFunctionObject, m_weakreflist),
#endif
    0,
    0,
    __pyx_CyFunction_methods,
    __pyx_CyFunction_members,
    __pyx_CyFunction_getsets,
    0,
    0,
    __Pyx_PyMethod_New,
    0,
    offsetof(__pyx_CyFunctionObject, func_dict),
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
    0,
#endif
#if __PYX_NEED_TP_PRINT_SLOT
    0,
#endif
#if PY_VERSION_HEX >= 0x030C0000
    0,
#endif
#if PY_VERSION_HEX >= 0x030d00A4
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
    0,
#endif
};
#endif
static int __pyx_CyFunction_init(PyObject *module) {
#if CYTHON_USE_TYPE_SPECS
    __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
#else
    CYTHON_UNUSED_VAR(module);
    __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
#endif
    if (unlikely(__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_Malloc(size);
    if (unlikely(!m->defaults))
        return PyErr_NoMemory();
    memset(m->defaults, 0, size);
    m->defaults_pyobjects = pyobjects;
    m->defaults_size = size;
    return m->defaults;
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_tuple = tuple;
    Py_INCREF(tuple);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_kwdict = dict;
    Py_INCREF(dict);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->func_annotations = dict;
    Py_INCREF(dict);
}

/* CythonFunction */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    PyObject *op = __Pyx_CyFunction_Init(
        PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
        ml, flags, qualname, closure, module, globals, code
    );
    if (likely(op)) {
        PyObject_GC_Track(op);
    }
    return op;
}

/* Py3UpdateBases */
static PyObject*
__Pyx_PEP560_update_bases(PyObject *bases)
{
    Py_ssize_t i, j, size_bases;
    PyObject *base, *meth, *new_base, *result, *new_bases = NULL;
    size_bases = PyTuple_GET_SIZE(bases);
    for (i = 0; i < size_bases; i++) {
        base  = PyTuple_GET_ITEM(bases, i);
        if (PyType_Check(base)) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries);
        if (!meth && PyErr_Occurred()) {
            goto error;
        }
        if (!meth) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        new_base = __Pyx_PyObject_CallOneArg(meth, bases);
        Py_DECREF(meth);
        if (!new_base) {
            goto error;
        }
        if (!PyTuple_Check(new_base)) {
            PyErr_SetString(PyExc_TypeError,
                            "__mro_entries__ must return a tuple");
            Py_DECREF(new_base);
            goto error;
        }
        if (!new_bases) {
            if (!(new_bases = PyList_New(i))) {
                goto error;
            }
            for (j = 0; j < i; j++) {
                base = PyTuple_GET_ITEM(bases, j);
                PyList_SET_ITEM(new_bases, j, base);
                Py_INCREF(base);
            }
        }
        j = PyList_GET_SIZE(new_bases);
        if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
            goto error;
        }
        Py_DECREF(new_base);
    }
    if (!new_bases) {
        Py_INCREF(bases);
        return bases;
    }
    result = PyList_AsTuple(new_bases);
    Py_DECREF(new_bases);
    return result;
error:
    Py_XDECREF(new_bases);
    return NULL;
}

/* SetNewInClass */
static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value) {
#ifdef __Pyx_CyFunction_USED
    int ret;
    if (__Pyx_CyFunction_Check(value)) {
        PyObject *staticnew = PyStaticMethod_New(value);
        if (unlikely(!staticnew)) return -1;
        ret = __Pyx_SetNameInClass(ns, name, staticnew);
        Py_DECREF(staticnew);
        return ret;
    }
#endif
    return __Pyx_SetNameInClass(ns, name, value);
}

/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases;
#if CYTHON_ASSUME_SAFE_MACROS
    nbases = PyTuple_GET_SIZE(bases);
#else
    nbases = PyTuple_Size(bases);
    if (nbases < 0) return NULL;
#endif
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
#if CYTHON_ASSUME_SAFE_MACROS
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *tmp = PyTuple_GetItem(bases, i);
        if (!tmp) return NULL;
#endif
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* PyObjectLookupSpecial */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
    if (unlikely(PyInstance_Check(obj)))
        return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name);
#endif
    res = _PyType_Lookup(tp, attr_name);
    if (likely(res)) {
        descrgetfunc f = Py_TYPE(res)->tp_descr_get;
        if (!f) {
            Py_INCREF(res);
        } else {
            res = f(res, obj, (PyObject *)tp);
        }
    } else if (with_error) {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#endif

/* Py3ClassCreate */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                           PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
    PyObject *ns;
    if (metaclass) {
        PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs[3] = {NULL, name, bases};
            ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
            Py_DECREF(prep);
        } else {
            if (unlikely(PyErr_Occurred()))
                return NULL;
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
#if PY_VERSION_HEX >= 0x03030000
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
#else
    CYTHON_MAYBE_UNUSED_VAR(qualname);
#endif
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
static int __Pyx_SetNamesPEP487(PyObject *type_obj) {
    PyTypeObject *type = (PyTypeObject*) type_obj;
    PyObject *names_to_set, *key, *value, *set_name, *tmp;
    Py_ssize_t i = 0;
#if CYTHON_USE_TYPE_SLOTS
    names_to_set = PyDict_Copy(type->tp_dict);
#else
    {
        PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict);
        names_to_set = NULL;
        if (likely(d)) {
            PyObject *names_to_set = PyDict_New();
            int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1;
            Py_DECREF(d);
            if (unlikely(ret < 0))
                Py_CLEAR(names_to_set);
        }
    }
#endif
    if (unlikely(names_to_set == NULL))
        goto bad;
    while (PyDict_Next(names_to_set, &i, &key, &value)) {
        set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name);
        if (unlikely(set_name != NULL)) {
            tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key);
            Py_DECREF(set_name);
            if (unlikely(tmp == NULL)) {
                __Pyx_TypeName value_type_name =
                    __Pyx_PyType_GetName(Py_TYPE(value));
                __Pyx_TypeName type_name = __Pyx_PyType_GetName(type);
                PyErr_Format(PyExc_RuntimeError,
#if PY_MAJOR_VERSION >= 3
                    "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'",
                    value_type_name, key, type_name);
#else
                    "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'",
                    value_type_name,
                    PyString_Check(key) ? PyString_AS_STRING(key) : "?",
                    type_name);
#endif
                goto bad;
            } else {
                Py_DECREF(tmp);
            }
        }
        else if (unlikely(PyErr_Occurred())) {
            goto bad;
        }
    }
    Py_DECREF(names_to_set);
    return 0;
bad:
    Py_XDECREF(names_to_set);
    return -1;
}
static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) {
#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    PyTypeObject *type = (PyTypeObject*) type_obj;
    PyObject *mro = type->tp_mro;
    Py_ssize_t i, nbases;
    if (unlikely(!mro)) goto done;
    (void) &__Pyx_GetBuiltinName;
    Py_INCREF(mro);
    nbases = PyTuple_GET_SIZE(mro);
    assert(PyTuple_GET_ITEM(mro, 0) == type_obj);
    for (i = 1; i < nbases-1; i++) {
        PyObject *base, *dict, *meth;
        base = PyTuple_GET_ITEM(mro, i);
        dict = ((PyTypeObject *)base)->tp_dict;
        meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass);
        if (unlikely(meth)) {
            descrgetfunc f = Py_TYPE(meth)->tp_descr_get;
            PyObject *res;
            Py_INCREF(meth);
            if (likely(f)) {
                res = f(meth, NULL, type_obj);
                Py_DECREF(meth);
                if (unlikely(!res)) goto bad;
                meth = res;
            }
            res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw);
            Py_DECREF(meth);
            if (unlikely(!res)) goto bad;
            Py_DECREF(res);
            goto done;
        } else if (unlikely(PyErr_Occurred())) {
            goto bad;
        }
    }
done:
    Py_XDECREF(mro);
    return type_obj;
bad:
    Py_XDECREF(mro);
    Py_DECREF(type_obj);
    return NULL;
#else
    PyObject *super_type, *super, *func, *res;
#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
    super_type = __Pyx_GetBuiltinName(__pyx_n_s_super);
#else
    super_type = (PyObject*) &PySuper_Type;
    (void) &__Pyx_GetBuiltinName;
#endif
    super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL;
#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
    Py_XDECREF(super_type);
#endif
    if (unlikely(!super)) {
        Py_CLEAR(type_obj);
        goto done;
    }
    func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass);
    Py_DECREF(super);
    if (likely(!func)) {
        if (unlikely(PyErr_Occurred()))
            Py_CLEAR(type_obj);
        goto done;
    }
    res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw);
    Py_DECREF(func);
    if (unlikely(!res))
        Py_CLEAR(type_obj);
    Py_XDECREF(res);
done:
    return type_obj;
#endif
}
#endif
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result;
    PyObject *owned_metaclass = NULL;
    PyObject *margs[4] = {NULL, name, bases, dict};
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
        if (owned_metaclass) {
            metaclass = owned_metaclass;
        } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
            PyErr_Clear();
        } else {
            return NULL;
        }
    }
    if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
        metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
        Py_XDECREF(owned_metaclass);
        if (unlikely(!metaclass))
            return NULL;
        owned_metaclass = metaclass;
    }
    result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET,
#if PY_VERSION_HEX < 0x030600A4
        (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw
#else
        mkw
#endif
    );
    Py_XDECREF(owned_metaclass);
#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
    if (likely(result) && likely(PyType_Check(result))) {
        if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) {
            Py_CLEAR(result);
        } else {
            result = __Pyx_InitSubclassPEP487(result, mkw);
        }
    }
#else
    (void) &__Pyx_GetBuiltinName;
#endif
    return result;
}

/* Globals */
static PyObject* __Pyx_Globals(void) {
    return __Pyx_NewRef(__pyx_d);
}

/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    CYTHON_MAYBE_UNUSED_VAR(tstate);
    if (unlikely(!__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, *cython_runtime_dict,
            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
    }
    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}
#endif

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
                                                       PyObject *firstlineno, PyObject *name) {
    PyObject *replace = NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
    replace = PyObject_GetAttrString(code, "replace");
    if (likely(replace)) {
        PyObject *result;
        result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
        Py_DECREF(replace);
        return result;
    }
    PyErr_Clear();
    #if __PYX_LIMITED_VERSION_HEX < 0x030780000
    {
        PyObject *compiled = NULL, *result = NULL;
        if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
        if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
        compiled = Py_CompileString(
            "out = type(code)(\n"
            "  code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
            "  code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
            "  code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
            "  code.co_lnotab)\n", "<dummy>", Py_file_input);
        if (!compiled) return NULL;
        result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
        Py_DECREF(compiled);
        if (!result) PyErr_Print();
        Py_DECREF(result);
        result = PyDict_GetItemString(scratch_dict, "out");
        if (result) Py_INCREF(result);
        return result;
    }
    #else
    return NULL;
    #endif
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
    PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
    PyObject *exc_type, *exc_value, *exc_traceback;
    int success = 0;
    if (c_line) {
        (void) __pyx_cfilenm;
        (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
    }
    PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
    code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
    if (unlikely(!code_object)) goto bad;
    py_py_line = PyLong_FromLong(py_line);
    if (unlikely(!py_py_line)) goto bad;
    py_funcname = PyUnicode_FromString(funcname);
    if (unlikely(!py_funcname)) goto bad;
    dict = PyDict_New();
    if (unlikely(!dict)) goto bad;
    {
        PyObject *old_code_object = code_object;
        code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
        Py_DECREF(old_code_object);
    }
    if (unlikely(!code_object)) goto bad;
    getframe = PySys_GetObject("_getframe");
    if (unlikely(!getframe)) goto bad;
    if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
    frame = PyEval_EvalCode(code_object, dict, dict);
    if (unlikely(!frame) || frame == Py_None) goto bad;
    success = 1;
  bad:
    PyErr_Restore(exc_type, exc_value, exc_traceback);
    Py_XDECREF(code_object);
    Py_XDECREF(py_py_line);
    Py_XDECREF(py_funcname);
    Py_XDECREF(dict);
    Py_XDECREF(replace);
    if (success) {
        PyTraceBack_Here(
            (struct _frame*)frame);
    }
    Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = NULL;
    PyObject *py_funcname = NULL;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_srcfile = NULL;
    py_srcfile = PyString_FromString(filename);
    if (!py_srcfile) goto bad;
    #endif
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        funcname = PyUnicode_AsUTF8(py_funcname);
        if (!funcname) goto bad;
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        if (!py_funcname) goto bad;
        #endif
    }
    #if PY_MAJOR_VERSION < 3
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    #else
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    #endif
    Py_XDECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_srcfile);
    #endif
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject *ptype, *pvalue, *ptraceback;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) {
            /* If the code object creation fails, then we should clear the
               fetched exception references and propagate the new exception */
            Py_XDECREF(ptype);
            Py_XDECREF(pvalue);
            Py_XDECREF(ptraceback);
            goto bad;
        }
        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
#endif

#if PY_MAJOR_VERSION < 3
static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
    __Pyx_TypeName obj_type_name;
    if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
        if (__Pyx_TypeCheck(obj, __pyx_array_type)) return __pyx_array_getbuffer(obj, view, flags);
        if (__Pyx_TypeCheck(obj, __pyx_memoryview_type)) return __pyx_memoryview_getbuffer(obj, view, flags);
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
                 "'" __Pyx_FMT_TYPENAME "' does not have the buffer interface",
                 obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return -1;
}
static void __Pyx_ReleaseBuffer(Py_buffer *view) {
    PyObject *obj = view->obj;
    if (!obj) return;
    if (PyObject_CheckBuffer(obj)) {
        PyBuffer_Release(view);
        return;
    }
    if ((0)) {}
    view->obj = NULL;
    Py_DECREF(obj);
}
#endif


/* MemviewSliceIsContig */
static int
__pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs, char order, int ndim)
{
    int i, index, step, start;
    Py_ssize_t itemsize = mvs.memview->view.itemsize;
    if (order == 'F') {
        step = 1;
        start = 0;
    } else {
        step = -1;
        start = ndim - 1;
    }
    for (i = 0; i < ndim; i++) {
        index = start + step * i;
        if (mvs.suboffsets[index] >= 0 || mvs.strides[index] != itemsize)
            return 0;
        itemsize *= mvs.shape[index];
    }
    return 1;
}

/* OverlappingSlices */
static void
__pyx_get_array_memory_extents(__Pyx_memviewslice *slice,
                               void **out_start, void **out_end,
                               int ndim, size_t itemsize)
{
    char *start, *end;
    int i;
    start = end = slice->data;
    for (i = 0; i < ndim; i++) {
        Py_ssize_t stride = slice->strides[i];
        Py_ssize_t extent = slice->shape[i];
        if (extent == 0) {
            *out_start = *out_end = start;
            return;
        } else {
            if (stride > 0)
                end += stride * (extent - 1);
            else
                start += stride * (extent - 1);
        }
    }
    *out_start = start;
    *out_end = end + itemsize;
}
static int
__pyx_slices_overlap(__Pyx_memviewslice *slice1,
                     __Pyx_memviewslice *slice2,
                     int ndim, size_t itemsize)
{
    void *start1, *end1, *start2, *end2;
    __pyx_get_array_memory_extents(slice1, &start1, &end1, ndim, itemsize);
    __pyx_get_array_memory_extents(slice2, &start2, &end2, ndim, itemsize);
    return (start1 < end2) && (start2 < end1);
}

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* IsLittleEndian */
static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
{
  union {
    uint32_t u32;
    uint8_t u8[4];
  } S;
  S.u32 = 0x01020304;
  return S.u8[0] == 4;
}

/* BufferFormatCheck */
static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                              __Pyx_BufFmt_StackElem* stack,
                              __Pyx_TypeInfo* type) {
  stack[0].field = &ctx->root;
  stack[0].parent_offset = 0;
  ctx->root.type = type;
  ctx->root.name = "buffer dtype";
  ctx->root.offset = 0;
  ctx->head = stack;
  ctx->head->field = &ctx->root;
  ctx->fmt_offset = 0;
  ctx->head->parent_offset = 0;
  ctx->new_packmode = '@';
  ctx->enc_packmode = '@';
  ctx->new_count = 1;
  ctx->enc_count = 0;
  ctx->enc_type = 0;
  ctx->is_complex = 0;
  ctx->is_valid_array = 0;
  ctx->struct_alignment = 0;
  while (type->typegroup == 'S') {
    ++ctx->head;
    ctx->head->field = type->fields;
    ctx->head->parent_offset = 0;
    type = type->fields->type;
  }
}
static int __Pyx_BufFmt_ParseNumber(const char** ts) {
    int count;
    const char* t = *ts;
    if (*t < '0' || *t > '9') {
      return -1;
    } else {
        count = *t++ - '0';
        while (*t >= '0' && *t <= '9') {
            count *= 10;
            count += *t++ - '0';
        }
    }
    *ts = t;
    return count;
}
static int __Pyx_BufFmt_ExpectNumber(const char **ts) {
    int number = __Pyx_BufFmt_ParseNumber(ts);
    if (number == -1)
        PyErr_Format(PyExc_ValueError,\
                     "Does not understand character buffer dtype format string ('%c')", **ts);
    return number;
}
static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
  PyErr_Format(PyExc_ValueError,
               "Unexpected format string character: '%c'", ch);
}
static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
  switch (ch) {
    case '?': return "'bool'";
    case 'c': return "'char'";
    case 'b': return "'signed char'";
    case 'B': return "'unsigned char'";
    case 'h': return "'short'";
    case 'H': return "'unsigned short'";
    case 'i': return "'int'";
    case 'I': return "'unsigned int'";
    case 'l': return "'long'";
    case 'L': return "'unsigned long'";
    case 'q': return "'long long'";
    case 'Q': return "'unsigned long long'";
    case 'f': return (is_complex ? "'complex float'" : "'float'");
    case 'd': return (is_complex ? "'complex double'" : "'double'");
    case 'g': return (is_complex ? "'complex long double'" : "'long double'");
    case 'T': return "a struct";
    case 'O': return "Python object";
    case 'P': return "a pointer";
    case 's': case 'p': return "a string";
    case 0: return "end";
    default: return "unparsable format string";
  }
}
static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return 2;
    case 'i': case 'I': case 'l': case 'L': return 4;
    case 'q': case 'Q': return 8;
    case 'f': return (is_complex ? 8 : 4);
    case 'd': return (is_complex ? 16 : 8);
    case 'g': {
      PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");
      return 0;
    }
    case 'O': case 'P': return sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(short);
    case 'i': case 'I': return sizeof(int);
    case 'l': case 'L': return sizeof(long);
    #ifdef HAVE_LONG_LONG
    case 'q': case 'Q': return sizeof(PY_LONG_LONG);
    #endif
    case 'f': return sizeof(float) * (is_complex ? 2 : 1);
    case 'd': return sizeof(double) * (is_complex ? 2 : 1);
    case 'g': return sizeof(long double) * (is_complex ? 2 : 1);
    case 'O': case 'P': return sizeof(void*);
    default: {
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
  }
}
typedef struct { char c; short x; } __Pyx_st_short;
typedef struct { char c; int x; } __Pyx_st_int;
typedef struct { char c; long x; } __Pyx_st_long;
typedef struct { char c; float x; } __Pyx_st_float;
typedef struct { char c; double x; } __Pyx_st_double;
typedef struct { char c; long double x; } __Pyx_st_longdouble;
typedef struct { char c; void *x; } __Pyx_st_void_p;
#ifdef HAVE_LONG_LONG
typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
#endif
static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
  CYTHON_UNUSED_VAR(is_complex);
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);
    case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
    case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
#ifdef HAVE_LONG_LONG
    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
#endif
    case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
    case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
    case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);
    case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
/* These are for computing the padding at the end of the struct to align
   on the first member of the struct. This will probably the same as above,
   but we don't have any guarantees.
 */
typedef struct { short x; char c; } __Pyx_pad_short;
typedef struct { int x; char c; } __Pyx_pad_int;
typedef struct { long x; char c; } __Pyx_pad_long;
typedef struct { float x; char c; } __Pyx_pad_float;
typedef struct { double x; char c; } __Pyx_pad_double;
typedef struct { long double x; char c; } __Pyx_pad_longdouble;
typedef struct { void *x; char c; } __Pyx_pad_void_p;
#ifdef HAVE_LONG_LONG
typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;
#endif
static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, int is_complex) {
  CYTHON_UNUSED_VAR(is_complex);
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);
    case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);
    case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);
#ifdef HAVE_LONG_LONG
    case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);
#endif
    case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);
    case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);
    case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);
    case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
  switch (ch) {
    case 'c':
        return 'H';
    case 'b': case 'h': case 'i':
    case 'l': case 'q': case 's': case 'p':
        return 'I';
    case '?': case 'B': case 'H': case 'I': case 'L': case 'Q':
        return 'U';
    case 'f': case 'd': case 'g':
        return (is_complex ? 'C' : 'R');
    case 'O':
        return 'O';
    case 'P':
        return 'P';
    default: {
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
  }
}
static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
  if (ctx->head == NULL || ctx->head->field == &ctx->root) {
    const char* expected;
    const char* quote;
    if (ctx->head == NULL) {
      expected = "end";
      quote = "";
    } else {
      expected = ctx->head->field->type->name;
      quote = "'";
    }
    PyErr_Format(PyExc_ValueError,
                 "Buffer dtype mismatch, expected %s%s%s but got %s",
                 quote, expected, quote,
                 __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));
  } else {
    __Pyx_StructField* field = ctx->head->field;
    __Pyx_StructField* parent = (ctx->head - 1)->field;
    PyErr_Format(PyExc_ValueError,
                 "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",
                 field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),
                 parent->type->name, field->name);
  }
}
static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
  char group;
  size_t size, offset, arraysize = 1;
  if (ctx->enc_type == 0) return 0;
  if (ctx->head->field->type->arraysize[0]) {
    int i, ndim = 0;
    if (ctx->enc_type == 's' || ctx->enc_type == 'p') {
        ctx->is_valid_array = ctx->head->field->type->ndim == 1;
        ndim = 1;
        if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {
            PyErr_Format(PyExc_ValueError,
                         "Expected a dimension of size %zu, got %zu",
                         ctx->head->field->type->arraysize[0], ctx->enc_count);
            return -1;
        }
    }
    if (!ctx->is_valid_array) {
      PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",
                   ctx->head->field->type->ndim, ndim);
      return -1;
    }
    for (i = 0; i < ctx->head->field->type->ndim; i++) {
      arraysize *= ctx->head->field->type->arraysize[i];
    }
    ctx->is_valid_array = 0;
    ctx->enc_count = 1;
  }
  group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);
  do {
    __Pyx_StructField* field = ctx->head->field;
    __Pyx_TypeInfo* type = field->type;
    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
      size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
    } else {
      size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
    }
    if (ctx->enc_packmode == '@') {
      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
      size_t align_mod_offset;
      if (align_at == 0) return -1;
      align_mod_offset = ctx->fmt_offset % align_at;
      if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
      if (ctx->struct_alignment == 0)
          ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,
                                                                 ctx->is_complex);
    }
    if (type->size != size || type->typegroup != group) {
      if (type->typegroup == 'C' && type->fields != NULL) {
        size_t parent_offset = ctx->head->parent_offset + field->offset;
        ++ctx->head;
        ctx->head->field = type->fields;
        ctx->head->parent_offset = parent_offset;
        continue;
      }
      if ((type->typegroup == 'H' || group == 'H') && type->size == size) {
      } else {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return -1;
      }
    }
    offset = ctx->head->parent_offset + field->offset;
    if (ctx->fmt_offset != offset) {
      PyErr_Format(PyExc_ValueError,
                   "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected",
                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
      return -1;
    }
    ctx->fmt_offset += size;
    if (arraysize)
      ctx->fmt_offset += (arraysize - 1) * size;
    --ctx->enc_count;
    while (1) {
      if (field == &ctx->root) {
        ctx->head = NULL;
        if (ctx->enc_count != 0) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return -1;
        }
        break;
      }
      ctx->head->field = ++field;
      if (field->type == NULL) {
        --ctx->head;
        field = ctx->head->field;
        continue;
      } else if (field->type->typegroup == 'S') {
        size_t parent_offset = ctx->head->parent_offset + field->offset;
        if (field->type->fields->type == NULL) continue;
        field = field->type->fields;
        ++ctx->head;
        ctx->head->field = field;
        ctx->head->parent_offset = parent_offset;
        break;
      } else {
        break;
      }
    }
  } while (ctx->enc_count);
  ctx->enc_type = 0;
  ctx->is_complex = 0;
  return 0;
}
static int
__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
{
    const char *ts = *tsp;
    int i = 0, number, ndim;
    ++ts;
    if (ctx->new_count != 1) {
        PyErr_SetString(PyExc_ValueError,
                        "Cannot handle repeated arrays in format string");
        return -1;
    }
    if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return -1;
    ndim = ctx->head->field->type->ndim;
    while (*ts && *ts != ')') {
        switch (*ts) {
            case ' ': case '\f': case '\r': case '\n': case '\t': case '\v':  continue;
            default:  break;
        }
        number = __Pyx_BufFmt_ExpectNumber(&ts);
        if (number == -1) return -1;
        if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) {
            PyErr_Format(PyExc_ValueError,
                        "Expected a dimension of size %zu, got %d",
                        ctx->head->field->type->arraysize[i], number);
            return -1;
        }
        if (*ts != ',' && *ts != ')') {
            PyErr_Format(PyExc_ValueError,
                                "Expected a comma in format string, got '%c'", *ts);
            return -1;
        }
        if (*ts == ',') ts++;
        i++;
    }
    if (i != ndim) {
        PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
                            ctx->head->field->type->ndim, i);
        return -1;
    }
    if (!*ts) {
        PyErr_SetString(PyExc_ValueError,
                        "Unexpected end of format string, expected ')'");
        return -1;
    }
    ctx->is_valid_array = 1;
    ctx->new_count = 1;
    *tsp = ++ts;
    return 0;
}
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
  int got_Z = 0;
  while (1) {
    switch(*ts) {
      case 0:
        if (ctx->enc_type != 0 && ctx->head == NULL) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return NULL;
        }
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        if (ctx->head != NULL) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return NULL;
        }
        return ts;
      case ' ':
      case '\r':
      case '\n':
        ++ts;
        break;
      case '<':
        if (!__Pyx_Is_Little_Endian()) {
          PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
          return NULL;
        }
        ctx->new_packmode = '=';
        ++ts;
        break;
      case '>':
      case '!':
        if (__Pyx_Is_Little_Endian()) {
          PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
          return NULL;
        }
        ctx->new_packmode = '=';
        ++ts;
        break;
      case '=':
      case '@':
      case '^':
        ctx->new_packmode = *ts++;
        break;
      case 'T':
        {
          const char* ts_after_sub;
          size_t i, struct_count = ctx->new_count;
          size_t struct_alignment = ctx->struct_alignment;
          ctx->new_count = 1;
          ++ts;
          if (*ts != '{') {
            PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");
            return NULL;
          }
          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
          ctx->enc_type = 0;
          ctx->enc_count = 0;
          ctx->struct_alignment = 0;
          ++ts;
          ts_after_sub = ts;
          for (i = 0; i != struct_count; ++i) {
            ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);
            if (!ts_after_sub) return NULL;
          }
          ts = ts_after_sub;
          if (struct_alignment) ctx->struct_alignment = struct_alignment;
        }
        break;
      case '}':
        {
          size_t alignment = ctx->struct_alignment;
          ++ts;
          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
          ctx->enc_type = 0;
          if (alignment && ctx->fmt_offset % alignment) {
            ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);
          }
        }
        return ts;
      case 'x':
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        ctx->fmt_offset += ctx->new_count;
        ctx->new_count = 1;
        ctx->enc_count = 0;
        ctx->enc_type = 0;
        ctx->enc_packmode = ctx->new_packmode;
        ++ts;
        break;
      case 'Z':
        got_Z = 1;
        ++ts;
        if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
          __Pyx_BufFmt_RaiseUnexpectedChar('Z');
          return NULL;
        }
        CYTHON_FALLTHROUGH;
      case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
      case 'l': case 'L': case 'q': case 'Q':
      case 'f': case 'd': case 'g':
      case 'O': case 'p':
        if ((ctx->enc_type == *ts) && (got_Z == ctx->is_complex) &&
            (ctx->enc_packmode == ctx->new_packmode) && (!ctx->is_valid_array)) {
          ctx->enc_count += ctx->new_count;
          ctx->new_count = 1;
          got_Z = 0;
          ++ts;
          break;
        }
        CYTHON_FALLTHROUGH;
      case 's':
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        ctx->enc_count = ctx->new_count;
        ctx->enc_packmode = ctx->new_packmode;
        ctx->enc_type = *ts;
        ctx->is_complex = got_Z;
        ++ts;
        ctx->new_count = 1;
        got_Z = 0;
        break;
      case ':':
        ++ts;
        while(*ts != ':') ++ts;
        ++ts;
        break;
      case '(':
        if (__pyx_buffmt_parse_array(ctx, &ts) < 0) return NULL;
        break;
      default:
        {
          int number = __Pyx_BufFmt_ExpectNumber(&ts);
          if (number == -1) return NULL;
          ctx->new_count = (size_t)number;
        }
    }
  }
}

/* TypeInfoCompare */
  static int
__pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b)
{
    int i;
    if (!a || !b)
        return 0;
    if (a == b)
        return 1;
    if (a->size != b->size || a->typegroup != b->typegroup ||
            a->is_unsigned != b->is_unsigned || a->ndim != b->ndim) {
        if (a->typegroup == 'H' || b->typegroup == 'H') {
            return a->size == b->size;
        } else {
            return 0;
        }
    }
    if (a->ndim) {
        for (i = 0; i < a->ndim; i++)
            if (a->arraysize[i] != b->arraysize[i])
                return 0;
    }
    if (a->typegroup == 'S') {
        if (a->flags != b->flags)
            return 0;
        if (a->fields || b->fields) {
            if (!(a->fields && b->fields))
                return 0;
            for (i = 0; a->fields[i].type && b->fields[i].type; i++) {
                __Pyx_StructField *field_a = a->fields + i;
                __Pyx_StructField *field_b = b->fields + i;
                if (field_a->offset != field_b->offset ||
                    !__pyx_typeinfo_cmp(field_a->type, field_b->type))
                    return 0;
            }
            return !a->fields[i].type && !b->fields[i].type;
        }
    }
    return 1;
}

/* MemviewSliceValidateAndInit */
  static int
__pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)
{
    if (buf->shape[dim] <= 1)
        return 1;
    if (buf->strides) {
        if (spec & __Pyx_MEMVIEW_CONTIG) {
            if (spec & (__Pyx_MEMVIEW_PTR|__Pyx_MEMVIEW_FULL)) {
                if (unlikely(buf->strides[dim] != sizeof(void *))) {
                    PyErr_Format(PyExc_ValueError,
                                 "Buffer is not indirectly contiguous "
                                 "in dimension %d.", dim);
                    goto fail;
                }
            } else if (unlikely(buf->strides[dim] != buf->itemsize)) {
                PyErr_SetString(PyExc_ValueError,
                                "Buffer and memoryview are not contiguous "
                                "in the same dimension.");
                goto fail;
            }
        }
        if (spec & __Pyx_MEMVIEW_FOLLOW) {
            Py_ssize_t stride = buf->strides[dim];
            if (stride < 0)
                stride = -stride;
            if (unlikely(stride < buf->itemsize)) {
                PyErr_SetString(PyExc_ValueError,
                                "Buffer and memoryview are not contiguous "
                                "in the same dimension.");
                goto fail;
            }
        }
    } else {
        if (unlikely(spec & __Pyx_MEMVIEW_CONTIG && dim != ndim - 1)) {
            PyErr_Format(PyExc_ValueError,
                         "C-contiguous buffer is not contiguous in "
                         "dimension %d", dim);
            goto fail;
        } else if (unlikely(spec & (__Pyx_MEMVIEW_PTR))) {
            PyErr_Format(PyExc_ValueError,
                         "C-contiguous buffer is not indirect in "
                         "dimension %d", dim);
            goto fail;
        } else if (unlikely(buf->suboffsets)) {
            PyErr_SetString(PyExc_ValueError,
                            "Buffer exposes suboffsets but no strides");
            goto fail;
        }
    }
    return 1;
fail:
    return 0;
}
static int
__pyx_check_suboffsets(Py_buffer *buf, int dim, int ndim, int spec)
{
    CYTHON_UNUSED_VAR(ndim);
    if (spec & __Pyx_MEMVIEW_DIRECT) {
        if (unlikely(buf->suboffsets && buf->suboffsets[dim] >= 0)) {
            PyErr_Format(PyExc_ValueError,
                         "Buffer not compatible with direct access "
                         "in dimension %d.", dim);
            goto fail;
        }
    }
    if (spec & __Pyx_MEMVIEW_PTR) {
        if (unlikely(!buf->suboffsets || (buf->suboffsets[dim] < 0))) {
            PyErr_Format(PyExc_ValueError,
                         "Buffer is not indirectly accessible "
                         "in dimension %d.", dim);
            goto fail;
        }
    }
    return 1;
fail:
    return 0;
}
static int
__pyx_verify_contig(Py_buffer *buf, int ndim, int c_or_f_flag)
{
    int i;
    if (c_or_f_flag & __Pyx_IS_F_CONTIG) {
        Py_ssize_t stride = 1;
        for (i = 0; i < ndim; i++) {
            if (unlikely(stride * buf->itemsize != buf->strides[i]  &&  buf->shape[i] > 1)) {
                PyErr_SetString(PyExc_ValueError,
                    "Buffer not fortran contiguous.");
                goto fail;
            }
            stride = stride * buf->shape[i];
        }
    } else if (c_or_f_flag & __Pyx_IS_C_CONTIG) {
        Py_ssize_t stride = 1;
        for (i = ndim - 1; i >- 1; i--) {
            if (unlikely(stride * buf->itemsize != buf->strides[i]  &&  buf->shape[i] > 1)) {
                PyErr_SetString(PyExc_ValueError,
                    "Buffer not C contiguous.");
                goto fail;
            }
            stride = stride * buf->shape[i];
        }
    }
    return 1;
fail:
    return 0;
}
static int __Pyx_ValidateAndInit_memviewslice(
                int *axes_specs,
                int c_or_f_flag,
                int buf_flags,
                int ndim,
                __Pyx_TypeInfo *dtype,
                __Pyx_BufFmt_StackElem stack[],
                __Pyx_memviewslice *memviewslice,
                PyObject *original_obj)
{
    struct __pyx_memoryview_obj *memview, *new_memview;
    __Pyx_RefNannyDeclarations
    Py_buffer *buf;
    int i, spec = 0, retval = -1;
    __Pyx_BufFmt_Context ctx;
    int from_memoryview = __pyx_memoryview_check(original_obj);
    __Pyx_RefNannySetupContext("ValidateAndInit_memviewslice", 0);
    if (from_memoryview && __pyx_typeinfo_cmp(dtype, ((struct __pyx_memoryview_obj *)
                                                            original_obj)->typeinfo)) {
        memview = (struct __pyx_memoryview_obj *) original_obj;
        new_memview = NULL;
    } else {
        memview = (struct __pyx_memoryview_obj *) __pyx_memoryview_new(
                                            original_obj, buf_flags, 0, dtype);
        new_memview = memview;
        if (unlikely(!memview))
            goto fail;
    }
    buf = &memview->view;
    if (unlikely(buf->ndim != ndim)) {
        PyErr_Format(PyExc_ValueError,
                "Buffer has wrong number of dimensions (expected %d, got %d)",
                ndim, buf->ndim);
        goto fail;
    }
    if (new_memview) {
        __Pyx_BufFmt_Init(&ctx, stack, dtype);
        if (unlikely(!__Pyx_BufFmt_CheckString(&ctx, buf->format))) goto fail;
    }
    if (unlikely((unsigned) buf->itemsize != dtype->size)) {
        PyErr_Format(PyExc_ValueError,
                     "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "u byte%s) "
                     "does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "u byte%s)",
                     buf->itemsize,
                     (buf->itemsize > 1) ? "s" : "",
                     dtype->name,
                     dtype->size,
                     (dtype->size > 1) ? "s" : "");
        goto fail;
    }
    if (buf->len > 0) {
        for (i = 0; i < ndim; i++) {
            spec = axes_specs[i];
            if (unlikely(!__pyx_check_strides(buf, i, ndim, spec)))
                goto fail;
            if (unlikely(!__pyx_check_suboffsets(buf, i, ndim, spec)))
                goto fail;
        }
        if (unlikely(buf->strides && !__pyx_verify_contig(buf, ndim, c_or_f_flag)))
            goto fail;
    }
    if (unlikely(__Pyx_init_memviewslice(memview, ndim, memviewslice,
                                         new_memview != NULL) == -1)) {
        goto fail;
    }
    retval = 0;
    goto no_fail;
fail:
    Py_XDECREF(new_memview);
    retval = -1;
no_fail:
    __Pyx_RefNannyFinishContext();
    return retval;
}

/* ObjectToMemviewSlice */
  static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_int(PyObject *obj, int writable_flag) {
    __Pyx_memviewslice result = { 0, 0, { 0 }, { 0 }, { 0 } };
    __Pyx_BufFmt_StackElem stack[1];
    int axes_specs[] = { (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED), (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED) };
    int retcode;
    if (obj == Py_None) {
        result.memview = (struct __pyx_memoryview_obj *) Py_None;
        return result;
    }
    retcode = __Pyx_ValidateAndInit_memviewslice(axes_specs, 0,
                                                 PyBUF_RECORDS_RO | writable_flag, 2,
                                                 &__Pyx_TypeInfo_int, stack,
                                                 &result, obj);
    if (unlikely(retcode == -1))
        goto __pyx_fail;
    return result;
__pyx_fail:
    result.memview = NULL;
    result.data = NULL;
    return result;
}

/* ObjectToMemviewSlice */
  static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_float(PyObject *obj, int writable_flag) {
    __Pyx_memviewslice result = { 0, 0, { 0 }, { 0 }, { 0 } };
    __Pyx_BufFmt_StackElem stack[1];
    int axes_specs[] = { (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED) };
    int retcode;
    if (obj == Py_None) {
        result.memview = (struct __pyx_memoryview_obj *) Py_None;
        return result;
    }
    retcode = __Pyx_ValidateAndInit_memviewslice(axes_specs, 0,
                                                 PyBUF_RECORDS_RO | writable_flag, 1,
                                                 &__Pyx_TypeInfo_float, stack,
                                                 &result, obj);
    if (unlikely(retcode == -1))
        goto __pyx_fail;
    return result;
__pyx_fail:
    result.memview = NULL;
    result.data = NULL;
    return result;
}

/* MemviewDtypeToObject */
  static CYTHON_INLINE PyObject *__pyx_memview_get_float(const char *itemp) {
    return (PyObject *) PyFloat_FromDouble(*(float *) itemp);
}
static CYTHON_INLINE int __pyx_memview_set_float(const char *itemp, PyObject *obj) {
    float value = __pyx_PyFloat_AsFloat(obj);
    if (unlikely((value == (float)-1) && PyErr_Occurred()))
        return 0;
    *(float *) itemp = value;
    return 1;
}

/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      return ::std::complex< float >(x, y);
    }
  #else
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      return x + y*(__pyx_t_float_complex)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      __pyx_t_float_complex z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif

/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
#else
    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    #if 1
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        if (b.imag == 0) {
            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else if (fabsf(b.real) >= fabsf(b.imag)) {
            if (b.real == 0 && b.imag == 0) {
                return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
            } else {
                float r = b.imag / b.real;
                float s = (float)(1.0) / (b.real + b.imag * r);
                return __pyx_t_float_complex_from_parts(
                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
            }
        } else {
            float r = b.real / b.imag;
            float s = (float)(1.0) / (b.imag + b.real * r);
            return __pyx_t_float_complex_from_parts(
                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
        }
    }
    #else
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        if (b.imag == 0) {
            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else {
            float denom = b.real * b.real + b.imag * b.imag;
            return __pyx_t_float_complex_from_parts(
                (a.real * b.real + a.imag * b.imag) / denom,
                (a.imag * b.real - a.real * b.imag) / denom);
        }
    }
    #endif
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
        __pyx_t_float_complex z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
        __pyx_t_float_complex z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if 1
        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrtf(z.real*z.real + z.imag*z.imag);
          #else
            return hypotf(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
            __pyx_t_float_complex z;
            float r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    float denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        return __Pyx_c_prod_float(a, a);
                    case 3:
                        z = __Pyx_c_prod_float(a, a);
                        return __Pyx_c_prod_float(z, a);
                    case 4:
                        z = __Pyx_c_prod_float(a, a);
                        return __Pyx_c_prod_float(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                } else if ((b.imag == 0) && (a.real >= 0)) {
                    z.real = powf(a.real, b.real);
                    z.imag = 0;
                    return z;
                } else if (a.real > 0) {
                    r = a.real;
                    theta = 0;
                } else {
                    r = -a.real;
                    theta = atan2f(0.0, -1.0);
                }
            } else {
                r = __Pyx_c_abs_float(a);
                theta = atan2f(a.imag, a.real);
            }
            lnr = logf(r);
            z_r = expf(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cosf(z_theta);
            z.imag = z_r * sinf(z_theta);
            return z;
        }
    #endif
#endif

/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      return ::std::complex< double >(x, y);
    }
  #else
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      return x + y*(__pyx_t_double_complex)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      __pyx_t_double_complex z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif

/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
#else
    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    #if 1
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else if (fabs(b.real) >= fabs(b.imag)) {
            if (b.real == 0 && b.imag == 0) {
                return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
            } else {
                double r = b.imag / b.real;
                double s = (double)(1.0) / (b.real + b.imag * r);
                return __pyx_t_double_complex_from_parts(
                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
            }
        } else {
            double r = b.real / b.imag;
            double s = (double)(1.0) / (b.imag + b.real * r);
            return __pyx_t_double_complex_from_parts(
                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
        }
    }
    #else
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else {
            double denom = b.real * b.real + b.imag * b.imag;
            return __pyx_t_double_complex_from_parts(
                (a.real * b.real + a.imag * b.imag) / denom,
                (a.imag * b.real - a.real * b.imag) / denom);
        }
    }
    #endif
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
        __pyx_t_double_complex z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
        __pyx_t_double_complex z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if 1
        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrt(z.real*z.real + z.imag*z.imag);
          #else
            return hypot(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
            __pyx_t_double_complex z;
            double r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    double denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        return __Pyx_c_prod_double(a, a);
                    case 3:
                        z = __Pyx_c_prod_double(a, a);
                        return __Pyx_c_prod_double(z, a);
                    case 4:
                        z = __Pyx_c_prod_double(a, a);
                        return __Pyx_c_prod_double(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                } else if ((b.imag == 0) && (a.real >= 0)) {
                    z.real = pow(a.real, b.real);
                    z.imag = 0;
                    return z;
                } else if (a.real > 0) {
                    r = a.real;
                    theta = 0;
                } else {
                    r = -a.real;
                    theta = atan2(0.0, -1.0);
                }
            } else {
                r = __Pyx_c_abs_double(a);
                theta = atan2(a.imag, a.real);
            }
            lnr = log(r);
            z_r = exp(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cos(z_theta);
            z.imag = z_r * sin(z_theta);
            return z;
        }
    #endif
#endif

/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
      return ::std::complex< long double >(x, y);
    }
  #else
    static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
      return x + y*(__pyx_t_long_double_complex)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
      __pyx_t_long_double_complex z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif

/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
#else
    static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
        __pyx_t_long_double_complex z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
        __pyx_t_long_double_complex z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
        __pyx_t_long_double_complex z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    #if 1
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else if (fabsl(b.real) >= fabsl(b.imag)) {
            if (b.real == 0 && b.imag == 0) {
                return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
            } else {
                long double r = b.imag / b.real;
                long double s = (long double)(1.0) / (b.real + b.imag * r);
                return __pyx_t_long_double_complex_from_parts(
                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
            }
        } else {
            long double r = b.real / b.imag;
            long double s = (long double)(1.0) / (b.imag + b.real * r);
            return __pyx_t_long_double_complex_from_parts(
                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
        }
    }
    #else
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else {
            long double denom = b.real * b.real + b.imag * b.imag;
            return __pyx_t_long_double_complex_from_parts(
                (a.real * b.real + a.imag * b.imag) / denom,
                (a.imag * b.real - a.real * b.imag) / denom);
        }
    }
    #endif
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex a) {
        __pyx_t_long_double_complex z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex a) {
        __pyx_t_long_double_complex z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if 1
        static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrtl(z.real*z.real + z.imag*z.imag);
          #else
            return hypotl(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
            __pyx_t_long_double_complex z;
            long double r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    long double denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        return __Pyx_c_prod_long__double(a, a);
                    case 3:
                        z = __Pyx_c_prod_long__double(a, a);
                        return __Pyx_c_prod_long__double(z, a);
                    case 4:
                        z = __Pyx_c_prod_long__double(a, a);
                        return __Pyx_c_prod_long__double(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                } else if ((b.imag == 0) && (a.real >= 0)) {
                    z.real = powl(a.real, b.real);
                    z.imag = 0;
                    return z;
                } else if (a.real > 0) {
                    r = a.real;
                    theta = 0;
                } else {
                    r = -a.real;
                    theta = atan2l(0.0, -1.0);
                }
            } else {
                r = __Pyx_c_abs_long__double(a);
                theta = atan2l(a.imag, a.real);
            }
            lnr = logl(r);
            z_r = expl(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cosl(z_theta);
            z.imag = z_r * sinl(z_theta);
            return z;
        }
    #endif
#endif

/* MemviewSliceCopyTemplate */
  static __Pyx_memviewslice
__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,
                                 const char *mode, int ndim,
                                 size_t sizeof_dtype, int contig_flag,
                                 int dtype_is_object)
{
    __Pyx_RefNannyDeclarations
    int i;
    __Pyx_memviewslice new_mvs = { 0, 0, { 0 }, { 0 }, { 0 } };
    struct __pyx_memoryview_obj *from_memview = from_mvs->memview;
    Py_buffer *buf = &from_memview->view;
    PyObject *shape_tuple = NULL;
    PyObject *temp_int = NULL;
    struct __pyx_array_obj *array_obj = NULL;
    struct __pyx_memoryview_obj *memview_obj = NULL;
    __Pyx_RefNannySetupContext("__pyx_memoryview_copy_new_contig", 0);
    for (i = 0; i < ndim; i++) {
        if (unlikely(from_mvs->suboffsets[i] >= 0)) {
            PyErr_Format(PyExc_ValueError, "Cannot copy memoryview slice with "
                                           "indirect dimensions (axis %d)", i);
            goto fail;
        }
    }
    shape_tuple = PyTuple_New(ndim);
    if (unlikely(!shape_tuple)) {
        goto fail;
    }
    __Pyx_GOTREF(shape_tuple);
    for(i = 0; i < ndim; i++) {
        temp_int = PyInt_FromSsize_t(from_mvs->shape[i]);
        if(unlikely(!temp_int)) {
            goto fail;
        } else {
            PyTuple_SET_ITEM(shape_tuple, i, temp_int);
            temp_int = NULL;
        }
    }
    array_obj = __pyx_array_new(shape_tuple, sizeof_dtype, buf->format, (char *) mode, NULL);
    if (unlikely(!array_obj)) {
        goto fail;
    }
    __Pyx_GOTREF(array_obj);
    memview_obj = (struct __pyx_memoryview_obj *) __pyx_memoryview_new(
                                    (PyObject *) array_obj, contig_flag,
                                    dtype_is_object,
                                    from_mvs->memview->typeinfo);
    if (unlikely(!memview_obj))
        goto fail;
    if (unlikely(__Pyx_init_memviewslice(memview_obj, ndim, &new_mvs, 1) < 0))
        goto fail;
    if (unlikely(__pyx_memoryview_copy_contents(*from_mvs, new_mvs, ndim, ndim,
                                                dtype_is_object) < 0))
        goto fail;
    goto no_fail;
fail:
    __Pyx_XDECREF(new_mvs.memview);
    new_mvs.memview = NULL;
    new_mvs.data = NULL;
no_fail:
    __Pyx_XDECREF(shape_tuple);
    __Pyx_XDECREF(temp_int);
    __Pyx_XDECREF(array_obj);
    __Pyx_RefNannyFinishContext();
    return new_mvs;
}

/* MemviewSliceInit */
  static int
__Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,
                        int ndim,
                        __Pyx_memviewslice *memviewslice,
                        int memview_is_new_reference)
{
    __Pyx_RefNannyDeclarations
    int i, retval=-1;
    Py_buffer *buf = &memview->view;
    __Pyx_RefNannySetupContext("init_memviewslice", 0);
    if (unlikely(memviewslice->memview || memviewslice->data)) {
        PyErr_SetString(PyExc_ValueError,
            "memviewslice is already initialized!");
        goto fail;
    }
    if (buf->strides) {
        for (i = 0; i < ndim; i++) {
            memviewslice->strides[i] = buf->strides[i];
        }
    } else {
        Py_ssize_t stride = buf->itemsize;
        for (i = ndim - 1; i >= 0; i--) {
            memviewslice->strides[i] = stride;
            stride *= buf->shape[i];
        }
    }
    for (i = 0; i < ndim; i++) {
        memviewslice->shape[i]   = buf->shape[i];
        if (buf->suboffsets) {
            memviewslice->suboffsets[i] = buf->suboffsets[i];
        } else {
            memviewslice->suboffsets[i] = -1;
        }
    }
    memviewslice->memview = memview;
    memviewslice->data = (char *)buf->buf;
    if (__pyx_add_acquisition_count(memview) == 0 && !memview_is_new_reference) {
        Py_INCREF(memview);
    }
    retval = 0;
    goto no_fail;
fail:
    memviewslice->memview = 0;
    memviewslice->data = 0;
    retval = -1;
no_fail:
    __Pyx_RefNannyFinishContext();
    return retval;
}
#ifndef Py_NO_RETURN
#define Py_NO_RETURN
#endif
static void __pyx_fatalerror(const char *fmt, ...) Py_NO_RETURN {
    va_list vargs;
    char msg[200];
#if PY_VERSION_HEX >= 0x030A0000 || defined(HAVE_STDARG_PROTOTYPES)
    va_start(vargs, fmt);
#else
    va_start(vargs);
#endif
    vsnprintf(msg, 200, fmt, vargs);
    va_end(vargs);
    Py_FatalError(msg);
}
static CYTHON_INLINE int
__pyx_add_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
                                   PyThread_type_lock lock)
{
    int result;
    PyThread_acquire_lock(lock, 1);
    result = (*acquisition_count)++;
    PyThread_release_lock(lock);
    return result;
}
static CYTHON_INLINE int
__pyx_sub_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
                                   PyThread_type_lock lock)
{
    int result;
    PyThread_acquire_lock(lock, 1);
    result = (*acquisition_count)--;
    PyThread_release_lock(lock);
    return result;
}
static CYTHON_INLINE void
__Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice, int have_gil, int lineno)
{
    __pyx_nonatomic_int_type old_acquisition_count;
    struct __pyx_memoryview_obj *memview = memslice->memview;
    if (unlikely(!memview || (PyObject *) memview == Py_None)) {
        return;
    }
    old_acquisition_count = __pyx_add_acquisition_count(memview);
    if (unlikely(old_acquisition_count <= 0)) {
        if (likely(old_acquisition_count == 0)) {
            if (have_gil) {
                Py_INCREF((PyObject *) memview);
            } else {
                PyGILState_STATE _gilstate = PyGILState_Ensure();
                Py_INCREF((PyObject *) memview);
                PyGILState_Release(_gilstate);
            }
        } else {
            __pyx_fatalerror("Acquisition count is %d (line %d)",
                             old_acquisition_count+1, lineno);
        }
    }
}
static CYTHON_INLINE void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *memslice,
                                             int have_gil, int lineno) {
    __pyx_nonatomic_int_type old_acquisition_count;
    struct __pyx_memoryview_obj *memview = memslice->memview;
    if (unlikely(!memview || (PyObject *) memview == Py_None)) {
        memslice->memview = NULL;
        return;
    }
    old_acquisition_count = __pyx_sub_acquisition_count(memview);
    memslice->data = NULL;
    if (likely(old_acquisition_count > 1)) {
        memslice->memview = NULL;
    } else if (likely(old_acquisition_count == 1)) {
        if (have_gil) {
            Py_CLEAR(memslice->memview);
        } else {
            PyGILState_STATE _gilstate = PyGILState_Ensure();
            Py_CLEAR(memslice->memview);
            PyGILState_Release(_gilstate);
        }
    } else {
        __pyx_fatalerror("Acquisition count is %d (line %d)",
                         old_acquisition_count-1, lineno);
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
  static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(int) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(PY_LONG_LONG) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (PY_LONG_LONG) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (PY_LONG_LONG) -1;
        val = __Pyx_PyInt_As_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) >= 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (PY_LONG_LONG) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                            return (PY_LONG_LONG) ((((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(PY_LONG_LONG) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        PY_LONG_LONG val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (PY_LONG_LONG) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (PY_LONG_LONG) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (PY_LONG_LONG) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (PY_LONG_LONG) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(PY_LONG_LONG) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((PY_LONG_LONG) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(PY_LONG_LONG) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((PY_LONG_LONG) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((PY_LONG_LONG) 1) << (sizeof(PY_LONG_LONG) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (PY_LONG_LONG) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
  static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(unsigned int) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned int) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyInt_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        unsigned int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_positioning __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_positioning neg_one = (enum __pyx_t_9dearcygui_4core_positioning) -1, const_zero = (enum __pyx_t_9dearcygui_4core_positioning) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_9dearcygui_4core_positioning) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_9dearcygui_4core_positioning) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_9dearcygui_4core_positioning val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_9dearcygui_4core_positioning) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_positioning(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((((enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((((((enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((((((((enum __pyx_t_9dearcygui_4core_positioning)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_9dearcygui_4core_positioning) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_positioning, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((enum __pyx_t_9dearcygui_4core_positioning)-1)*(((((enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) ((((((enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((enum __pyx_t_9dearcygui_4core_positioning)-1)*(((((((enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) ((((((((enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) (((enum __pyx_t_9dearcygui_4core_positioning)-1)*(((((((((enum __pyx_t_9dearcygui_4core_positioning)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_positioning, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_positioning) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_positioning) ((((((((((enum __pyx_t_9dearcygui_4core_positioning)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_positioning)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_positioning, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_positioning, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_9dearcygui_4core_positioning val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_9dearcygui_4core_positioning) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_9dearcygui_4core_positioning) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_9dearcygui_4core_positioning");
    return (enum __pyx_t_9dearcygui_4core_positioning) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_9dearcygui_4core_positioning");
    return (enum __pyx_t_9dearcygui_4core_positioning) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_alignment __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_alignment(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_alignment neg_one = (enum __pyx_t_9dearcygui_4core_alignment) -1, const_zero = (enum __pyx_t_9dearcygui_4core_alignment) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_9dearcygui_4core_alignment) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_9dearcygui_4core_alignment) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_9dearcygui_4core_alignment val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_9dearcygui_4core_alignment) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_alignment(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((((enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((((((enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((((((((enum __pyx_t_9dearcygui_4core_alignment)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_9dearcygui_4core_alignment) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_alignment, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((enum __pyx_t_9dearcygui_4core_alignment)-1)*(((((enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) ((((((enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((enum __pyx_t_9dearcygui_4core_alignment)-1)*(((((((enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) ((((((((enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) (((enum __pyx_t_9dearcygui_4core_alignment)-1)*(((((((((enum __pyx_t_9dearcygui_4core_alignment)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_alignment, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_alignment) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_alignment) ((((((((((enum __pyx_t_9dearcygui_4core_alignment)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_alignment)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_alignment, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_alignment, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_9dearcygui_4core_alignment val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_9dearcygui_4core_alignment) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_9dearcygui_4core_alignment) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_9dearcygui_4core_alignment");
    return (enum __pyx_t_9dearcygui_4core_alignment) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_9dearcygui_4core_alignment");
    return (enum __pyx_t_9dearcygui_4core_alignment) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_AxisScale __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_AxisScale(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_AxisScale neg_one = (enum __pyx_t_9dearcygui_4core_AxisScale) -1, const_zero = (enum __pyx_t_9dearcygui_4core_AxisScale) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_9dearcygui_4core_AxisScale) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_9dearcygui_4core_AxisScale val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_AxisScale(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((enum __pyx_t_9dearcygui_4core_AxisScale)-1)*(((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) ((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((enum __pyx_t_9dearcygui_4core_AxisScale)-1)*(((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) ((((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) (((enum __pyx_t_9dearcygui_4core_AxisScale)-1)*(((((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_AxisScale, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_AxisScale) ((((((((((enum __pyx_t_9dearcygui_4core_AxisScale)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_AxisScale)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_AxisScale, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_AxisScale, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_9dearcygui_4core_AxisScale val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_9dearcygui_4core_AxisScale");
    return (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_9dearcygui_4core_AxisScale");
    return (enum __pyx_t_9dearcygui_4core_AxisScale) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE enum __pyx_t_9dearcygui_4core_LegendLocation __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_LegendLocation(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_LegendLocation neg_one = (enum __pyx_t_9dearcygui_4core_LegendLocation) -1, const_zero = (enum __pyx_t_9dearcygui_4core_LegendLocation) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_9dearcygui_4core_LegendLocation) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        enum __pyx_t_9dearcygui_4core_LegendLocation val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_9dearcygui_4core_LegendLocation(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) >= 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) >= 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) >= 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((enum __pyx_t_9dearcygui_4core_LegendLocation)-1)*(((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 2 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) ((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((enum __pyx_t_9dearcygui_4core_LegendLocation)-1)*(((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 3 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) ((((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) (((enum __pyx_t_9dearcygui_4core_LegendLocation)-1)*(((((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_9dearcygui_4core_LegendLocation, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) - 1 > 4 * PyLong_SHIFT)) {
                            return (enum __pyx_t_9dearcygui_4core_LegendLocation) ((((((((((enum __pyx_t_9dearcygui_4core_LegendLocation)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_9dearcygui_4core_LegendLocation)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_LegendLocation, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_9dearcygui_4core_LegendLocation, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        enum __pyx_t_9dearcygui_4core_LegendLocation val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() or PyLong_AsNativeBytes() not available, cannot convert large enums");
        val = (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
#endif
        if (unlikely(ret))
            return (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_9dearcygui_4core_LegendLocation");
    return (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_9dearcygui_4core_LegendLocation");
    return (enum __pyx_t_9dearcygui_4core_LegendLocation) -1;
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(PY_LONG_LONG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(PY_LONG_LONG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(PY_LONG_LONG),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(PY_LONG_LONG));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
  static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const char neg_one = (char) -1, const_zero = (char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(char) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (char) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (char) -1;
        val = __Pyx_PyInt_As_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 2 * PyLong_SHIFT)) {
                            return (char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 3 * PyLong_SHIFT)) {
                            return (char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) >= 4 * PyLong_SHIFT)) {
                            return (char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (char) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(char) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(char) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(char) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                            return (char) ((((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                            return (char) ((((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                            return (char) (((char)-1)*(((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                            return (char) ((((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(char) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(char) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        char val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (char) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (char) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (char) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (char) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(char) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((char) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(char) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((char) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((char) 1) << (sizeof(char) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (char) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to char");
    return (char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to char");
    return (char) -1;
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImGuiButtonFlags(ImGuiButtonFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const ImGuiButtonFlags neg_one = (ImGuiButtonFlags) -1, const_zero = (ImGuiButtonFlags) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(ImGuiButtonFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(ImGuiButtonFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImGuiButtonFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(ImGuiButtonFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImGuiButtonFlags) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(ImGuiButtonFlags),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(ImGuiButtonFlags));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImGuiKey(enum ImGuiKey value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum ImGuiKey neg_one = (enum ImGuiKey) -1, const_zero = (enum ImGuiKey) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum ImGuiKey) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum ImGuiKey) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImGuiKey) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum ImGuiKey) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImGuiKey) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum ImGuiKey),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum ImGuiKey));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImGuiMouseButton_(enum ImGuiMouseButton_ value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum ImGuiMouseButton_ neg_one = (enum ImGuiMouseButton_) -1, const_zero = (enum ImGuiMouseButton_) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum ImGuiMouseButton_) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum ImGuiMouseButton_) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImGuiMouseButton_) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum ImGuiMouseButton_) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImGuiMouseButton_) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum ImGuiMouseButton_),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum ImGuiMouseButton_));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImGuiKeyChord(ImGuiKeyChord value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const ImGuiKeyChord neg_one = (ImGuiKeyChord) -1, const_zero = (ImGuiKeyChord) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(ImGuiKeyChord) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(ImGuiKeyChord) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImGuiKeyChord) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(ImGuiKeyChord) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImGuiKeyChord) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(ImGuiKeyChord),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(ImGuiKeyChord));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ImAxis_(enum ImAxis_ value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum ImAxis_ neg_one = (enum ImAxis_) -1, const_zero = (enum ImAxis_) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum ImAxis_) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum ImAxis_) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImAxis_) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum ImAxis_) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum ImAxis_) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum ImAxis_),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum ImAxis_));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_ImU32(ImU32 value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const ImU32 neg_one = (ImU32) -1, const_zero = (ImU32) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(ImU32) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(ImU32) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImU32) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(ImU32) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(ImU32) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(ImU32),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(ImU32));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_Axis(enum __pyx_t_9dearcygui_4core_Axis value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_Axis neg_one = (enum __pyx_t_9dearcygui_4core_Axis) -1, const_zero = (enum __pyx_t_9dearcygui_4core_Axis) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_Axis) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_Axis) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_Axis) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_Axis) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_Axis) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_Axis),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_Axis));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_AxisScale(enum __pyx_t_9dearcygui_4core_AxisScale value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_AxisScale neg_one = (enum __pyx_t_9dearcygui_4core_AxisScale) -1, const_zero = (enum __pyx_t_9dearcygui_4core_AxisScale) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_AxisScale) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_AxisScale),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_AxisScale));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_LegendLocation(enum __pyx_t_9dearcygui_4core_LegendLocation value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_LegendLocation neg_one = (enum __pyx_t_9dearcygui_4core_LegendLocation) -1, const_zero = (enum __pyx_t_9dearcygui_4core_LegendLocation) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_LegendLocation));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_alignment(enum __pyx_t_9dearcygui_4core_alignment value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_alignment neg_one = (enum __pyx_t_9dearcygui_4core_alignment) -1, const_zero = (enum __pyx_t_9dearcygui_4core_alignment) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_alignment) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_alignment) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_alignment),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_alignment));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_mouse_cursor(enum __pyx_t_9dearcygui_4core_mouse_cursor value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_mouse_cursor neg_one = (enum __pyx_t_9dearcygui_4core_mouse_cursor) -1, const_zero = (enum __pyx_t_9dearcygui_4core_mouse_cursor) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_mouse_cursor));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_positioning(enum __pyx_t_9dearcygui_4core_positioning value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_positioning neg_one = (enum __pyx_t_9dearcygui_4core_positioning) -1, const_zero = (enum __pyx_t_9dearcygui_4core_positioning) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_positioning) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_positioning) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_positioning),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_positioning));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_categories(enum __pyx_t_9dearcygui_4core_theme_categories value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_theme_categories neg_one = (enum __pyx_t_9dearcygui_4core_theme_categories) -1, const_zero = (enum __pyx_t_9dearcygui_4core_theme_categories) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_theme_categories) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_categories) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_categories) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_theme_categories) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_categories) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_theme_categories),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_theme_categories));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_9dearcygui_4core_theme_enablers(enum __pyx_t_9dearcygui_4core_theme_enablers value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_9dearcygui_4core_theme_enablers neg_one = (enum __pyx_t_9dearcygui_4core_theme_enablers) -1, const_zero = (enum __pyx_t_9dearcygui_4core_theme_enablers) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_9dearcygui_4core_theme_enablers));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
  static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(size_t) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 2 * PyLong_SHIFT)) {
                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 3 * PyLong_SHIFT)) {
                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 4 * PyLong_SHIFT)) {
                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (size_t) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(size_t) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(size_t) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(size_t) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        size_t val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (size_t) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (size_t) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (size_t) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (size_t) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(size_t) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((size_t) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(size_t) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((size_t) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((size_t) 1) << (sizeof(size_t) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (size_t) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntFromPy */
  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(long) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    }
#endif
    if (unlikely(!PyLong_Check(x))) {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (long) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(long) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(long) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
        } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
        }
    }
    {
        long val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (long) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (long) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (long) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (long) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((long) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((long) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (long) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* FormatTypeName */
  #if CYTHON_COMPILING_IN_LIMITED_API
static __Pyx_TypeName
__Pyx_PyType_GetName(PyTypeObject* tp)
{
    PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_n_s_name_2);
    if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
        PyErr_Clear();
        Py_XDECREF(name);
        name = __Pyx_NewRef(__pyx_n_s__401);
    }
    return name;
}
#endif

/* CheckBinaryVersion */
  static unsigned long __Pyx_get_runtime_version(void) {
#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
    return Py_Version & ~0xFFUL;
#else
    const char* rt_version = Py_GetVersion();
    unsigned long version = 0;
    unsigned long factor = 0x01000000UL;
    unsigned int digit = 0;
    int i = 0;
    while (factor) {
        while ('0' <= rt_version[i] && rt_version[i] <= '9') {
            digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
            ++i;
        }
        version += factor * digit;
        if (rt_version[i] != '.')
            break;
        digit = 0;
        factor >>= 8;
        ++i;
    }
    return version;
#endif
}
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
    const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
    if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
        return 0;
    if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
        return 1;
    {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compile time Python version %d.%d "
                      "of module '%.100s' "
                      "%s "
                      "runtime version %d.%d",
                       (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
                       __Pyx_MODULE_NAME,
                       (allow_newer) ? "was newer than" : "does not match",
                       (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
       );
        return PyErr_WarnEx(NULL, message, 1);
    }
}

/* FunctionExport */
  static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
    if (!d) {
        PyErr_Clear();
        d = PyDict_New();
        if (!d)
            goto bad;
        Py_INCREF(d);
        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
            goto bad;
    }
    tmp.fp = f;
    cobj = PyCapsule_New(tmp.p, sig, 0);
    if (!cobj)
        goto bad;
    if (PyDict_SetItemString(d, name, cobj) < 0)
        goto bad;
    Py_DECREF(cobj);
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(cobj);
    Py_XDECREF(d);
    return -1;
}

/* InitStrings */
  #if PY_MAJOR_VERSION >= 3
static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) {
    if (t.is_unicode | t.is_str) {
        if (t.intern) {
            *str = PyUnicode_InternFromString(t.s);
        } else if (t.encoding) {
            *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL);
        } else {
            *str = PyUnicode_FromStringAndSize(t.s, t.n - 1);
        }
    } else {
        *str = PyBytes_FromStringAndSize(t.s, t.n - 1);
    }
    if (!*str)
        return -1;
    if (PyObject_Hash(*str) == -1)
        return -1;
    return 0;
}
#endif
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION >= 3
        __Pyx_InitString(*t, t->p);
        #else
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        #endif
        ++t;
    }
    return 0;
}

#include <string.h>
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
    size_t len = strlen(s);
    if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
        PyErr_SetString(PyExc_OverflowError, "byte string is too long");
        return -1;
    }
    return (Py_ssize_t) len;
}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#if !CYTHON_PEP393_ENABLED
static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    char* defenc_c;
    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
    if (!defenc) return NULL;
    defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    {
        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
        char* c;
        for (c = defenc_c; c < end; c++) {
            if ((unsigned char) (*c) >= 128) {
                PyUnicode_AsASCIIString(o);
                return NULL;
            }
        }
    }
#endif
    *length = PyBytes_GET_SIZE(defenc);
    return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
}
#endif
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
    __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result));
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ").  "
                "The ability to return an instance of a strict subclass of int is deprecated, "
                "and may be removed in a future version of Python.",
                result_type_name)) {
            __Pyx_DECREF_TypeName(result_type_name);
            Py_DECREF(result);
            return NULL;
        }
        __Pyx_DECREF_TypeName(result_type_name);
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")",
                 type_name, type_name, result_type_name);
    __Pyx_DECREF_TypeName(result_type_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
  if (likely(PyLong_Check(x)))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = m->nb_int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = m->nb_long(x);
  }
  #else
  if (likely(m && m->nb_int)) {
    name = "int";
    res = m->nb_int(x);
  }
  #endif
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
    res = PyNumber_Int(x);
  }
#endif
  if (likely(res)) {
#if PY_MAJOR_VERSION < 3
    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
    if (unlikely(!PyLong_CheckExact(res))) {
#endif
        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(b);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(__Pyx_PyLong_IsCompact(b))) {
        return __Pyx_PyLong_CompactValue(b);
    } else {
      const digit* digits = __Pyx_PyLong_Digits(b);
      const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
#if PY_MAJOR_VERSION < 3
  } else if (likely(PyInt_CheckExact(o))) {
    return PyInt_AS_LONG(o);
#endif
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyInt_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


/* #### Code section: utility_code_pragmas_end ### */
#ifdef _MSC_VER
#pragma warning( pop )
#endif



/* #### Code section: end ### */
#endif /* Py_PYTHON_H */
